Рубрика «PPP»

STM32 + PPP + GSM + LwIp + TLS 1.2 - 1

Недавно пришлось снова поднять PPP на STM32
Первая часть
Задача усложнилась обязательным требованием, использовать TLS 1.2 и отправлять данные по MQTT

Напомню, что MQTT и TLS находятся выше TCP (гуглим osi)

Беглый поиск выдал скудную таблицу результатов
Amazon FreeRTOS
очень похожая реализация от ST

В первом варианте оказалось около 10-ти различных архитектурных платформ
Как часто бывает, чип уже был выбрал и запаян на плату (STM32F429)
Ближайшим его родственником в списке оказался L475, под stm32l475_discovery соответственно
На этом отличая не закончились, в discovery используется WI-FI ISM43362-M3G-L44, он добавил сложности в понимании работы
Читать полностью »

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

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

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

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

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

STM32 + PPP (GSM) + LwIP - 1
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js