Я пытаюсь выполнить TCP-связь, используя модем Wavecom Fastrack. Я хочу добиться того, чтобы модем подключился к указанному порту TCP-сервера, чтобы я мог передавать данные на сервер и с него. Я нашел некоторую информацию, чем в the user's guide. Основываясь на информации, которую вы можете найти на странице 66 Я создал приложение, которое открывает последовательный порт, к которому подключен модем и записывает следующие AT команды:Модем Wavecom GSM как клиент TCP
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-клиента? Я не могу поверить, что общение может быть настолько медленным и неустойчивым.
Любые советы будут оценены. Заранее спасибо.
Hi. Спасибо за ответ. Дело в том, что я хотел контролировать способ перемещения данных на сервер. Я не хотел, чтобы модем передавал данные, когда есть доступ к Интернет-сети. Даже когда я установил приоритеты подключения в конфигурации расширенных подключений, все данные были переданы модемом. Если дело доходит до модемных соединений TCP-клиента, я, наконец, сумел обработать их должным образом. –