Как отправить пакет MQTT «Publish» с помощью модема (GPRS) sim900?

Я использую модем sim900 с raspberry pi, я могу подключиться к серверу с помощью AT-команды для TCP, но когда я пытаюсь отправить пакет mqtt Publish следующим образом (я использовал tcpflow для получения этого пакета из библиотеки mosquitto):

Serial.print("0");
Serial.print("0x10");
Serial.print("0x0");
Serial.print("0x8");
Serial.print("ABC/XYZ");
Serial.print("HELLO");
Serial.print("0x0");

это не работает.


person amg    schedule 03.06.2014    source источник
comment
Нам, вероятно, понадобится немного больше информации, чтобы мы могли помочь здесь. Есть ли какие-либо сообщения об ошибках на стороне брокера (при условии, что mosquitto запускается с параметром -v для получения более подробной информации)? Кроме того, вместо того, чтобы просто использовать трассировку tcp, спецификация доступна здесь: mqtt.org/wiki/doku. php/mqtt_протокол   -  person hardillb    schedule 03.06.2014
comment
Как говорит @hardillb, требуется больше деталей. Вы сначала отправили CONNECT? Это все, что вы прислали? Отправка сначала 0 (который будет командным байтом) никогда не будет правильной.   -  person ralight    schedule 03.06.2014
comment
@hardillb спасибо за ваш ответ, у меня есть решение для этого.   -  person amg    schedule 05.06.2014
comment
@ralight спасибо за ответ.   -  person amg    schedule 05.06.2014


Ответы (1)


Следуйте этому руководству для подключения к Интернету на Raspberry Pi с помощью модема SIM900. Загрузите файл sakis3g.gz с здесь. Используйте клиентскую библиотеку Mosquitto для MQTT функций публикации/подписки. . Это сработало для меня :)

Действия по включению Интернета на «Raspberry pi» с помощью SIM900:

  1. Введите это на терминале sudo apt-get install ppp isc-dhcp-server usb-modeswitch

  2. Затем загрузите sakis3g из здесь

  3. Разархивируйте пакет, используя gunzip sakis3g.gz

  4. Сделать файл исполняемым chmod +x sakis3g

  5. Запустите sakis с опцией GUI sudo ./sakis3g --interactive

Теперь следуйте инструкциям на экране. Удачи! :)

person amg    schedule 05.06.2014