LINUX.ORG.RU

не отправляются данные через mqtt с помощью АТ-комманд

 


0

1

Здравствуйте! Я купил устройство a9g pudding-board, это gps-трекер и gsm/gprs модем (писал об этом ранее, но потерял доступ старому аккаунту на лоре - pageup), мне надо с помощью АТ-команд отправить через это устройство данные на mqtt-сервер.

Вот что я сделал для этого:

  1. зарегистрировался в брокере https://dev.rightech.io, создал каналы для получения сообщений
  2. попробовал для теста отправить сообщение с помощью gui-клиента - отправляется, в брокер приходит. логин и пароль не используется, тоолько clientid
  3. подключаюсь к сети через ат команды:
AT

OK
AT+CGATT=1

+CGATT:1

OK
AT+CGDCONT=1,"IP","CMNET"

OK
AT+CGACT=1,1

OK
  1. проверяю сеть:
AT+HTTPGET="http://forum.amperka.ru/"

OK
HTTP/1.1  200  OK
Server: nginx/0.7.65
Date: Mon, 04 Oct 2021 01:19:51 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
X-Powered-By: PHP/5.3.2-1ubuntu4.17
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-control: private, max-age=0
Set-Cookie: xf_session=b69d8b17541aac7dadcee0a2a50b4623; path=/; httponly
X-Frame-Options: SAMEORIGIN
Last-Modified: Mon, 04 Oct 2021 01:19:51 GMT
Content-Length: 59061

<!DOCTYPE html>
<html id="XenForo" lang="ru-RU" dir="LTR" class="Public NoJs LoggedOut Sidebar  Responsive" xmlns:fb="http://www.facebook.com/2008/fbml">

как видим, сеть работает, сайт открывается (хотя многие сайты почему-то дают ошибку 400) 5. затем пытаюсь сконфигурировать mqtt подключение:

AT+MQTTUSERCFG=0,1,"МОЙ АЙДИ ТУТ","","",0,0,"base/state/temperature"

+CME ERROR: 58

Использовал эту инструкцию: https://docs.espressif.com/projects/esp-at/en/latest/AT_Command_Set/MQTT_AT_Commands.html#cmd-mqttconn

Почему у меня возникает ошибка? Что я делаю не так? Подскажите как правильно подключится к брокеру и отправить сообщение. заранее спасибо

Ответ на: комментарий от steemandlinux

Это не то совсем. Мне надо отправить сообщение через встроенный mqtt-клиент в устройстве a9g, там нет bash, там только АТ-команды, они все начинаются на AT+, там негде ввести mosquitto -v. В брокере, который на стороннем сервере и открывается через браузер тоже вводить bash-команды негде

pagedown
() автор топика

Попробуй задать значения имени пользователя и пароля вместо "". Возможно проверка есть.
А вообще в доке пример есть

AT+CWMODE=1
AT+CWJAP="ssid","password"
AT+CIPSNTPCFG=1,8,"ntp1.aliyun.com","ntp2.aliyun.com"
AT+MQTTUSERCFG=0,5,"ESP32","espressif","1234567890",0,0,""
AT+MQTTALPN=0,2,"mqtt-ca.cn","mqtt-ca.us"
AT+MQTTCONN=0,"192.168.200.2",8883,1
sigurd ★★★★★
()
Последнее исправление: sigurd (всего исправлений: 1)
Ответ на: комментарий от steemandlinux

mosquitto это и есть брокер, которым ты зачем-то пользуешься на стороннем сервере.

Причем тут mosquitto? Какая разница сторонний публичный сервер или свой (кроме ip)? У автора спец. МК на основе esp8266, во встроенном клиенте mqtt которого он не может настроить параметры доступа к mqtt-серверу (ошибку выдает). Это еще до попытки коннекта к серверу происходит. Видимо, неправильные параметры задает, раз дело не доходит до AT+MQTTCONN.

sigurd ★★★★★
()
Последнее исправление: sigurd (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.