Добрый день!
В процессе работы с модулем SIM5320 возникла следующая проблема.
При попытке соединения с недоступным сервером (AT+CIPOPEN=...), модем перестает отвечать на время таймаута, равное 2-м минутам. Раньше я работал с модулем SIM900. В аналогичной ситуации модем продолжал отвечать, а статус ТСР-канала можно было посмотреть при помощи команды AT+CIPSTATUS? Обычно в таком случае высвечивалось состояние CONNECTING, и я понимал, что пока канал не готов, но можно работать на других каналах.
В SIM5320 команды "AT+CIPSTATUS?" нет, вместо нее я использую "AT+CIPOPEN?". Но она показывает только два состояния - подключен/отключен. Причем пока модем пытается подключиться, он не отвечает на АТ-команды, а SIM900 отвечал.
Для решения проблемы вначале попробовал с помощью команды AT+CIPCCFG ввести модем в асинхронный режим, но мне так неудобно, потребуется много изменений (раньше код был заточен под SIM900), хочется остаться в синхронном режиме, но не ждать 2 минуты подключения к серверу.
Есть команды "AT+CIPTIMEOUT=x,y,z", где x,y,z - время в миллисекундах для команд NETOPEN, CIPOPEN и CIPSEND, соответственно. Максимальное значение там - как раз 2 минуты. Я пробовал выставлять меньше, но модем не реагирует. В даташите на команду AT+CIPOPEN вычитал, что команда CIPTIMEOUT используется только когда IP-адрес задан в виде доменного имени (у меня же голый IP-шник).
Так ли это? И если да, то какой есть еще способ сократить таймаут подключения к серверу?
Manufacturer: SIMCOM INCORPORATED
Model: SIMCOM_SIM5320E
Revision: SIM5320E_V1.5
+GCAP: +CGSM,+DS,+ES