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

Пользовательские блоки для коммкникации и связи GSM, GPRS, IR, Bluetooth и другие
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
kos1970
Рядовой
Сообщения: 21
Зарегистрирован: 08 окт 2017, 12:10
Откуда: Daugavpils
Имя: Konstantin

MQTT для Arduino, ESP8266, ESP32

Сообщение kos1970 »

User8 писал(а): 03 янв 2019, 01:04Блоки для Arduino Ethernet:

Если при компиляции или загрузке выдает ошибку, удалите папку pubsubclient по пути flprog\ideV2\libraries\
Если у вас portable версия flprog, удалите папку pubsubclient по пути flprog\ideV2\portable\sketchbook\libraries\
Доброго времени суток.
Если удалить эту папку, то компилятор не найдет <PubSubClient.h>. Простая задача: DHT +W5110 на cloudmqtt и не хочет компилироваться. Выдает ошибку.Arduino: 1.8.1 (Windows 10), Плата:"Arduino/Genuino Uno"

pr5:13: error: no matching function for call to 'PubSubClient::PubSubClient(EthernetClient&, const char [18], int)'

PubSubClient client(mqttClient, "m15.cloudmqtt.com", 16801);
Очень похоже на библиотеку, но я уже все возможные варианты перебрал. Может кто знает ответ?
User8
Лейтенант
Сообщения: 341
Зарегистрирован: 12 июн 2017, 14:44
Имя: Евгений

MQTT для Arduino, ESP8266, ESP32

Сообщение User8 »

[ref]kos1970[/ref], попробуйте удалить все библиотеки pubsubclient и потом положите в папку с библиотеками эту https://github.com/Imroy/pubsubclient
kos1970
Рядовой
Сообщения: 21
Зарегистрирован: 08 окт 2017, 12:10
Откуда: Daugavpils
Имя: Konstantin

MQTT для Arduino, ESP8266, ESP32

Сообщение kos1970 »

[ref]User8[/ref], , спасибо. Это помогло. Жизнь продолжается.
YuriS
Рядовой
Сообщения: 4
Зарегистрирован: 23 дек 2018, 22:49
Имя: Юрий

MQTT для Arduino, ESP8266, ESP32

Сообщение YuriS »

Коллеги, есть у кого работает в внешними входами хоть на какой версии ?

Отправлено спустя 2 часа 33 минуты 37 секунд:
pipapsix, можете скинуть работающий проект в флпрог, никак не могу заставить работать.
superolegb
Рядовой
Сообщения: 16
Зарегистрирован: 29 сен 2017, 13:05
Поблагодарили: 3 раза

MQTT для Arduino, ESP8266, ESP32

Сообщение superolegb »

Добрый день!

Подскажите в чем проблема? Блок не хочет компелироваться
[spoiler]
pr52:15:1: error: 'WiFiEventHandler' does not name a type

WiFiEventHandler wifiConnectHandler;

^

pr52:16:1: error: 'WiFiEventHandler' does not name a type

WiFiEventHandler wifiDisconnectHandler;

^

pr52:128:26: error: 'WiFiEventStationModeGotIP' does not name a type

void onWifiConnect(const WiFiEventStationModeGotIP& event)

^

pr52:128:53: error: ISO C++ forbids declaration of 'event' with no type [-fpermissive]

void onWifiConnect(const WiFiEventStationModeGotIP& event)

^

pr52:132:29: error: 'WiFiEventStationModeDisconnected' does not name a type

void onWifiDisconnect(const WiFiEventStationModeDisconnected& event)

^

pr52:132:63: error: ISO C++ forbids declaration of 'event' with no type [-fpermissive]

void onWifiDisconnect(const WiFiEventStationModeDisconnected& event)

^

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

pr52:50:1: error: 'wifiConnectHandler' was not declared in this scope

wifiConnectHandler = WiFi.onStationModeGotIP(onWifiConnect);

^

pr52:50:27: error: 'class ESP8266WiFiClass' has no member named 'onStationModeGotIP'

wifiConnectHandler = WiFi.onStationModeGotIP(onWifiConnect);

^

pr52:51:1: error: 'wifiDisconnectHandler' was not declared in this scope

wifiDisconnectHandler = WiFi.onStationModeDisconnected(onWifiDisconnect);

^

pr52:51:30: error: 'class ESP8266WiFiClass' has no member named 'onStationModeDisconnected'

wifiDisconnectHandler = WiFi.onStationModeDisconnected(onWifiDisconnect);

^

C:\Users\Win7\AppData\Local\Temp\flprog\pr52\pr52.ino: At global scope:

pr52:128:26: error: 'WiFiEventStationModeGotIP' does not name a type

void onWifiConnect(const WiFiEventStationModeGotIP& event)

^

pr52:128:53: error: ISO C++ forbids declaration of 'event' with no type [-fpermissive]

void onWifiConnect(const WiFiEventStationModeGotIP& event)

^

pr52:132:29: error: 'WiFiEventStationModeDisconnected' does not name a type

void onWifiDisconnect(const WiFiEventStationModeDisconnected& event)

^

pr52:132:63: error: ISO C++ forbids declaration of 'event' with no type [-fpermissive]

void onWifiDisconnect(const WiFiEventStationModeDisconnected& event)

^

Несколько библиотек найдено для "ArduinoOTA.h"
Используется: c:\Program Files\FLProg\ideV2\portable\packages\esp8266\hardware\esp8266\2.3.0-rc1\libraries\ArduinoOTA
Не используется: c:\Program Files\FLProg\ideV2\libraries\ArduinoOTA
exit status 1
'WiFiEventHandler' does not name a type
[/spoiler]
User8
Лейтенант
Сообщения: 341
Зарегистрирован: 12 июн 2017, 14:44
Имя: Евгений

MQTT для Arduino, ESP8266, ESP32

Сообщение User8 »

[ref]superolegb[/ref], в первом посте последнее предложение
superolegb
Рядовой
Сообщения: 16
Зарегистрирован: 29 сен 2017, 13:05
Поблагодарили: 3 раза

MQTT для Arduino, ESP8266, ESP32

Сообщение superolegb »

[ref]User8[/ref], Если это предложение " Не забудьте включить wifi клиент в настройках контроллера и указать данные вашей wifi сети." То у меня все включено. Если не там смотрю то прошу тыкнуть куда посмотреть
User8
Лейтенант
Сообщения: 341
Зарегистрирован: 12 июн 2017, 14:44
Имя: Евгений

MQTT для Arduino, ESP8266, ESP32

Сообщение User8 »

[ref]superolegb[/ref], какая у вас версия flprog стоит?
superolegb
Рядовой
Сообщения: 16
Зарегистрирован: 29 сен 2017, 13:05
Поблагодарили: 3 раза

MQTT для Arduino, ESP8266, ESP32

Сообщение superolegb »

[ref]User8[/ref], 4.2.4.
User8
Лейтенант
Сообщения: 341
Зарегистрирован: 12 июн 2017, 14:44
Имя: Евгений

MQTT для Arduino, ESP8266, ESP32

Сообщение User8 »

[ref]superolegb[/ref], попробуйте скачать и разархивировать в папку с библиотеками https://github.com/me-no-dev/ESPAsyncTCP
superolegb
Рядовой
Сообщения: 16
Зарегистрирован: 29 сен 2017, 13:05
Поблагодарили: 3 раза

MQTT для Arduino, ESP8266, ESP32

Сообщение superolegb »

[ref]User8[/ref], Спасибо , но не помогло видимо есть какие то отличия в последней версии flprog или IDE оболочки
pipapsix
Лейтенант
Сообщения: 438
Зарегистрирован: 25 окт 2016, 21:26
Откуда: Волгоградская обл.
Имя: СашкаСаняАлександр
Благодарил (а): 1 раз
Поблагодарили: 4 раза

MQTT для Arduino, ESP8266, ESP32

Сообщение pipapsix »

[ref]YuriS[/ref],
Скинте свой проэкт.

Тут и вэб интерфейс, можно в нем все настройки внести.
MQTT 6.4 внешние входы. рабочий. 1,1.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
superolegb
Рядовой
Сообщения: 16
Зарегистрирован: 29 сен 2017, 13:05
Поблагодарили: 3 раза

MQTT для Arduino, ESP8266, ESP32

Сообщение superolegb »

[ref]pipapsix[/ref], Ваш проект так же не компилируется с той же ошибкой
pipapsix
Лейтенант
Сообщения: 438
Зарегистрирован: 25 окт 2016, 21:26
Откуда: Волгоградская обл.
Имя: СашкаСаняАлександр
Благодарил (а): 1 раз
Поблагодарили: 4 раза

MQTT для Arduino, ESP8266, ESP32

Сообщение pipapsix »

[ref]superolegb[/ref],
Вот мои библиотеки. замените у себя папку с ними.
https://yadi.sk/d/e6JHqQZibfsEBA
sergej-chernov-1962
Рядовой
Сообщения: 25
Зарегистрирован: 26 янв 2018, 10:51
Имя: сергей

MQTT для Arduino, ESP8266, ESP32

Сообщение sergej-chernov-1962 »

А скажите ESP-WROOM-32 ,будет работать с этими блоками
User8
Лейтенант
Сообщения: 341
Зарегистрирован: 12 июн 2017, 14:44
Имя: Евгений

MQTT для Arduino, ESP8266, ESP32

Сообщение User8 »

[ref]sergej-chernov-1962[/ref], для ESP32 нужно Main блок переделывать
SerOv
Лейтенант
Сообщения: 613
Зарегистрирован: 06 янв 2018, 19:50
Благодарил (а): 8 раз
Поблагодарили: 2 раза

MQTT для Arduino, ESP8266, ESP32

Сообщение SerOv »

В блоке MQTT ESP Main v6.4 в параметрах блока есть константа = client1/status /LWT топик которая передается на брокер при соединении к брокеру.
После старта esp и подключению к брокеру, в топик client1/status будет отправлено сообщение 1, а при отключении esp от брокера в топик client1/status будет отправлено сообщение 0.
Эту константу я вывел на график. который визуально показывает. есть соединение или нет.
В проекте, измерения температуры, ввел блок Deep Sleep. после того как ESP засыпает. client1/status бодрствует. Пытается постоянно подключиться к брокеру, но это ему не удается, так как ESP спит.
Но это не всегда так. Есть график где этого не происходит.
ESP точно спит.
Может я что то не понимаю. B так должно быть. Но на попытку связи требуется расходовать заряд аккумулятора. Он будет быстро разряжаться.
Отсюда вопрос. Почему так происходит?
Почему client1/status бодрствует после засыпания ESP?
Провожу два графика.
[spoiler]
son.jpg
[/spoiler]
[spoiler]
spit2.jpg
[/spoiler]
[spoiler]
Проба3с.flp
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
User8
Лейтенант
Сообщения: 341
Зарегистрирован: 12 июн 2017, 14:44
Имя: Евгений

MQTT для Arduino, ESP8266, ESP32

Сообщение User8 »

[ref]SerOv[/ref], после отключения есп от брокера должно пройти 15 сек, чтобы брокер считал клиент отключенным, за это отвечает параметр keepAlive. Подробнее ничего сказать не могу почему он коннектится во время сна.
SerOv
Лейтенант
Сообщения: 613
Зарегистрирован: 06 янв 2018, 19:50
Благодарил (а): 8 раз
Поблагодарили: 2 раза

MQTT для Arduino, ESP8266, ESP32

Сообщение SerOv »

Про 15секунд я не говорю. Deep Sleep настроен на 7 минут. Он все 7 минут пытается подключиться.
User8
Лейтенант
Сообщения: 341
Зарегистрирован: 12 июн 2017, 14:44
Имя: Евгений

MQTT для Arduino, ESP8266, ESP32

Сообщение User8 »

[ref]SerOv[/ref], попробуйте keepAlive 500 поставить.

Отправлено спустя 9 минут 19 секунд:
Не самая лучшая идея судить о сне по этому параметру, лучше мерить мультиметром потребление. После выставления keepAlive он вообще 0 не пошлет в топик, только после 500 секунд по идеи.
Ответить

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

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

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