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

Пользовательские блоки для коммкникации и связи GSM, GPRS, IR, Bluetooth и другие
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
User8
Лейтенант
Сообщения: 341
Зарегистрирован: 12 июн 2017, 14:44
Имя: Евгений

MQTT для Arduino, ESP8266, ESP32

Сообщение User8 »

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

MQTT для Arduino, ESP8266, ESP32

Сообщение pipapsix »

Ну сколько раз говорили, РАБОТАЕТ, НЕ ТРОГАЙ. ВСе, нахрен , не работает.
User8
Лейтенант
Сообщения: 341
Зарегистрирован: 12 июн 2017, 14:44
Имя: Евгений

MQTT для Arduino, ESP8266, ESP32

Сообщение User8 »

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

MQTT для Arduino, ESP8266, ESP32

Сообщение pipapsix »

Это с моим блоком ошибки вылазят, с входами который.
[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

Сообщение Golan »

Я только проснулся,[ref]User8[/ref], спасибо, буду гонять.
Добро не ценится в современном мире, люди от него наглеют!
User8
Лейтенант
Сообщения: 341
Зарегистрирован: 12 июн 2017, 14:44
Имя: Евгений

MQTT для Arduino, ESP8266, ESP32

Сообщение User8 »

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

MQTT для Arduino, ESP8266, ESP32

Сообщение pipapsix »

Конечно, все блоки новые.
Так ставлю блок МАЙн который для всех, все компилиться.
Ставлю с входами который, ошибки лезут.


Воот.
Теперь ставлю на проверку до завтра.
Последний раз редактировалось pipapsix 24 дек 2018, 17:46, всего редактировалось 1 раз.
User8
Лейтенант
Сообщения: 341
Зарегистрирован: 12 июн 2017, 14:44
Имя: Евгений

MQTT для Arduino, ESP8266, ESP32

Сообщение User8 »

[ref]pipapsix[/ref], никогда не нужно торопиться, забыл я проверить блок перед заливкой :smile171: обновил на прошлой странице.
Аватара пользователя
Golan
Капитан
Сообщения: 827
Зарегистрирован: 26 ноя 2017, 23:18
Откуда: Деревня, 98 домов в Мордовии
Имя: Владимир
Контактная информация:

MQTT для Arduino, ESP8266, ESP32

Сообщение Golan »

А у меня что то не соединяется :(
Добро не ценится в современном мире, люди от него наглеют!
pipapsix
Лейтенант
Сообщения: 438
Зарегистрирован: 25 окт 2016, 21:26
Откуда: Волгоградская обл.
Имя: СашкаСаняАлександр
Благодарил (а): 1 раз
Поблагодарили: 4 раза

MQTT для Arduino, ESP8266, ESP32

Сообщение pipapsix »

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

MQTT для Arduino, ESP8266, ESP32

Сообщение User8 »

[ref]pipapsix[/ref], обновил еще раз блок с внешними входами, возможно поможет.
CraCk
Лейтенант
Сообщения: 674
Зарегистрирован: 10 сен 2015, 21:51
Благодарил (а): 1 раз
Поблагодарили: 1 раз

MQTT для Arduino, ESP8266, ESP32

Сообщение CraCk »

User8 писал(а): 24 дек 2018, 16:02ужно тестировать. Зависания пропали, если разорвать соединение с брокером принудительно.
Протестировал. Для чистоты эксперимента. Удалил папку с флпрог и распаковал с нуля портаб. версию.
Зависания пропали. Но qos так и не заработал :( Очень подозрительно что нигде qos не работает. Было бы неплохо на примерах из библиотеки проверить, но ума у меня не хватает для правильного написания логики.
User8
Лейтенант
Сообщения: 341
Зарегистрирован: 12 июн 2017, 14:44
Имя: Евгений

MQTT для Arduino, ESP8266, ESP32

Сообщение User8 »

[ref]CraCk[/ref], на блоке pub qos работает. Я тоже не смог найти примеров как должно qos на subscribe работать...
CraCk
Лейтенант
Сообщения: 674
Зарегистрирован: 10 сен 2015, 21:51
Благодарил (а): 1 раз
Поблагодарили: 1 раз

MQTT для Arduino, ESP8266, ESP32

Сообщение CraCk »

User8 писал(а): 24 дек 2018, 21:02CraCk, на блоке pub qos работает.
У меня на pub qos не работает. А на subscribe он не очень важен. Об этом заботиться больше отправитель.
[spoiler]
Снимок.JPG
[/spoiler]

Отправлено спустя 1 минуту 29 секунд:
User8 писал(а): 24 дек 2018, 21:02Я тоже не смог найти примеров как должно qos на subscribe работать...
Я имел ввиду пример на pub
У вас нет необходимых прав для просмотра вложений в этом сообщении.
User8
Лейтенант
Сообщения: 341
Зарегистрирован: 12 июн 2017, 14:44
Имя: Евгений

MQTT для Arduino, ESP8266, ESP32

Сообщение User8 »

[ref]CraCk[/ref], на принимающей стороне должен быть указан cleanSession false и указан уникальный clientId.
Аватара пользователя
Golan
Капитан
Сообщения: 827
Зарегистрирован: 26 ноя 2017, 23:18
Откуда: Деревня, 98 домов в Мордовии
Имя: Владимир
Контактная информация:

MQTT для Arduino, ESP8266, ESP32

Сообщение Golan »

Не могу запустит никак с новыми блоками, то на библио ругался, теперь что вот что.

[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]

Че хочет, Евгений? Какой там тип ему указать.
Добро не ценится в современном мире, люди от него наглеют!
CraCk
Лейтенант
Сообщения: 674
Зарегистрирован: 10 сен 2015, 21:51
Благодарил (а): 1 раз
Поблагодарили: 1 раз

MQTT для Arduino, ESP8266, ESP32

Сообщение CraCk »

User8 писал(а): 24 дек 2018, 21:16на принимающей стороне должен быть указан cleanSession false и указан уникальный clientId
здесь поподробней.
У меня принимающая сторона клиент/брокер софт iobroker. Там таких настроек нет.
User8
Лейтенант
Сообщения: 341
Зарегистрирован: 12 июн 2017, 14:44
Имя: Евгений

MQTT для Arduino, ESP8266, ESP32

Сообщение User8 »

[ref]CraCk[/ref], у каждого клиента должны быть эти настройки

Отправлено спустя 10 минут 50 секунд:
На брокере так же должен быть выставлен cleansession false

Отправлено спустя 37 минут 7 секунд:
[ref]Golan[/ref], что за бибилиотека umqttbroker? Это не та
Аватара пользователя
Golan
Капитан
Сообщения: 827
Зарегистрирован: 26 ноя 2017, 23:18
Откуда: Деревня, 98 домов в Мордовии
Имя: Владимир
Контактная информация:

MQTT для Arduino, ESP8266, ESP32

Сообщение Golan »

User8 писал(а): 24 дек 2018, 22:18Golan, что за бибилиотека umqttbroker? Это не та
А я фиг его знает, Вы про какую (правильную) ?
Добро не ценится в современном мире, люди от него наглеют!
User8
Лейтенант
Сообщения: 341
Зарегистрирован: 12 июн 2017, 14:44
Имя: Евгений

MQTT для Arduino, ESP8266, ESP32

Сообщение User8 »

[ref]Golan[/ref], arduino-mqtt должна быть папка
Ответить

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

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

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