[Из песочницы] STM32 + PPP (GSM) + LwIP

Большинство GSM модулей работают по интерфейсу UART, посредством AT-команд. Но для серьезных проектов, использование AT команд несет определенные трудности:


• контроль и обработка ошибок

• результат выполнения команды возвращается с длительной задержкой

• необходимо разбирать входящие строки налету


Нужно понимать, что с результатом выполнения команды, в буфер может попасть URC-код от входящего звонка, SMS, принятые данные и пр. Входной буфер с принятыми строками, приходится разбирать опираясь лишь на символы переносов и «эхо» команды, а сами команды зачастую сильно отличаются форматом. По этим причинам, использование AT вносит дополнительную задержку, алгоритмически ее устранить практически невозможно, ведь причина находится в самом модуле и несовершенстве его встроенного ПО


В этом примере я использовал SIM800C. Посмотрев спецификацию и убедившись в поддержке PPP, стал изучать способы реализации. Для использования PPP, модуль переключается несколькими настроечными командами, после этого режим AT становится недоступным и фактически идет общение с вышкой оператора напрямую, минуя внутренний стек модуля, что позволяет значительно ускорить обмен данными.


Пример PPP-пакета:


Читать дальше →
[Из песочницы] STM32 + PPP (GSM) + LwIP
Source: habrahabr

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *