• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

IoT Manager - архив обсуждений

Статус
В этой теме нельзя размещать новые ответы.

Lstt

Member
Господа, скачайте последние версии файлов Arduino IDE с GitHUb, просто замените (в staging версии) файлы (тупо копированием) и будет Вам счастье! Я работаю под Виндой 8.1 х64 - ничего компилить и в помине не умею :))
 

kursergey

New member
Y@Lstt Нормально объясни, а то Я только понял что у Тебя Win 8.1 х64.

1. Нужно установить самую последнюю staging версию Arduino IDE
2. Нужно установить самую последнюю версию библиотеки PubSubClient
Сделал что написано, всё равно ошибка.
Arduino: 1.6.5 (Windows 8.1), Плата"Generic ESP8266 Module, Serial, 80 MHz, 40MHz, DIO, 115200, 512K (64K SPIFFS)"

Используем библиотеку ESP8266WiFi в папке: C:\Users\kuril\AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-947-g39819f0\libraries\ESP8266WiFi

Используем библиотеку PubSubClient в папке: D:\Documents\Arduino\libraries\PubSubClient



C:\Users\*****\AppData\Roaming\Arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9/bin/xtensa-lx106-elf-g++ -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ -IC:\Users\*****\AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-947-g39819f0/tools/sdk//include -c -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -MMD -DF_CPU=80000000L -DARDUINO=10605 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 -IC:\Users\*****\AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-947-g39819f0\cores\esp8266 -IC:\Users\*****\AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-947-g39819f0\variants\generic -IC:\Users\*****\AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-947-g39819f0\libraries\ESP8266WiFi\src -ID:\Documents\Arduino\libraries\PubSubClient\src W:\Temp\build7874222112575924497.tmp\IoTmanager.cpp -o W:\Temp\build7874222112575924497.tmp\IoTmanager.cpp.o

IoTmanager.ino:11:30: fatal error: WiFiClientSecure.h: No such file or directory
compilation terminated.
Ошибка компиляции.
 

Victor

Administrator
Команда форума
Проблемы с компиляцией вызваны тем, что ESP8266 Community для Arduino IDE не может корректно обновиться.
Также возможны проблемы с компиляцией при использовании старых версий PubSubClient (или вообще не той библиотеки)

Решил не публиковать скомпилированные скетчи, а дать вам инструкцию, чтобы у вас все получилось.
Мои скетчи я компилировал на версии ESP8266 Community для Arduino IDE 1.6.5-1160.
Если у вас ранее уже была установлена предыдущая версия необходимо проделать следующее:

1. Деинсталлировать ESP8266 Community через BoardsManager
2. Почистить папку, куда грузит BoardsManager, у меня это [inline]C:\Users\Victor\AppData\Roaming\Arduino15\[/inline]
3. Почистить папку библиотек, у меня это [inline]C:\Users\Victor\Documents\Arduino\libraries\[/inline]
4. Убедиться, что в настройках Arduino IDE прописан файл [inline]http://arduino.esp8266.com/staging/package_esp8266com_index.json[/inline]
5. Установить через BoardsManager последнюю версию ESP8266 Community 1.6.5-1160 (должно загрузится около 200Мб, если процесс прошел слишком быстро, значит вы почистили не все)
6. Установить PubSubClient библиотеку от Imroy (для ESP8266) прямо из репозитария (не перепутайте с PubSubClient от knolleary для плат Arduino)

будьте дотошны и аккуратны и все получится.

Подобные проблемы уже обсуждались здесь
 

kursergey

New member
Сделал как написано вверху и почти всё получилось. Осталось два вопроса.
Что делает кнопка KEY. (у меня не активна)?
Почему PubSubClient.h не подсвечен?
Безымянный.jpg
 

Victor

Administrator
Команда форума
Что делает кнопка KEY. (у меня не активна)?
Это физическая кнопка (в приложении индикатор нажатия этой кнопки)
подключите тактовую кнопку на GPIO2, в скетче нужно немного подправить код, чтобы исключить срабатывания при дребезге
Почему PubSubClient.h не подсвечен?
ну это же staging версия ESP8266 Arduino IDE :) так что, может быть, что-то еще не доделано.
Лучше вам ответит разработчик ESP8266 Arduino IDE @igrr, попробуйте обратиться к нему в соответствующей теме.
 

DeViN

New member
Просьба отписаться у кого все получилось и какие были трудности
Приветствую.
Поднял mosquito брокер на OpenWrt и на cloudmqtt.com.
MQTT-Spy видит посты с обоих брокеров.
IoT Manager нормально работает через cloudmqtt.com, но не спаривается с mosquito "по простому".
Пробовал поиграться с настройками mosquito в секции "Extra listeners" аля "listener 8883, protocol websockets и require_certificate false"
IoT Manager заработал в режиме SSL.
----------
PS: доволен. Нужно развивать.
Как минимум хочется увидеть "разделение на экраны" в зависимости от разных условий. От разных клиентов (ESP) или по какому либо "текстовому" признаку. К примеру все клиенты Сарай или Гараж.
То, что слайдер "отдаёт значение" только после отпускания не сильно напрягает. Но при развитии неплохо бы сделать "плавным в онлайне".
 
Последнее редактирование:

DeViN

New member
Y@Lstt Нормально объясни, а то Я только понял что у Тебя Win 8.1 х64.


Сделал что написано, всё равно ошибка.
Arduino: 1.6.5 (Windows 8.1), Плата"Generic ESP8266 Module, Serial, 80 MHz, 40MHz, DIO, 115200, 512K (64K SPIFFS)"

Используем библиотеку ESP8266WiFi в папке: C:\Users\kuril\AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-947-g39819f0\libraries\ESP8266WiFi

Используем библиотеку PubSubClient в папке: D:\Documents\Arduino\libraries\PubSubClient



C:\Users\*****\AppData\Roaming\Arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9/bin/xtensa-lx106-elf-g++ -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ -IC:\Users\*****\AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-947-g39819f0/tools/sdk//include -c -Os -g -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -falign-functions=4 -std=c++11 -MMD -DF_CPU=80000000L -DARDUINO=10605 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 -IC:\Users\*****\AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-947-g39819f0\cores\esp8266 -IC:\Users\*****\AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-947-g39819f0\variants\generic -IC:\Users\*****\AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-947-g39819f0\libraries\ESP8266WiFi\src -ID:\Documents\Arduino\libraries\PubSubClient\src W:\Temp\build7874222112575924497.tmp\IoTmanager.cpp -o W:\Temp\build7874222112575924497.tmp\IoTmanager.cpp.o

IoTmanager.ino:11:30: fatal error: WiFiClientSecure.h: No such file or directory
compilation terminated.
Ошибка компиляции.
Коллеги!
У меня "по человечьи" тоже не получилось, хотя всё вычистил и установил с нуля всё самое свежее.
Но заработало оно только так:
[HASHTAG]#include[/HASHTAG] <ESP8266WiFi.h>
[HASHTAG]#include[/HASHTAG] <WiFiClient.h>
[HASHTAG]#include[/HASHTAG] <PubSubClient.h>
int mqttport = 1883;
IPAddress server(192, 168, 1, 1);
WiFiClient wclient;
PubSubClient client(wclient, server, mqttport);
---
А в примере так:

[HASHTAG]#include[/HASHTAG] <ESP8266WiFi.h>
[HASHTAG]#include[/HASHTAG] <PubSubClient.h>
IPAddress server(192, 168, 1, 1); // mosquitto address
PubSubClient client(server, 1883)
 

Victor

Administrator
Команда форума
То, что слайдер "отдаёт значение" только после отпускания не сильно напрягает. Но при развитии неплохо бы сделать "плавным в онлайне".
я пробовал делать плавно, но тогда слишком часто сыплются посты в топик и иногда подглючивает (не успевает прожевать либо сервер, либо ESP8266).
Можно еще ограничить отправку постов, например, каждые 100мс, но все равно будет не очень плавно.
 

DeViN

New member
Осознаю, что завалит постами, особенно, если брокер на туповатом рутере.
Про 100 мс. и то вперед будет. Думаю, что этот параметр нужно сделать переменным. Чтобы я в скетче его мог менять в зависимости от общего количества постов. Просто так, как сейчас очень неудобно подбирать цвет RGB ленты.
А как на счет раpделения экранов ?
 

Victor

Administrator
Команда форума
А как на счет разделения экранов ?
это безусловно нужно сделать, причем начало уже положено: страница (или экран) для каждого виджета задается в коде скетча (переменная [inline]page[/inline])
Есть только момент, что установок приложения мало и (пока) не вижу смысла его развивать и тратить время.
Посмотрим, что будет через месяц, но пока у меня складывается впечатление, что идея/реализация или что-то еще выбраны не очень удачно, раз так мало установок.
 

DeViN

New member
Мало потому, что "с налёту" не получается. Терпения не хватает. Я 3 дня бадался, чтобы увидеть то, что меня интересовало в конечном итоге.
А нужно мне была более гибкая среда, нежели BLync. При чем Blynk на OpenWrt я поднять не смог. А тут с горем пополам и какой то матери получилось.
Я ищу комплексное решение, у которого будет как можно меньше зависимостей. Главное в данном случае поддержка брокера mosquitto осуществляется командой OpenWrt.
Проблема в том, что "по инструкции" не получалось. Помог некоторый опыт работы с ардуино и та же матерь. ;). Разобрался в примерах из библиотек и Ваших. "слепил" и того, что было.
Потом еще ковырялся в конфигах москито. Далеко не у каждого терпения хватит.
Дело в том, что в двух статьях про IoTmanager и облачных брокеров мне не хватило решения "без интернета", как не парадоксально это звучит. Ибо мне нужно решение для интрасети. И я не хочу поднимать дополнительные сервера.
Любое интрасетевое решение, как в легендарном фильме "легко превращается" в интернетовское с помощью portmapping и DDNS.
Так бывает часто, когда тему придумал сам и в ней гуру. Всё кажется просто и понятно. И всё работает. А пришел я и нифига не понимаю :).
Хороший проект. Однозначно буду его реализовывать. При этом идея опять же в смешивании решений. Автономная интернет вещь, работающая по своему внутреннему алгоритму, конфигурируемая полностью через веб морду с возможностью контролировать и управлять через MQTT.
 

Victor

Administrator
Команда форума
"с налёту" не получается
это потому, что используются "последние достижения" - Arduino IDE постоянно развивается.
Было бы неплохо, если бы кто-то попробовал сделать клиента на чем-то другом (NodeMCU например) и поделился опытом.
с возможностью контролировать и управлять через MQTT
тогда жду ваших замечаний/предложений
 

DeViN

New member
это потому, что используются "последние достижения" - Arduino IDE постоянно развивается.
Было бы неплохо, если бы кто-то попробовал сделать клиента на чем-то другом (NodeMCU например) и поделился опытом.

тогда жду ваших замечаний/предложений
Я пытался ободрить ;) по поводу малого количества интереса. Есть он. Когда будет более "просушенное" решение,то на посты отвечать времени не будет ;)
А замечаний пока нет. Меня пока всё устраивает :). Разве, что позже могу поделиться результатом своего творчества :)
На NodeMcu это не сделать. Скорости LUA и памяти не хватит обрабатывать такое количество постов.
Когда появятся (надеюсь в этом году) обязательно сообщу. А так, буду рад обмениваться промежуточным опытом в личку.
 

DeViN

New member
Просьба отписаться у кого все получилось и какие были трудности
Victor.
Мне очень понравилась идея того, что в отличие от Blynk конфигурирование идет на ESP, а не в приложении.
Тут минус один. Изменение в конфигурации связано с перезаливкой прошивки.
Небыло мыслей сделать онлайн конфигуратор ?
На основе WEB интерфейса самой ESP. Что то типа на страничке выдать список всех GPIO и назначить на каждый соответствующий элемент управления или отображения.
 

Victor

Administrator
Команда форума
На основе WEB интерфейса самой ESP. Что то типа на страничке выдать список всех GPIO и назначить на каждый соответствующий элемент управления или отображения.
напрямую к приложению это не относится (в нем ничего менять не придется), вы можете это все сами сделать в скетче, плюс еще и обновление прошивки по воздуху.
Точно так же можно в скетче можно предусмотреть и логику: например, при срабатывание сенсора на одной ESP8266 выполнить какое-то действие на другой.
 

Jon

Member
Приложение не хочет подключаться к хосту CloudMQTT
Менял и пользователей и регионы подключения. Вcе равно красным: "DISCONNECTED".
Что-то нужно на роуторе подкрутить или мой провайдер все рубит?
Как можно еще по другому проверить подключение?
 

Victor

Administrator
Команда форума
Приложение не хочет подключаться к хосту CloudMQTT
Менял и пользователей и регионы подключения. Вcе равно красным: "DISCONNECTED".
Что-то нужно на роуторе подкрутить или мой провайдер все рубит?
Как можно еще по другому проверить подключение?
Убедитесь, что в настройках подключения в приложении включен SSL
На роутере со стандартными настройками делать ничего не требуется.
Попробуйте сделать скриншоты CloudMQTT (там где он дает настройки) и скриншот из приложения IoT Manager (окно, куда вы вводите данные для подключения)
Если не хотите скриншоты публиковать здесь, то можете отправить мне в личку.
Еще попробуйте установить mqtt-spy (ссылка в статье) и вручную проверить, что из него вы можете публиковать данные в топики
Проверьте логи в приложении
Другой путь много сложнее - нужно поднимать mosquito где-то у вас в локальной сети и настраивать на нем возможность подключения по WebSockets
 

Victor

Administrator
Команда форума
Вот скриншоты:
"Connection timeout" говорит о проблемах с доступностью порта.
Попробуйте подключиться к cloudmqtt с компьютера из командной строки:
[inline]telnet m11.cloudmqtt.com 30623[/inline]
если все ок, то увидите мигающий курсор на черном экране, а если если есть проблемы, то будет сообщение об ошибке о новозможности подключения - тогда разбирайтесь со своим роутером/провайдером.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу