FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour SMS - Problema con puertos seriales
Posts: 102
Joined: Fri Oct 14, 2005 12:03 AM
SMS - Problema con puertos seriales
Posted: Sun Dec 29, 2013 08:29 PM

Hola a todos...

Muchos tlf celulares disponibles en el mercado tienen una funcion de modem para env铆o y manipulacion de mensajes SMS...
en mi caso he estado haciendo algunas pruebas con el Motorola V3 y el HiperTerminal que forma parte de la distribucion de Windows XP, y realmente es muy facil dominar la comunicacion humano<-->modem a ese nivel...
Pero el caso no es ponerse con un programa terminal a enviar mensajes... lo interesante es automatizar eso e integrarlo a una aplicaci贸n hecha con FiveWin...

El problema que se me ha presentado es que los celulares que he probado, que tienen la funcion de modem para envio de SMS, asignan un puerto serial virtual... es decir, le dicen a Windows que estan disponibles por COM6 (por ejemplo) pero en la lista de dispositivos f铆sicos no existe COM6... pero al abrir el HiperTerminal, y alli esta el dispositivo COM6!!!

Ya con FW, cuando mando a abrir COM6 por medio de las funcion OpenComm( 'COM6' ), esta devuelve valores similares a cuando utilizo OpenComm( 'COM1' ) que si lo tengo fisicamente en la PC, pero cuando le toca a la funcion BuildCommDCB( 'COM6:2400,N,8,1', @cDCB ), esta devuelve .f. y, como es de l贸gica, no se puede enviar ya nada al modem.

Ahora, la gran pregunta es la siguiente...
hay alguna manera de poder manipular puertos COMxx virtuales con FiveWin??, o existe alguna librer铆a que se pueda utilizar con FiveWin que permita manipular esos puertos virtuales??

Gracias de antemano por sus comentarios...

Giancarlo J. Sabattino
Valencia - Venezuela

FW12.03 - xH 1.2001

Posts: 102
Joined: Fri Oct 14, 2005 12:03 AM
Re: SMS - Problema con puertos seriales
Posted: Mon Dec 30, 2013 02:42 AM
Bien mis queridos FiveWineros... he encontrado una solucion medio chapuza con una libreria HBComm que consegui... tiene una limitacion que no me gusta y se trata de que solo puedo tener un puerto serial asociado a la aplicaci贸n... pero es mejor que nada porque realmente hasta este momento no he logrado hacer que me funcionen las funciones que forman parte de FiveWin...
Probe las funciones de HBComm con varios puertos virtuales (COM9, COM12, COM18) asociados a telefonos celulares y hasta el momento de escribir esta nota han funcionado bien...

voy a pulir un poco mas las libs, pero aca les adelanto el programita de prueba...
Code (fw): Select all Collapse
// ===================================================================
static Procedure TestxHComm()
local     cPort     :='\\.\COM18',;    // "\\.\" requerido por los puertos COM > 9
          nComm     ,;
          cBuffer

nComm     :=Init_Port( cPort, 2400, 8, 0, 1, 1024 )
OutBufClr()
CommWrite( 'AT+CMGF=1'+chr( 13 ) )
cBuffer   :=CommRead()
SysWait( 0.1 )
CommWrite( 'AT+CMGS="04126838528"'+chr( 13 ) )
CommWrite( 'Mensaje enviado por medio de una aplicaci贸n xHarbour+FiveWin configurado como COM18'+chr( 26 ) )
SysWait( 5 )          // espere a que se envie el mensaje
cBuffer   :=CommRead()   // respuesta del modem: + CMGS: nn, o ERROR

UnInt_Port()
? ProcName(), ProcLine(), cBuffer

return


static function CommWrite( cText )

return    OutChr( cText )


static function CommRead()
local     cBuffer   ,;
          cText     :='',;
          nReceived :=1024,;
          nTimeOut  :=0.5

do while ( nReceived>0 ) .and. ( nTimeout>0 )
  cBuffer   :=''
  nReceived :=InbufSize()
  if nReceived>0
    cBuffer   :=Substr( InChr( nReceived ), 1 )
    cText     :=cText+cBuffer
    nTimeOut  :=0.5
  endif
  nTimeOut  :=nTimeOut-0.1
enddo

return    cText


Saludos desde Valencia - Venezuela
Giancarlo J. Sabattino
Posts: 654
Joined: Mon May 29, 2006 03:14 PM
Re: SMS - Problema con puertos seriales
Posted: Wed Jul 22, 2015 07:35 AM
Al compilar el ejemplo anterior me da estos errores:

Code (fw): Select all Collapse
Error: Unresolved external '_HB_FUN_HB_DEFAULT' referenced from D:\BASES\FWH1406\HARBOUR\LIB\HBCOMM.LIB|comm
Error: Unresolved external '_HB_FUN_HB_HDEL' referenced from D:\BASES\FWH1406\HARBOUR\LIB\HBCOMM.LIB|comm

Code (fw): Select all Collapse
Error: Unresolved external '_crc32' referenced from D:\BASES\FWH1409\XHARBOUR\LIB\PNG.LIB|png
Error: Unresolved external '_inflateReset' referenced from D:\BASES\FWH1409\XHARBOUR\LIB\PNG.LIB|png
Error: Unresolved external '_inflateInit_' referenced from D:\BASES\FWH1409\XHARBOUR\LIB\PNG.LIB|pngread
Error: Unresolved external '_inflate' referenced from D:\BASES\FWH1409\XHARBOUR\LIB\PNG.LIB|pngrutil
Error: Unresolved external '_inflateEnd' referenced from D:\BASES\FWH1409\XHARBOUR\LIB\PNG.LIB|pngread
Error: Unresolved external '_deflateEnd' referenced from D:\BASES\FWH1409\XHARBOUR\LIB\PNG.LIB|pngwutil
Error: Unresolved external '_deflateInit2_' referenced from D:\BASES\FWH1409\XHARBOUR\LIB\PNG.LIB|pngwutil
Error: Unresolved external '_deflateReset' referenced from D:\BASES\FWH1409\XHARBOUR\LIB\PNG.LIB|pngwutil
Error: Unresolved external '_deflate' referenced from D:\BASES\FWH1409\XHARBOUR\LIB\PNG.LIB|pngwutil
Mi abuelo dec铆a: Los aviones vuelan porque Dios quiere, y los helic贸pteros ni Dios sabe porque vuelan.

FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
Posts: 654
Joined: Mon May 29, 2006 03:14 PM
Re: SMS - Problema con puertos seriales
Posted: Wed Jul 22, 2015 08:31 PM
Al ejecutar me da este error:

Code (fw): Select all Collapse
Stack Calls
===========
聽 聽Called from: 聽=> HB_BLEN( 0 )
聽 聽Called from: contrib\hbcomm\comm.prg => OUTCHR( 0 )
聽 聽Called from: D:\Programa\EnviaSMS\EnviaSMS.prg => COMMWRITE( 79 )
聽 聽Called from: D:\Programa\EnviaSMS\EnviaSMS.prg => MAIN( 58 )


Code (fw): Select all Collapse
function main()
.../...
CommWrite( "AT+CMGF=1"+chr( 13 ) )
.../...
return nil
function CommWrite( cText )
return 聽 聽OutChr( cText )
Mi abuelo dec铆a: Los aviones vuelan porque Dios quiere, y los helic贸pteros ni Dios sabe porque vuelan.

FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013

Continue the discussion