Доброго времени суток. Пытаюсь с помощью SIM900 осуществить TCP соединение с сервером, с целью обмена данными по протоколу HTTP. Применяю следующий алгоритм:
1) Подаю питание на модуль
2) Жду пока он зарегистрируется в сети
3) Подключаю сервис GPRS командой AT+CGATT=1
4) Устанавливаю тип соединения (GPRS) командой AT+CIPCSGP=1,"internet.mts.ru","mts","mts"
5) Устанавливаю TCP соединение с сервером командой AT+CIPSTART="TCP","IP-адрес сервера","80"
6) Вхожу в режим передачи данных на сервер командой AT+CIPSEND
7) Жду от SIM900 приглашения к началу передачи данных (символ '>')
8) Отправляю HTTP-запрос вида:
GET http://адрес.ru/index.php?параметры
HTTP/1.0
Host: адрес.ru
признак конца HTTP-запроса (2 байта 0x0A)
9) Посылаю признак конца блока данных (0x1A)
10) Считываю данные, пришедшие от сервера
11) Жду от модуля сообщение CLOSED
12) Выполняю текущие операции
13) Переход к п. 5)
В принципе, алгоритм работает, но бывает, что после нескольких соединений происходит зависание на п. 7. Так еще, после отправки команды AT+CIPSEND приглашения > не приходит.
Подскажите пожалуйста, что я делаю не так?