MQTT клиент для Arduino, ESP8266, ESP32

Пользовательские блоки для коммкникации и связи GSM, GPRS, IR, Bluetooth и другие
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Аватара пользователя
Phazz
Полковник
Сообщения: 3114
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 231 раз
Поблагодарили: 110 раз

MQTT клиент для Arduino, ESP8266, ESP32

Сообщение Phazz »

[ref]ecoins[/ref], реализация User8 работает очень хорошо. Мой выбор основан только лишь на том что это практически единственный блок mqtt для Flprog )
ecoins
Полковник
Сообщения: 4005
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 151 раз

MQTT клиент для Arduino, ESP8266, ESP32

Сообщение ecoins »

Phazz писал(а): 15 авг 2021, 19:08 ecoins, реализация User8 работает очень хорошо. Мой выбор основан только лишь на том что это практически единственный блок mqtt для Flprog )
Спасибо. Понял. Хотелось бы поглубже разобраться.
Аватара пользователя
Di123
Капитан
Сообщения: 828
Зарегистрирован: 03 ноя 2018, 19:38
Имя: Дмитрий

MQTT клиент для Arduino, ESP8266, ESP32

Сообщение Di123 »

добавил ваши библиотеки стала вылетать ошибка

Код: Выделить всё

Arduino: 1.8.15 (Windows 10), Плата:"NodeMCU 0.9 (ESP-12 Module), 80 MHz, Flash, Disabled (new aborts on oom), Disabled, All SSL ciphers (most compatible), 32KB cache + 32KB IRAM (balanced), Use pgm_read macros for IRAM/PROGMEM, 4MB (FS:none OTA:~1019KB), v2 Lower Memory, Disabled, None, Only Sketch, 115200"

C:\Users\User\AppData\Local\Temp\flprog\pr40\pr40.ino: In function 'void setup()':

pr40:57:5: error: '_esp8266WifiModuleApReconnect' was not declared in this scope

   57 |     _esp8266WifiModuleApReconnect();

      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

pr40:58:50: error: 'onWifiConnect' was not declared in this scope

   58 |     wifiConnectHandler = WiFi.onStationModeGotIP(onWifiConnect);

      |                                                  ^~~~~~~~~~~~~

pr40:59:60: error: 'onWifiDisconnect' was not declared in this scope

   59 |     wifiDisconnectHandler = WiFi.onStationModeDisconnected(onWifiDisconnect);

      |                                                            ^~~~~~~~~~~~~~~~

pr40:60:26: error: 'onMqttMessage' was not declared in this scope; did you mean 'inputMessage'?

   60 |     mqttClient.onMessage(onMqttMessage);

      |                          ^~~~~~~~~~~~~

      |                          inputMessage

pr40:61:26: error: 'onMqttConnect' was not declared in this scope

   61 |     mqttClient.onConnect(onMqttConnect);

      |                          ^~~~~~~~~~~~~

pr40:62:29: error: 'onMqttDisconnect' was not declared in this scope

   62 |     mqttClient.onDisconnect(onMqttDisconnect);

      |                             ^~~~~~~~~~~~~~~~

pr40:63:26: error: 'onMqttPublish' was not declared in this scope

   63 |     mqttClient.onPublish(onMqttPublish);

      |                          ^~~~~~~~~~~~~

C:\Users\User\AppData\Local\Temp\flprog\pr40\pr40.ino: In function 'void loop()':

pr40:71:9: error: '_esp8266WifiModuleApReconnect' was not declared in this scope

   71 |         _esp8266WifiModuleApReconnect();

      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

pr40:154:28: error: '_floatToStringWitRaz' was not declared in this scope

  154 |     Message_245667527_1 = (_floatToStringWitRaz(temp_82749380_1,2));

      |                            ^~~~~~~~~~~~~~~~~~~~

pr40:157:5: error: 'pub' was not declared in this scope

  157 |     pub(Send_245667527_1, Topic_245667527_1, Message_245667527_1, QoS_245667527_1, Retain_245667527_1, qosDelivered_245667527_1, packetId_245667527_1, rTrig_245667527_1);

      |     ^~~

C:\Users\User\AppData\Local\Temp\flprog\pr40\pr40.ino: In function 'void onWifiConnect(const WiFiEventStationModeGotIP&)':

pr40:189:5: error: 'connectToMqtt' was not declared in this scope

  189 |     connectToMqtt();

      |     ^~~~~~~~~~~~~

C:\Users\User\AppData\Local\Temp\flprog\pr40\pr40.ino: In function 'void _esp8266WifiModuleApReconnect()':

pr40:355:9: error: '_checkMacAddres' was not declared in this scope

  355 |     if (_checkMacAddres(ESPControllerWifiAP_mac))

      |         ^~~~~~~~~~~~~~~

pr40:361:12: error: '_checkMacAddres' was not declared in this scope

  361 |     if (! (_checkMacAddres(ESPControllerWifiAP_mac)))

      |            ^~~~~~~~~~~~~~~

Несколько библиотек найдено для "AsyncMqttClient.h"

 Используется: c:\PortableFLProg_7-3-8_Win64\ideV7\portable\sketchbook\libraries\async-mqtt-client

Не используется: c:\PortableFLProg_7-3-8_Win64\ideV7\libraries\async-mqtt-client

Несколько библиотек найдено для "ESPAsyncTCP.h"

 Используется: c:\PortableFLProg_7-3-8_Win64\ideV7\portable\sketchbook\libraries\ESPAsyncTCP

Не используется: c:\PortableFLProg_7-3-8_Win64\ideV7\libraries\ESPAsyncTCP

exit status 1

'_esp8266WifiModuleApReconnect' was not declared in this scope



Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"
User8
Лейтенант
Сообщения: 341
Зарегистрирован: 12 июн 2017, 14:44
Имя: Евгений

MQTT клиент для Arduino, ESP8266, ESP32

Сообщение User8 »

ecoins писал(а): 15 авг 2021, 18:59 Вопросы к User8, Phazz:
В блоках используется библиотека async-mqtt-client.
На сайте Arduino.cc рекомендованная библиотека arduino-mqtt.
Arduino IDE предлагает более 80 вариантов.
1.Чем привлек выбранный вариант?
2.В первом посте написано, что библиотека "кривая" и Вы что-то доработали?
3.Где возникли проблемы и что дорабатывалось?
4.С учетом полученного опыта Вы бы снова остановились бы на выбранном варианте, или известны и другие неплохие реализации на Arduino?
-----
Спасибо.
1. Поддержкой всех видов qos;
2. Что-то было, не помню что, взял на гитхабе исправленную версию, но щас там можно найти новую версию, где скорее всего поправили косяки https://github.com/marvinroger/async-mqtt-client
4. Возможно что и появилось лучше, не смотрел, пока не занимаюсь микроконтроллерами.
ecoins
Полковник
Сообщения: 4005
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 151 раз

MQTT клиент для Arduino, ESP8266, ESP32

Сообщение ecoins »

User8 писал(а): 30 авг 2021, 13:21 1. Поддержкой всех видов qos;
2. Что-то было, не помню что, взял на гитхабе исправленную версию, но щас там можно найти новую версию, где скорее всего поправили косяки https://github.com/marvinroger/async-mqtt-client
4. Возможно что и появилось лучше, не смотрел, пока не занимаюсь микроконтроллерами.
Вернуться к началу
Спасибо.
zik12
Рядовой
Сообщения: 31
Зарегистрирован: 19 фев 2020, 16:50
Имя: Алексей

MQTT клиент для Arduino, ESP8266, ESP32

Сообщение zik12 »

Здравствуйте! При компиляции вылазят вот такие ошибки. WiFi в настройках включил, flprog 7.3.8.
Что может быть?
[spoiler]Arduino: 1.8.15 (Windows 7), Плата:"ESP32 Dev Module, Disabled, Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS), 240MHz (WiFi/BT), QIO, 80MHz, 4MB (32Mb), 921600, None"
pr1:157:1: error: 'WiFiEventHandler' does not name a type

pr1:158:1: error: 'WiFiEventHandler' does not name a type

pr1:1833:26: error: 'WiFiEventStationModeGotIP' does not name a type

pr1:1837:29: error: 'WiFiEventStationModeDisconnected' does not name a type

C:\Users\Алексей\AppData\Local\Temp\flprog\pr1\pr1.ino: In function 'void setup()':

pr1:419:5: error: 'wifiConnectHandler' was not declared in this scope

pr1:419:31: error: 'class WiFiClass' has no member named 'onStationModeGotIP'

pr1:420:5: error: 'wifiDisconnectHandler' was not declared in this scope

pr1:420:34: error: 'class WiFiClass' has no member named 'onStationModeDisconnected'

C:\Users\Алексей\AppData\Local\Temp\flprog\pr1\pr1.ino: At global scope:

pr1:1833:26: error: 'WiFiEventStationModeGotIP' does not name a type

pr1:1837:29: error: 'WiFiEventStationModeDisconnected' does not name a type

Несколько библиотек найдено для "WiFi.h"

Используется: C:\Program Files (x86)\FLProg\ideV7\portable\packages\esp32\hardware\esp32\1.0.6\libraries\WiFi

Не используется: c:\Program Files (x86)\FLProg\ideV7\libraries\WiFi

Несколько библиотек найдено для "AsyncMqttClient.h"

Используется: c:\Program Files (x86)\FLProg\ideV7\portable\sketchbook\libraries\async-mqtt-client-develop

Не используется: c:\Program Files (x86)\FLProg\ideV7\portable\sketchbook\libraries\async-mqtt-client

Несколько библиотек найдено для "AsyncTCP.h"

Используется: c:\Program Files (x86)\FLProg\ideV7\portable\sketchbook\libraries\AsyncTCP

Не используется: c:\Program Files (x86)\FLProg\ideV7\portable\sketchbook\libraries\AsyncTCP-master

exit status 1

'WiFiEventHandler' does not name a type



Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"
[/spoiler]
Аватара пользователя
Dryundel
Полковник
Сообщения: 2406
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

MQTT клиент для Arduino, ESP8266, ESP32

Сообщение Dryundel »

zik12 писал(а): 05 окт 2021, 14:33 Что может быть?
Вы Wi-Fi правильно настроили?
Лучше бы проект приложили.
zik12
Рядовой
Сообщения: 31
Зарегистрирован: 19 фев 2020, 16:50
Имя: Алексей

MQTT клиент для Arduino, ESP8266, ESP32

Сообщение zik12 »

Dryundel писал(а): 05 окт 2021, 14:39 Вы Wi-Fi настроили?
Клиент в работе
SSID и пароль ввел.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2406
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

MQTT клиент для Arduino, ESP8266, ESP32

Сообщение Dryundel »

Возможно не те библиотеки у вас установлены.
Попробуйте использовать встроенный IDE

Отправлено спустя 1 минуту 38 секунд:
Да, увидел, встроенным и пользуетесь.

Отправлено спустя 11 минут 28 секунд:
[ref]zik12[/ref], Попробуйте обновить библиотеки связанные с ESP32 в IDE
zik12
Рядовой
Сообщения: 31
Зарегистрирован: 19 фев 2020, 16:50
Имя: Алексей

MQTT клиент для Arduino, ESP8266, ESP32

Сообщение zik12 »

Dryundel писал(а): 05 окт 2021, 14:58 Попробуйте обновить библиотеки связанные с ESP32 в IDE
библиотека ESP32 последней версии стоит (1.0.6), а вот библиотеку для WIFI не могу найти новую, у меня 2016 года стоит.
starshoy81
Лейтенант
Сообщения: 530
Зарегистрирован: 05 апр 2016, 23:30
Откуда: Санкт-Петербург
Имя: Илья

MQTT клиент для Arduino, ESP8266, ESP32

Сообщение starshoy81 »

[ref]zik12[/ref], сверьте версии библиотек, про которые компилятор пишет -"используется - не используется" и оставьте самые новые, остальные снесите.
zik12
Рядовой
Сообщения: 31
Зарегистрирован: 19 фев 2020, 16:50
Имя: Алексей

MQTT клиент для Arduino, ESP8266, ESP32

Сообщение zik12 »

[ref]starshoy81[/ref], Проблему с ошибкой в роди как решил: была проблема в одном из блоков. Нашел другую версию и все скомпилировалось. Теперь не могу загрузить: после компеляции пишет
esptool.py v3.0-dev
Serial port COM9
Connecting........
Я нажимаю boot, но ничего не происходит.
В итоге получаю это:
esptool.py v3.0-dev
Serial port COM9
Connecting........_____....._____....._____....._____....._____....._____.....____Произошла ошибка при загрузке скетча
_

A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header
starshoy81
Лейтенант
Сообщения: 530
Зарегистрирован: 05 апр 2016, 23:30
Откуда: Санкт-Петербург
Имя: Илья

MQTT клиент для Arduino, ESP8266, ESP32

Сообщение starshoy81 »

[ref]zik12[/ref], проц не отвечает, значит режим загрузки выключен.
zik12
Рядовой
Сообщения: 31
Зарегистрирован: 19 фев 2020, 16:50
Имя: Алексей

MQTT клиент для Arduino, ESP8266, ESP32

Сообщение zik12 »

[ref]starshoy81[/ref], а как его включить?
starshoy81
Лейтенант
Сообщения: 530
Зарегистрирован: 05 апр 2016, 23:30
Откуда: Санкт-Петербург
Имя: Илья

MQTT клиент для Arduino, ESP8266, ESP32

Сообщение starshoy81 »

[ref]zik12[/ref], перезагрузить
zik12
Рядовой
Сообщения: 31
Зарегистрирован: 19 фев 2020, 16:50
Имя: Алексей

MQTT клиент для Arduino, ESP8266, ESP32

Сообщение zik12 »

[ref]starshoy81[/ref], перезагрузить ESP32? Просто нажать reset?

UPD: не помогло.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

MQTT клиент для Arduino, ESP8266, ESP32

Сообщение Sancho »

zik12 писал(а): 06 окт 2021, 15:46 Я нажимаю boot, но ничего не происходит.
Нажмите и удерживайте boot и кратко нажмите сброс, затем отпустите boot и вгружайте.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

MQTT клиент для Arduino, ESP8266, ESP32

Сообщение Ingwar »

Sancho писал(а): 06 окт 2021, 16:16и вгружайте
Улыбнуло :yes:
Велик и могуч так сказать... :smile9:
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
zik12
Рядовой
Сообщения: 31
Зарегистрирован: 19 фев 2020, 16:50
Имя: Алексей

MQTT клиент для Arduino, ESP8266, ESP32

Сообщение zik12 »

Sancho писал(а): 06 окт 2021, 16:16 Нажмите и удерживайте boot и кратко нажмите сброс, затем отпустите boot и вгружайте.

Всё это проделывать когда в IDE закончится компиляция и появится Connecting?
starshoy81
Лейтенант
Сообщения: 530
Зарегистрирован: 05 апр 2016, 23:30
Откуда: Санкт-Петербург
Имя: Илья

MQTT клиент для Arduino, ESP8266, ESP32

Сообщение starshoy81 »

[ref]zik12[/ref], таки посмотрите уже какое-нибудь видео, где показано - как и что делать.
Ответить

Вернуться в «Коммуникация и связь»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей