我一直在尝试使用我的 Wavecom Fastrack 调制解调器进行 TCP 通信。我想要实现的是让调制解调器连接到指定的 TCP 服务器端口,以使我能够与服务器传输数据。我在用户指南中找到了一些关于比的信息。根据您在第 66 页上可以找到的信息,我创建了一个应用程序,该应用程序打开调制解调器所连接的串行端口并写入以下 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
这正是用户指南所说的。最后一条命令发送到调制解调器后,设备切换到数据交换模式,从那时起,写入我的应用程序打开的串行端口的所有内容都应该被服务器接收,服务器发送的所有内容都应该出现在输入缓冲区中那个港口的。
问题是我没有设法在服务器和我的调制解调器之间保持稳定的双向通信。当我将一些数据写入串口(只有几个字节)时,数据出现在服务器端需要很长时间,并且在很多情况下数据根本没有到达服务器。
我执行了一些测试,一次将大约 100 个字节写入串行端口。记录我的服务器应用程序接收到的数据我注意到第一条数据(8-35 字节)在一两秒后被接收到。其余数据在 2-5 秒内出现(作为整体或以所述大小的一部分出现)或根本不出现。
我不知道在哪里寻找这种行为的原因。我是否使用了错误的 AT 命令将调制解调器切换到 TCP 客户端模式?我不敢相信通讯会如此缓慢和不稳定。
任何建议将被认真考虑。先感谢您。