MQTT клиент для Arduino, ESP8266, ESP32
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
MQTT для Arduino, ESP8266, ESP32
[ref]pipapsix[/ref], он по идее сам должен найти нужную, и написать какая используется, а какая нет в ide.
-
- Лейтенант
- Сообщения: 438
- Зарегистрирован: 25 окт 2016, 21:26
- Откуда: Волгоградская обл.
- Имя: СашкаСаняАлександр
- Благодарил (а): 1 раз
- Поблагодарили: 4 раза
MQTT для Arduino, ESP8266, ESP32
Ну сколько раз говорили, РАБОТАЕТ, НЕ ТРОГАЙ. ВСе, нахрен , не работает.
-
- Лейтенант
- Сообщения: 438
- Зарегистрирован: 25 окт 2016, 21:26
- Откуда: Волгоградская обл.
- Имя: СашкаСаняАлександр
- Благодарил (а): 1 раз
- Поблагодарили: 4 раза
MQTT для Arduino, ESP8266, ESP32
Это с моим блоком ошибки вылазят, с входами который.
[spoiler]
C:\Users\User\AppData\Local\Temp\flprog\pr7\pr7.ino: In function 'void setup()':
pr7:172: error: no matching function for call to 'MQTTClient::begin(String&, String&, WiFiClient&)'
mqttClient.begin(mqttServer, mqttPort, netClient);
^
C:\Users\User\AppData\Local\Temp\flprog\pr7\pr7.ino:172:49: note: candidates are:
In file included from c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt\src/MQTT.h:4:0,
from C:\Users\User\AppData\Local\Temp\flprog\pr7\pr7.ino:9:
c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt\src/MQTTClient.h:166:8: note: void MQTTClient::begin(const char*, Client&)
void begin(const char hostname[], Client &client) { this->begin(hostname, 1883, client); }
^
c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt\src/MQTTClient.h:166:8: note: candidate expects 2 arguments, 3 provided
c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt\src/MQTTClient.h:168:8: note: void MQTTClient::begin(const char*, int, Client&)
void begin(const char hostname[], int port, Client &client) {
^
c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt\src/MQTTClient.h:168:8: note: no known conversion for argument 1 from 'String' to 'const char*'
C:\Users\User\AppData\Local\Temp\flprog\pr7\pr7.ino: In function 'boolean reconnect()':
pr7:645: error: no matching function for call to 'MQTTClient::setHost(String&, String&)'
mqttClient.setHost(mqttServer, mqttPort);
^
C:\Users\User\AppData\Local\Temp\flprog\pr7\pr7.ino:645:40: note: candidates are:
In file included from c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt\src/MQTT.h:4:0,
from C:\Users\User\AppData\Local\Temp\flprog\pr7\pr7.ino:9:
c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt\src/MQTTClient.h:202:8: note: void MQTTClient::setHost(const char*)
void setHost(const char hostname[]) { this->setHost(hostname, 1883); }
^
c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt\src/MQTTClient.h:202:8: note: candidate expects 1 argument, 2 provided
c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt\src/MQTTClient.h:204:8: note: void MQTTClient::setHost(const char*, int)
void setHost(const char hostname[], int port) {
^
c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt\src/MQTTClient.h:204:8: note: no known conversion for argument 1 from 'String' to 'const char*'
pr7:647: error: no matching function for call to 'MQTTClient::connect(String&, String&, String&)'
if (mqttClient.connect(mqttClientId, mqttUser, mqttPassword)) {
^
C:\Users\User\AppData\Local\Temp\flprog\pr7\pr7.ino:647:60: note: candidates are:
In file included from c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt\src/MQTT.h:4:0,
from C:\Users\User\AppData\Local\Temp\flprog\pr7\pr7.ino:9:
c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt\src/MQTTClient.h:273:8: note: bool MQTTClient::connect(const char*, bool)
bool connect(const char clientId[], bool skip = false) { return this->connect(clientId, nullptr, nullptr); }
^
c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt\src/MQTTClient.h:273:8: note: candidate expects 2 arguments, 3 provided
c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt\src/MQTTClient.h:275:8: note: bool MQTTClient::connect(const char*, const char*, bool)
bool connect(const char clientId[], const char username[], bool skip = false) { return this->connect(clientId, username, nullptr); }
^
c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt\src/MQTTClient.h:275:8: note: no known conversion for argument 1 from 'String' to 'const char*'
In file included from c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt\src/MQTT.h:4:0,
from C:\Users\User\AppData\Local\Temp\flprog\pr7\pr7.ino:9:
c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt\src/MQTTClient.h:277:8: note: bool MQTTClient::connect(const char*, const char*, const char*, bool)
bool connect(const char clientId[], const char username[], const char password[], bool skip = false) {
^
c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt\src/MQTTClient.h:277:8: note: no known conversion for argument 1 from 'String' to 'const char*'
Несколько библиотек найдено для "ArduinoOTA.h"
Используется: c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\portable\packages\esp8266\hardware\esp8266\2.3.0-rc2\libraries\ArduinoOTA
Не используется: c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\ArduinoOTA
Несколько библиотек найдено для "MQTT.h"
Используется: c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt
Не используется: c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\pubsubclient-master
Не используется: c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\pubsubclient-Imroy
Не используется: c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt-master
exit status 1
no matching function for call to 'MQTTClient::begin(String&, String&, WiFiClient&)'
[/spoiler]
[spoiler]
C:\Users\User\AppData\Local\Temp\flprog\pr7\pr7.ino: In function 'void setup()':
pr7:172: error: no matching function for call to 'MQTTClient::begin(String&, String&, WiFiClient&)'
mqttClient.begin(mqttServer, mqttPort, netClient);
^
C:\Users\User\AppData\Local\Temp\flprog\pr7\pr7.ino:172:49: note: candidates are:
In file included from c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt\src/MQTT.h:4:0,
from C:\Users\User\AppData\Local\Temp\flprog\pr7\pr7.ino:9:
c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt\src/MQTTClient.h:166:8: note: void MQTTClient::begin(const char*, Client&)
void begin(const char hostname[], Client &client) { this->begin(hostname, 1883, client); }
^
c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt\src/MQTTClient.h:166:8: note: candidate expects 2 arguments, 3 provided
c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt\src/MQTTClient.h:168:8: note: void MQTTClient::begin(const char*, int, Client&)
void begin(const char hostname[], int port, Client &client) {
^
c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt\src/MQTTClient.h:168:8: note: no known conversion for argument 1 from 'String' to 'const char*'
C:\Users\User\AppData\Local\Temp\flprog\pr7\pr7.ino: In function 'boolean reconnect()':
pr7:645: error: no matching function for call to 'MQTTClient::setHost(String&, String&)'
mqttClient.setHost(mqttServer, mqttPort);
^
C:\Users\User\AppData\Local\Temp\flprog\pr7\pr7.ino:645:40: note: candidates are:
In file included from c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt\src/MQTT.h:4:0,
from C:\Users\User\AppData\Local\Temp\flprog\pr7\pr7.ino:9:
c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt\src/MQTTClient.h:202:8: note: void MQTTClient::setHost(const char*)
void setHost(const char hostname[]) { this->setHost(hostname, 1883); }
^
c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt\src/MQTTClient.h:202:8: note: candidate expects 1 argument, 2 provided
c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt\src/MQTTClient.h:204:8: note: void MQTTClient::setHost(const char*, int)
void setHost(const char hostname[], int port) {
^
c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt\src/MQTTClient.h:204:8: note: no known conversion for argument 1 from 'String' to 'const char*'
pr7:647: error: no matching function for call to 'MQTTClient::connect(String&, String&, String&)'
if (mqttClient.connect(mqttClientId, mqttUser, mqttPassword)) {
^
C:\Users\User\AppData\Local\Temp\flprog\pr7\pr7.ino:647:60: note: candidates are:
In file included from c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt\src/MQTT.h:4:0,
from C:\Users\User\AppData\Local\Temp\flprog\pr7\pr7.ino:9:
c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt\src/MQTTClient.h:273:8: note: bool MQTTClient::connect(const char*, bool)
bool connect(const char clientId[], bool skip = false) { return this->connect(clientId, nullptr, nullptr); }
^
c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt\src/MQTTClient.h:273:8: note: candidate expects 2 arguments, 3 provided
c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt\src/MQTTClient.h:275:8: note: bool MQTTClient::connect(const char*, const char*, bool)
bool connect(const char clientId[], const char username[], bool skip = false) { return this->connect(clientId, username, nullptr); }
^
c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt\src/MQTTClient.h:275:8: note: no known conversion for argument 1 from 'String' to 'const char*'
In file included from c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt\src/MQTT.h:4:0,
from C:\Users\User\AppData\Local\Temp\flprog\pr7\pr7.ino:9:
c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt\src/MQTTClient.h:277:8: note: bool MQTTClient::connect(const char*, const char*, const char*, bool)
bool connect(const char clientId[], const char username[], const char password[], bool skip = false) {
^
c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt\src/MQTTClient.h:277:8: note: no known conversion for argument 1 from 'String' to 'const char*'
Несколько библиотек найдено для "ArduinoOTA.h"
Используется: c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\portable\packages\esp8266\hardware\esp8266\2.3.0-rc2\libraries\ArduinoOTA
Не используется: c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\ArduinoOTA
Несколько библиотек найдено для "MQTT.h"
Используется: c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt
Не используется: c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\pubsubclient-master
Не используется: c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\pubsubclient-Imroy
Не используется: c:\Users\User\Desktop\FLProgPortable_4-2\ideV2\libraries\arduino-mqtt-master
exit status 1
no matching function for call to 'MQTTClient::begin(String&, String&, WiFiClient&)'
[/spoiler]
- Golan
- Капитан
- Сообщения: 827
- Зарегистрирован: 26 ноя 2017, 23:18
- Откуда: Деревня, 98 домов в Мордовии
- Имя: Владимир
- Контактная информация:
MQTT для Arduino, ESP8266, ESP32
Я только проснулся,[ref]User8[/ref], спасибо, буду гонять.
Добро не ценится в современном мире, люди от него наглеют!
MQTT для Arduino, ESP8266, ESP32
[ref]pipapsix[/ref], нужно использовать все блоки новые обязательно и можно попробовать улалить все лишние библиотеки кроме arduino-mqtt
-
- Лейтенант
- Сообщения: 438
- Зарегистрирован: 25 окт 2016, 21:26
- Откуда: Волгоградская обл.
- Имя: СашкаСаняАлександр
- Благодарил (а): 1 раз
- Поблагодарили: 4 раза
MQTT для Arduino, ESP8266, ESP32
Конечно, все блоки новые.
Так ставлю блок МАЙн который для всех, все компилиться.
Ставлю с входами который, ошибки лезут.
Воот.
Теперь ставлю на проверку до завтра.
Так ставлю блок МАЙн который для всех, все компилиться.
Ставлю с входами который, ошибки лезут.
Воот.
Теперь ставлю на проверку до завтра.
Последний раз редактировалось pipapsix 24 дек 2018, 17:46, всего редактировалось 1 раз.
MQTT для Arduino, ESP8266, ESP32
[ref]pipapsix[/ref], никогда не нужно торопиться, забыл я проверить блок перед заливкой
обновил на прошлой странице.

- Golan
- Капитан
- Сообщения: 827
- Зарегистрирован: 26 ноя 2017, 23:18
- Откуда: Деревня, 98 домов в Мордовии
- Имя: Владимир
- Контактная информация:
MQTT для Arduino, ESP8266, ESP32
А у меня что то не соединяется 

Добро не ценится в современном мире, люди от него наглеют!
-
- Лейтенант
- Сообщения: 438
- Зарегистрирован: 25 окт 2016, 21:26
- Откуда: Волгоградская обл.
- Имя: СашкаСаняАлександр
- Благодарил (а): 1 раз
- Поблагодарили: 4 раза
MQTT для Arduino, ESP8266, ESP32
У меня какието непонятки опять.
Если на моем блоке прям на вход вставить константу сервера, а на остальные входы подаю константы с пользовательских данных, то все работает.
А если и на вход сервера подаю с пользовательсого параметра, то сервер не читается, главное он записан в память ЕСП.
Ладно завтра помучаю или есп кирдык приходит, чет частые глюки появляются.
Если на моем блоке прям на вход вставить константу сервера, а на остальные входы подаю константы с пользовательских данных, то все работает.
А если и на вход сервера подаю с пользовательсого параметра, то сервер не читается, главное он записан в память ЕСП.
Ладно завтра помучаю или есп кирдык приходит, чет частые глюки появляются.
MQTT для Arduino, ESP8266, ESP32
[ref]pipapsix[/ref], обновил еще раз блок с внешними входами, возможно поможет.
-
- Лейтенант
- Сообщения: 674
- Зарегистрирован: 10 сен 2015, 21:51
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
MQTT для Arduino, ESP8266, ESP32
Протестировал. Для чистоты эксперимента. Удалил папку с флпрог и распаковал с нуля портаб. версию.User8 писал(а): 24 дек 2018, 16:02ужно тестировать. Зависания пропали, если разорвать соединение с брокером принудительно.
Зависания пропали. Но qos так и не заработал

MQTT для Arduino, ESP8266, ESP32
[ref]CraCk[/ref], на блоке pub qos работает. Я тоже не смог найти примеров как должно qos на subscribe работать...
-
- Лейтенант
- Сообщения: 674
- Зарегистрирован: 10 сен 2015, 21:51
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
MQTT для Arduino, ESP8266, ESP32
У меня на pub qos не работает. А на subscribe он не очень важен. Об этом заботиться больше отправитель.
[spoiler] [/spoiler]
Отправлено спустя 1 минуту 29 секунд:
Я имел ввиду пример на pubUser8 писал(а): 24 дек 2018, 21:02Я тоже не смог найти примеров как должно qos на subscribe работать...
У вас нет необходимых прав для просмотра вложений в этом сообщении.
MQTT для Arduino, ESP8266, ESP32
[ref]CraCk[/ref], на принимающей стороне должен быть указан cleanSession false и указан уникальный clientId.
- Golan
- Капитан
- Сообщения: 827
- Зарегистрирован: 26 ноя 2017, 23:18
- Откуда: Деревня, 98 домов в Мордовии
- Имя: Владимир
- Контактная информация:
MQTT для Arduino, ESP8266, ESP32
Не могу запустит никак с новыми блоками, то на библио ругался, теперь что вот что.
[spoiler]C:\Users\Admin\AppData\Local\Temp\flprog\pr15\pr15.ino: In function 'boolean reconnect()':
pr15:271: error: 'mqttClient' was not declared in this scope
mqttClient.setHost("192.168.0.102", 1883);
............................................................................................
Используем библиотеку ESP8266WiFi версии 1.0 из папки: c:\Program Files (x86)\FLprog\ideV2\portable\packages\esp8266\hardware\esp8266\2.3.0-rc2\libraries\ESP8266WiFi
Используем библиотеку Servo версии 1.0.2 из папки: c:\Program Files (x86)\FLprog\ideV2\portable\packages\esp8266\hardware\esp8266\2.3.0-rc2\libraries\Servo
Используем библиотеку DHT_ESP в папке: c:\Program Files (x86)\FLprog\ideV2\portable\sketchbook\libraries\DHT_ESP (legacy)
Используем библиотеку uMQTTBroker-master версии 1.0.0 из папки: c:\Program Files (x86)\FLprog\ideV2\portable\sketchbook\libraries\uMQTTBroker-master
exit status 1
'MQTTClient' does not name a type[/spoiler]
Че хочет, Евгений? Какой там тип ему указать.
[spoiler]C:\Users\Admin\AppData\Local\Temp\flprog\pr15\pr15.ino: In function 'boolean reconnect()':
pr15:271: error: 'mqttClient' was not declared in this scope
mqttClient.setHost("192.168.0.102", 1883);
............................................................................................
Используем библиотеку ESP8266WiFi версии 1.0 из папки: c:\Program Files (x86)\FLprog\ideV2\portable\packages\esp8266\hardware\esp8266\2.3.0-rc2\libraries\ESP8266WiFi
Используем библиотеку Servo версии 1.0.2 из папки: c:\Program Files (x86)\FLprog\ideV2\portable\packages\esp8266\hardware\esp8266\2.3.0-rc2\libraries\Servo
Используем библиотеку DHT_ESP в папке: c:\Program Files (x86)\FLprog\ideV2\portable\sketchbook\libraries\DHT_ESP (legacy)
Используем библиотеку uMQTTBroker-master версии 1.0.0 из папки: c:\Program Files (x86)\FLprog\ideV2\portable\sketchbook\libraries\uMQTTBroker-master
exit status 1
'MQTTClient' does not name a type[/spoiler]
Че хочет, Евгений? Какой там тип ему указать.
Добро не ценится в современном мире, люди от него наглеют!
-
- Лейтенант
- Сообщения: 674
- Зарегистрирован: 10 сен 2015, 21:51
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
MQTT для Arduino, ESP8266, ESP32
здесь поподробней.User8 писал(а): 24 дек 2018, 21:16на принимающей стороне должен быть указан cleanSession false и указан уникальный clientId
У меня принимающая сторона клиент/брокер софт iobroker. Там таких настроек нет.
MQTT для Arduino, ESP8266, ESP32
[ref]CraCk[/ref], у каждого клиента должны быть эти настройки
Отправлено спустя 10 минут 50 секунд:
На брокере так же должен быть выставлен cleansession false
Отправлено спустя 37 минут 7 секунд:
[ref]Golan[/ref], что за бибилиотека umqttbroker? Это не та
Отправлено спустя 10 минут 50 секунд:
На брокере так же должен быть выставлен cleansession false
Отправлено спустя 37 минут 7 секунд:
[ref]Golan[/ref], что за бибилиотека umqttbroker? Это не та
- Golan
- Капитан
- Сообщения: 827
- Зарегистрирован: 26 ноя 2017, 23:18
- Откуда: Деревня, 98 домов в Мордовии
- Имя: Владимир
- Контактная информация:
MQTT для Arduino, ESP8266, ESP32
А я фиг его знает, Вы про какую (правильную) ?
Добро не ценится в современном мире, люди от него наглеют!
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя