Question

J'ai essayé de faire la communication TCP avec mon modem Fastrack de Wavecom. Ce que je veux réaliser est de faire le modem se connecter à un port de serveur TCP spécifié pour me permettre de transférer des données vers et à partir du serveur. J'ai trouvé quelques informations sur que dans guide de l'utilisateur . La lumière des informations que vous trouverez à la page 66, j'ai créé une application qui ouvre le port série auquel le modem est connecté et écrit les commandes AT suivantes:

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

Ceci est exactement ce que le guide de l'utilisateur dit. Après la dernière commande est envoyée au modem, l'appareil passe en mode d'échange de données et à partir de là tout ce qui est écrit sur le port série ouvert par ma demande doit être reçue par le serveur et tout ce que le serveur envoie doit apparaître dans le tampon d'entrée de ce port.

La chose est que je ne l'ai pas réussi à maintenir une communication bidirectionnelle stable entre le serveur et mon modem. Quand j'écris des données sur le port série (seulement quelques octets), il faut beaucoup de temps avant que les données apparaissent sur le côté du serveur et dans de nombreux cas, les données n'atteint pas le serveur du tout.

J'effectué quelques tests d'écriture sur 100 octets au port série à la fois. La consignation des données reçues par mon application serveur j'ai remarqué que la première donnée (8-35 octets) est reçue après une seconde ou deux. Le reste des données apparaît dans 2-5 secondes (soit en totalité ou en morceaux de ladite taille) ou ne semble pas du tout.

Je ne sais pas où chercher la raison de ce comportement. Ai-je utilisé mal les commandes AT pour passer le modem en mode client TCP? Je ne peux pas croire la communication peut être si lent et instable.

Un conseil sera apprécié. Nous vous remercions à l'avance.

Était-ce utile?

La solution

Quel système d'exploitation utilisez-vous? Windows fait un assez bon travail de cacher les détails méprisables de communiquer avec le modem GPRS, tout ce que vous devez faire est de créer une nouvelle connexion dial-up. Pour établir la connexion, vous pouvez faire un appel à la fonction RasDial Win32. Une fois connecté, vous pouvez utiliser les sockets standard pour transférer des données sur un port TCP.

Autres conseils

J'utilise un modem wavecomm pendant 2 ans now.As autant que je sache de mon expérience est que si vous êtes en mesure d'envoyer quelques-unes des données vous pouvez envoyer toutes les données.

le problème est peut-être dans l'application d'écoute qui reçoit les données du côté du serveur. Il pourrait être qu'il est incapable de traiter la quantité de données que vous essayez d'envoyer.

essayez d'envoyer les mêmes données dans des bustes plus petits  avec un certain retard entre eux, alors vous pouvez recevoir toutes les données intactes.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top