Чисто в познавательных целях пытаюсь пообщаться с MQTT сервером используя модуль SIM800L. Да, это извращение, но интересно. Выход в интернет и соединение с удалённым сервером особых проблем не вызвало. Модуль настраиваю на передачу данных в прозрачном режиме. Вот как этот режим описывает производитель То есть, что пихнул в UART модуля, то и пришло на сервер. Вот тут и возник дефицит знаний. К серверу я подключаюсь Код (C++): AT+CIPSTART="TCP","srv2.clusterfly.ru","9991" OK CONNECT OK но в каком виде надо отправлять логин, пароль и как оформить подписку на топик? Подскажите или ткните пальцем где об этом почитать.
Вижу тему, все руки не дойдут зайти ответить. Читать лучше всего в описании MQTT. Я пятую версию пока не читал вообще, читал про 3.1.1 Описание тут - https://mqtt.org/mqtt-specification/ Если приконектился к серверу то надо командой AT+CIPSEND передать пакет CONNECT из чего состоит и как формируется написано тут http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html#_Toc398718028 ежели у тебя правильно все и команда AT+CIPSEND отработала от в ответ получишь SEND OK, ну не значит что приконектился, значит что отправлено лови ответы +IPD смотри что ответил сервер. после этого можно тем же AT+CIPSEND отправлять публикацию на канал пакетом PUBLISH, читать тут про состав пакета http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html#_Toc398718037 с подпиской так же, типа отправил пакет SUBSCRIBE и ждешь когда от SIM800 в порт прилетит, отправляй каким нить MQTT клиентом сообщение и смотри что прилетело от SIM800 Может сумбурно написал, но в принципе там по ссылкам все есть. И еще одна на соседний форум http://arduino.ru/forum/programmirovanie/snova-mqtt-1#comment-411540 тут и ниже этого поста насписаны команды, показаны ответы SIM800 и есть примеры коннекта с MQTT и отправки сообщений в топики. ну это если хочется разбираться прям с нуля. а если нет ставь pubsubclient и пользуйся им.
Спасибо за ответ. Нашёл и я эту документацию. Плохо, конечно, без знания английского, но потихоньку разбираюсь. Какалерийским наскоком там не попрёшь. Сначала надо разобраться со всеми параметрами, которые передаются в пакетах. Нашёл готовую библиотеку под это дело. https://github.com/elementzonline/SIM800_MQTT может кому сгодится.