Pregunta

He estado tratando de hacer la comunicación TCP usando el módem Wavecom Fastrack. Lo que queremos lograr es hacer que el módem se conecta a un puerto del servidor TCP indicado que me permita transferir datos hacia y desde el servidor. He encontrado algo de información sobre que en guía del usuario . Basándose en la información que puede encontrar en la página 66 he creado una aplicación que abre el puerto serie al que está conectado el módem y escribe los siguientes comandos AT:

AT+WIPCFG=1 //start IP stack
AT+WIPBR=1,6 //open GPRS bearer
AT+WIPBR=2,6,11,"APN" //set APN of GPRS bearer
AT+WIPBR=2,6,0 //username
AT+WIPBR=2,6,1 //password
AT+WIPBR=4,6,0 //start GPRS bearer

AT+WIPCREATE=2,1,"server_ip_address",server_port //create a TCP client on port "server_port"

AT+WIPDATA=2,1,1 //switch do data exchange mode

Esto es exactamente lo que dice la guía del usuario. Después de la última orden se envía al módem, el dispositivo cambia al modo de intercambio de datos y de ahí en adelante todo lo que está escrito en el puerto serie abierta por mi solicitud debe ser recibida por el servidor y todo lo que el servidor envía debe aparecer en el buffer de entrada de ese puerto.

Lo que pasa es que no me las arreglo para mantener una comunicación bidireccional estable entre el servidor y el módem. Cuando escribo algunos datos al puerto serie (sólo unos pocos bytes), se tarda mucho tiempo antes de que aparezca de datos en el lado del servidor y en muchos casos los datos no llega al servidor en absoluto.

Me lleva a cabo algunas pruebas que escriben sobre 100 bytes al puerto serie a la vez. Registro de los datos recibidos por mi aplicación de servidor me di cuenta de que la primera pieza de datos (8-35 bytes) se recibe después de un segundo o dos. El resto de los datos aparecen en 2-5 segundos (ya sea como un todo o en trozos de dicho tamaño) o no aparece en absoluto.

No sé dónde buscar la razón de ese comportamiento. ¿Usé comandos AT equivocadas para cambiar el módem en modo cliente TCP? No puedo creer que la comunicación puede ser tan lento e inestable.

Cualquier consejo será apreciado. Gracias de antemano.

¿Fue útil?

Solución

qué sistema operativo que se ejecuta? Ventanas hace un trabajo bastante bueno de ocultar los detalles sucios de la comunicación con el módem GPRS, todo lo que tiene que hacer es crear una nueva conexión de acceso telefónico. Para establecer la conexión se puede hacer una llamada a la función Win32 Rasdial. Una vez conectado, puede utilizar sockets estándar para la transferencia de datos en un puerto TCP.

Otros consejos

He estado usando el módem wavecomm durante 2 años now.As lo que sé de mi experiencia es que si usted es capaz de enviar algunos de los datos que podrá enviar todos los datos.

el problema podría estar en la aplicación de escucha que recibe los datos en el lado del servidor. Podría ser que no es capaz de hacer frente a la cantidad de datos que está intentando enviar.

intente enviar los mismos datos en bustos más pequeños  con cierto retraso entre ellos, entonces es posible que reciba todos los datos intactos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top