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

Пользовательские блоки для коммкникации и связи GSM, GPRS, IR, Bluetooth и другие
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
SerOv
Лейтенант
Сообщения: 613
Зарегистрирован: 06 янв 2018, 19:50
Благодарил (а): 8 раз
Поблагодарили: 2 раза

MQTT для Arduino, ESP8266, ESP32

Сообщение SerOv »

увеличил. буду смотреть.
до этого почему то стабильности не было. То пробовал подключаться то нет
вот фото
[spoiler]
son3.jpg
[/spoiler]

Отправлено спустя 13 минут 13 секунд:
При keepAlive 500 не соединятся с WIFI. Пытается но соединения нет.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
User8
Лейтенант
Сообщения: 341
Зарегистрирован: 12 июн 2017, 14:44
Имя: Евгений

MQTT для Arduino, ESP8266, ESP32

Сообщение User8 »

[ref]SerOv[/ref], а как есп может проснуться, если указано что спать нужно 428 сек? Вот так можно попробовать, если на входе mqttConnect есть единица, то esp будет пытаться подключиться к брокеру, в ином случае попыток подключиться не будет.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось User8 04 фев 2019, 22:09, всего редактировалось 1 раз.
SerOv
Лейтенант
Сообщения: 613
Зарегистрирован: 06 янв 2018, 19:50
Благодарил (а): 8 раз
Поблагодарили: 2 раза

MQTT для Arduino, ESP8266, ESP32

Сообщение SerOv »

Я думал что client1/status засыпает вместе с ESP. Потом есть разрешение от выход из сна и Начинает работать client1/status. Так же иногда происходит. Иногда он же не пытается соединится.

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

MQTT для Arduino, ESP8266, ESP32

Сообщение User8 »

[ref]SerOv[/ref], перед тем как подавать единицу на сон, убрать единицу с mqttConnect через переменную

Отправлено спустя 6 минут 31 секунду:
[ref]SerOv[/ref], вот что нашел:
Пс. deepsleep надо использовать с осторожностью. Если просто так, да и с частотой раз в несколько минут - то через месяц-три можно модуль выкинуть в мусорку. Встроенный SDK по каждому чиху перезаписывает один и тотже кусочек EEPROM памяти. Любые изменения в настройках WiFi, каждое включение/выключение и т.д. приводит к тому, что текущие настройки заново сохраняются в память. Т.е., если наставить всяких "автоконнект выкл" - "автоконнекст вкл" то на ровном месте мы уже два раза перезаписали эту память, плюс сюда процесс подключения - и вот уже третья запись. Таким образом, необдуманно можно добиться нескольких перезаписей (2-5-8) по каждому старту после deepsleep. А если это проиходит каждую минуту - то не трудно подсчитать, через сколько ресурс EEPROM исчерпается и модуль нам "нарисует синий экран смерти" :)
https://esp8266.ru/forum/threads/esp826 ... -son.2870/
pipapsix
Лейтенант
Сообщения: 438
Зарегистрирован: 25 окт 2016, 21:26
Откуда: Волгоградская обл.
Имя: СашкаСаняАлександр
Благодарил (а): 1 раз
Поблагодарили: 4 раза

MQTT для Arduino, ESP8266, ESP32

Сообщение pipapsix »

Добрый день.
Такая проблемма, появляется наслоение данных из разных топиков.
Есть 1 есп с экраном которая выводит показания, которые принимает с брокера.
И есть 3 шт есп которые отправляет их на брокер.
У всех разные ID,разные адреса. Топики разные.
Но иногда в например, строчку с температурой вклинивается влажность.
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 »

User8 писал(а): 06 фев 2019, 15:45если с еще одного клиента подписаться на тот же топик
У меня уже клиенты кончились))
А если дам логин и пароль от моего брокера?? в личку.
Это не постоянно происходит, а через разные промежутки времени.
User8
Лейтенант
Сообщения: 341
Зарегистрирован: 12 июн 2017, 14:44
Имя: Евгений

MQTT для Arduino, ESP8266, ESP32

Сообщение User8 »

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

MQTT для Arduino, ESP8266, ESP32

Сообщение pipapsix »

Вот сейчас на компе запустил,пока все ок.
Вот сейчас за минуту раз пять , глюкануло, на экране.
Может не в эту тему нужно писать, а все дело в экране??
[spoiler]
IMG_20190206_171847.jpg
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
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 »

User8 писал(а): 06 фев 2019, 16:32возможно всё
Не в экране проблемма.Не понимаю где ошибся.
[spoiler]
IMG_20190206_183412.jpg
[/spoiler]

Отправлено спустя 8 минут 25 секунд:
Что за кошмар,? теперь стал температуру с другой есп брать и влеплять в показания))
Топики же разные, кааак.?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
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 »

User8 писал(а): 06 фев 2019, 19:09попробуй
Вот так здорово!
15 минут полет нормальный.
Благодарю.
Кстати это же было и в пред идущих версиях, кажется в 4. я тогда думал что показалось)) вот и не сказал.
Аватара пользователя
Stepa
Рядовой
Сообщения: 64
Зарегистрирован: 01 май 2018, 00:45
Откуда: Ковылкино, Мордовия
Имя: Степан

MQTT для Arduino, ESP8266, ESP32

Сообщение Stepa »

Ребят подскажите что не так, сто раз это делал, а сейчас ерунда какая то выскакивает, хотя сейчас последнюю версию программы поставил.

Ошибки
[spoiler]Arduino: 1.8.1 (Windows 7), Плата:"Generic ESP8266 Module, 80 MHz, 40MHz, DIO, 115200, 512K (64K SPIFFS), ck, Disabled, None"

........................................................
pr4:13: error: 'WiFiEventHandler' does not name a type

WiFiEventHandler wifiConnectHandler;

^

pr4:14: error: 'WiFiEventHandler' does not name a type

WiFiEventHandler wifiDisconnectHandler;

^

pr4:159: error: 'WiFiEventStationModeGotIP' does not name a type

void onWifiConnect(const WiFiEventStationModeGotIP& event)

^

pr4:159: error: ISO C++ forbids declaration of 'event' with no type [-fpermissive]

void onWifiConnect(const WiFiEventStationModeGotIP& event)

^

pr4:163: error: 'WiFiEventStationModeDisconnected' does not name a type

void onWifiDisconnect(const WiFiEventStationModeDisconnected& event)

^

pr4:163: error: ISO C++ forbids declaration of 'event' with no type [-fpermissive]

void onWifiDisconnect(const WiFiEventStationModeDisconnected& event)

^

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

pr4:46: error: 'wifiConnectHandler' was not declared in this scope

wifiConnectHandler = WiFi.onStationModeGotIP(onWifiConnect);

^

pr4:46: error: 'WiFi' was not declared in this scope

wifiConnectHandler = WiFi.onStationModeGotIP(onWifiConnect);

^

pr4:47: error: 'wifiDisconnectHandler' was not declared in this scope

wifiDisconnectHandler = WiFi.onStationModeDisconnected(onWifiDisconnect);

^

C:\Users\Admin\AppData\Local\Temp\flprog\pr4\pr4.ino: At global scope:

pr4:159: error: 'WiFiEventStationModeGotIP' does not name a type

void onWifiConnect(const WiFiEventStationModeGotIP& event)

^

pr4:159: error: ISO C++ forbids declaration of 'event' with no type [-fpermissive]

void onWifiConnect(const WiFiEventStationModeGotIP& event)

^

pr4:163: error: 'WiFiEventStationModeDisconnected' does not name a type

void onWifiDisconnect(const WiFiEventStationModeDisconnected& event)

^

pr4:163: error: ISO C++ forbids declaration of 'event' with no type [-fpermissive]

void onWifiDisconnect(const WiFiEventStationModeDisconnected& event)

^

C:\Users\Admin\AppData\Local\Temp\flprog\pr4\pr4.ino: In function 'void onMqttDisconnect(AsyncMqttClientDisconnectReason)':

pr4:173: error: 'WiFi' was not declared in this scope

if (WiFi.isConnected()) {

^

Используем библиотеку Ticker версии 1.0 из папки: c:\Program Files (x86)\FLprog\ideV2\portable\packages\esp8266\hardware\esp8266\2.3.0-rc2\libraries\Ticker
Используем библиотеку async-mqtt-client версии 0.8.2 из папки: c:\Program Files (x86)\FLprog\ideV2\libraries\async-mqtt-client
Используем библиотеку ESPAsyncTCP версии 1.2.0 из папки: c:\Program Files (x86)\FLprog\ideV2\libraries\ESPAsyncTCP
exit status 1
'WiFiEventHandler' does not name a type[/spoiler]

Проектик
1.flp
Настройки IDE

[spoiler]
1.jpg
[/spoiler]

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

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

Сообщение User8 »

Эта инструкция устарела, qos теперь работает без костылей.

Для того, чтобы на блоке sub работал qos, и после старта esp доходило последнее недоставленное сообщение, нужно сделать следующее:

Используйте прикрепленные блоки к данному сообщению, вместо тех, что в первом посте.
- После создания программы в flprog, нажмите на компилировать проект.
- Когда появится arduino IDE, найдите в начале строку subscribed_47669363_1, цифры у вас будут другие, вам нужно скопировать эти цифры, после чего закрыть Arduino IDE.
- Далее нажмите правой кнопкой мыши на блоке MQTT ESP qosMain v6.5, нажмите "Редактировать".
- Перейдите на вкладку FunctionSection и выберите void messageReceived.
- Скопируйте текст ниже и вставьте в функцию void messageReceived, вместо слова "цифры" укажите цифры которые вы копировали в Arduino IDE.

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

if (Topic_цифры_1 == topic) {
	Message_цифры_1 = payload;
}
- Вставьте текст столько раз, сколько у вас блоков sub в проекте.
- Для каждой новой вставке укажите в конце цифр на 1 больше. Вот так у вас должно получиться, если у вас 3 подписки:

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

if (Topic_47669363_1 == topic) {
	Message_47669363_1 = payload;
}
if (Topic_47669363_2 == topic) {
	Message_47669363_2 = payload;
}
if (Topic_47669363_3 == topic) {
	Message_47669363_3 = payload;
}
- Далее сохраните блок и нажмите обновить блок в проекте.

Теперь вам не придется каждый раз править скетч в ардуино ide. Да это костыли, но в текущей реализации flprog по другому получится только с затратой гораздо большего количества динамической памяти, что критично для микроконтроллеров.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось User8 29 май 2019, 14:05, всего редактировалось 13 раз.
pipapsix
Лейтенант
Сообщения: 438
Зарегистрирован: 25 окт 2016, 21:26
Откуда: Волгоградская обл.
Имя: СашкаСаняАлександр
Благодарил (а): 1 раз
Поблагодарили: 4 раза

MQTT для Arduino, ESP8266, ESP32

Сообщение pipapsix »

Уже боюсь , что то трогать.
При отключении первой есп, передающая есп, отправляет постоянно последнии показания на народный мониторинг.
Это мне гдето нужно поменять?. раньше внимание не обратил как то.
[spoiler]
2019-02-13_07-01-20.png
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
User8
Лейтенант
Сообщения: 341
Зарегистрирован: 12 июн 2017, 14:44
Имя: Евгений

MQTT для Arduino, ESP8266, ESP32

Сообщение User8 »

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

MQTT для Arduino, ESP8266, ESP32

Сообщение pipapsix »

[ref]User8[/ref], кстати. Наверно так и есть, вечером проверю.
renat85
Рядовой
Сообщения: 29
Зарегистрирован: 06 сен 2015, 20:48

MQTT для Arduino, ESP8266, ESP32

Сообщение renat85 »

Кто сталкивался, как лечить?
Из допов включена и используется функциональность пользовательских настроек ESP.

В момент компиляции:
[spoiler]
c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o:(.text._ZN15AsyncMqttClient7_onDataEP11AsyncClientPcj+0x54): undefined reference to `AsyncMqttClientInternals::ConnAckPacket::ConnAckPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (bool, unsigned char)>)'

c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o:(.text._ZN15AsyncMqttClient7_onDataEP11AsyncClientPcj+0x58): undefined reference to `AsyncMqttClientInternals::PingRespPacket::PingRespPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void ()>)'

c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o:(.text._ZN15AsyncMqttClient7_onDataEP11AsyncClientPcj+0x5c): undefined reference to `AsyncMqttClientInternals::SubAckPacket::SubAckPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (unsigned short, char)>)'

c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o:(.text._ZN15AsyncMqttClient7_onDataEP11AsyncClientPcj+0x60): undefined reference to `AsyncMqttClientInternals::UnsubAckPacket::UnsubAckPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (unsigned short)>)'

c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o:(.text._ZN15AsyncMqttClient7_onDataEP11AsyncClientPcj+0x64): undefined reference to `AsyncMqttClientInternals::PublishPacket::PublishPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (char*, char*, unsigned char, bool, bool, unsigned int, unsigned int, unsigned int, unsigned short)>, std::function<void (unsigned short, unsigned char)>)'

c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o:(.text._ZN15AsyncMqttClient7_onDataEP11AsyncClientPcj+0x68): undefined reference to `AsyncMqttClientInternals::PubRelPacket::PubRelPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (unsigned short)>)'

c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o:(.text._ZN15AsyncMqttClient7_onDataEP11AsyncClientPcj+0x6c): undefined reference to `AsyncMqttClientInternals::PubAckPacket::PubAckPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (unsigned short)>)'

c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o:(.text._ZN15AsyncMqttClient7_onDataEP11AsyncClientPcj+0x70): undefined reference to `AsyncMqttClientInternals::PubRecPacket::PubRecPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (unsigned short)>)'

c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o:(.text._ZN15AsyncMqttClient7_onDataEP11AsyncClientPcj+0x74): undefined reference to `AsyncMqttClientInternals::PubCompPacket::PubCompPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (unsigned short)>)'

c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o: in function `AsyncMqttClient::_onData(AsyncClient*, char*, unsigned int)':

c:\Users\Renat\Desktop\FLProg\ideV2\libraries\AsyncMqttClient/AsyncMqttClient.cpp:384: undefined reference to `AsyncMqttClientInternals::ConnAckPacket::ConnAckPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (bool, unsigned char)>)'

c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o: in function `AsyncMqttClient::_onData(AsyncClient*, char*, unsigned int)':

c:\users\renat\desktop\flprog\idev2\portable\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2/functional:1987: undefined reference to `AsyncMqttClientInternals::PingRespPacket::PingRespPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void ()>)'

c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: c:\users\renat\desktop\flprog\idev2\portable\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2/functional:1987: undefined reference to `AsyncMqttClientInternals::SubAckPacket::SubAckPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (unsigned short, char)>)'

c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o: in function `AsyncMqttClient::_onData(AsyncClient*, char*, unsigned int)':

c:\Users\Renat\Desktop\FLProg\ideV2\libraries\AsyncMqttClient/AsyncMqttClient.cpp:389: undefined reference to `AsyncMqttClientInternals::UnsubAckPacket::UnsubAckPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (unsigned short)>)'

c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: c:\Users\Renat\Desktop\FLProg\ideV2\libraries\AsyncMqttClient/AsyncMqttClient.cpp:395: undefined reference to `AsyncMqttClientInternals::PublishPacket::PublishPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (char*, char*, unsigned char, bool, bool, unsigned int, unsigned int, unsigned int, unsigned short)>, std::function<void (unsigned short, unsigned char)>)'

c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o: in function `AsyncMqttClient::_onData(AsyncClient*, char*, unsigned int)':

c:\users\renat\desktop\flprog\idev2\portable\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2/functional:2453: undefined reference to `AsyncMqttClientInternals::PubRelPacket::PubRelPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (unsigned short)>)'

c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o: in function `AsyncMqttClient::_onData(AsyncClient*, char*, unsigned int)':

c:\Users\Renat\Desktop\FLProg\ideV2\libraries\AsyncMqttClient/AsyncMqttClient.cpp:398: undefined reference to `AsyncMqttClientInternals::PubAckPacket::PubAckPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (unsigned short)>)'

c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o: in function `AsyncMqttClient::_onData(AsyncClient*, char*, unsigned int)':

c:\users\renat\desktop\flprog\idev2\portable\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2/functional:1336: undefined reference to `AsyncMqttClientInternals::PubRecPacket::PubRecPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (unsigned short)>)'

c:/users/renat/desktop/flprog/idev2/portable/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-3-20ed2b9/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: libraries\AsyncMqttClient\AsyncMqttClient.cpp.o: in function `AsyncMqttClient::_onData(AsyncClient*, char*, unsigned int)':

c:\users\renat\desktop\flprog\idev2\portable\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2/tuple:140: undefined reference to `AsyncMqttClientInternals::PubCompPacket::PubCompPacket(AsyncMqttClientInternals::ParsingInformation*, std::function<void (unsigned short)>)'

collect2.exe: error: ld returned 1 exit status

exit status 1
Ошибка компиляции для платы LOLIN(WEMOS) D1 R2 & mini.

[/spoiler]


UPD: решение тут: https://github.com/marvinroger/async-mq ... started.md

Просто скопировать библиотеку с гитхаба и положить в папку libraries не подходит.
smol
Рядовой
Сообщения: 62
Зарегистрирован: 16 ноя 2017, 18:25

MQTT для Arduino, ESP8266, ESP32

Сообщение smol »

Привет Всем!
Не смейтесь, чей-то никак ни могу подсоенить блоки для Arduino ....

no matching function for call to 'PubSubClient::PubSubClient(EthernetClient&, const char [14], int)'
PubSubClient client(mqttClient, "192.168.0.104", 1883);

Отправлено спустя 30 минут 40 секунд:
уфф разобрался....

Отправлено спустя 1 минуту 37 секунд:
вопрос. на выходе блока подписки сообщение присутствует на время ?? цикла? до смены сообщения в этом топике? еще как?
Ответить

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

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

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