Iot Manager + модульная прошивка esp8266

rriissee33

Member
В этом видео продемонстрирована работа модульной прошивки для esp8266 и iot manager.
Надеюсь что моя идея реализации кода esp Вам понравится. Я хотел бы ее развивать дальше.
Пишите свои предложения. Скоро выложу исходники на githab.

 

alampw

New member
Все это здорово. И можно было бы попробовать. Представляет интерес , правда в том случае, если IOT manager будет поддерживаться. Создал небольшой проектик под esp8266 на lua (IotManager+MQTT на Clodmqtt).
А теперь засомневался (на appstore приложения нет, и на GooglePlay тоже нет). Правда Push-уведомления так и не одолел. Ни примеров под lua - ничего...
 

rriissee33

Member
Он будет поддерживаться. Скоро выйдет новый релиз и он появится везде!!!
Все это здорово. И можно было бы попробовать. Представляет интерес , правда в том случае, если IOT manager будет поддерживаться. Создал небольшой проектик под esp8266 на lua (IotManager+MQTT на Clodmqtt).
А теперь засомневался (на appstore приложения нет, и на GooglePlay тоже нет). Правда Push-уведомления так и не одолел. Ни примеров под lua - ничего...
Он будет поддерживаться. Подождите и выйдет новый релиз и он появится везде... И я допилю прошивку к тому времени... Она уже есть на гитхабе: DmitryBorisenko33/esp8266_iot-manager_modules_firmware
 

rriissee33

Member
Продолжаю расширять функционал прошивки.

Теперь у меня имеются следующие модули:

1. Модуль управления реле

2. Модуль физической кнопки (может по нажатию отправлять команды включения выключения реле на другие модули и на этот, а так же отправлять push уведомления)

3. Модуль измерения уровня в баке (поддержка дальномера HC-SR04 или водонепроницаемого JSN-SR04T v2.0, с последним пработал достаточно хорошо, решил проблему с его нестабильностью путем добавления конденсатора на 100 мкф по питанию. Провел исследование и понял что этот дальномер лучше всего работает от 5.5 вольт. В результате получил более 1000 одинаковых измерений на расстоянии 2 метра без фильтров. Но что бы окончательно довести до ума этот датчик решил еще применить медианный фильтр, который отсекает промахи в измерениях. Каждые пол секунды датчик делает замер и так 20 раз. Потом полученные 20 значений анализируются и выбирается одно из них, самое часто встречающиеся.) Думаю модуль измерения воды в баке можно даже теперь применять вместе с насосами и силовыми устройствами. Что кстати можно настроить в сценариях моей прошивки. https://ru.aliexpress.com/item/Waterproof-Ultrasonic-Module-JSN-SR04T-Water-Proof-Integrated-Distance-Measuring-Transducer-Sensor-for-Arduino/

4. Модуль аналогового сенсора это модуль который легко настроить под любой датчик. Задается начальное/конечное значение входное и начальное/конечное значение выходное. Выходное это то которое будет отображаться в приложении. Например если написать входное: 0 - 1024 а выходное 0 - 100 то диапазон от 0 до 1024 масштабируется в значения от 0 до 100. В общем говоря это ардуиновская функция map, кто знает тот поймет. Но очень удобно так аналоговые датчики переводить в нужные диапазоны. При том можно и делать не от нуля. Например от 500 до 1000 перевести к примеру от -50 до 50.)

5. Модуль температурного сенсора ds18b20. Тут все просто - красивый термометр в iot manager появляется.

6. Модуль управления ШИМ. Можно создавать много на разные пины при том в iot manager появятся ползунки которыми можно будет устанавливать значения.

Сценарии работают так что на любое пороговое значение любого сенсора можно назначить либо команду включения реле на другом устройстве или на этом, либо можно назначить отправку пуш либо все сразу. И пуш и команду.

Сделал поддержку push уведомлений. Когда перешел на новую среду последней версии все стало работать четко. Правда пока пуши отправляются в pushbullet. Потом восстановим api iot manager будут отправляться и в iot manager. Сделал так, что не отправленные пуши если не было интернета сохраняются в памяти и потом когда интернет появляется они отправляются.

В общем то переход на новую среду все просто до неузноваемости изменил. Все начало работать очень быстро. В разы быстрее. Я не ожидал сам и памяти всего 40 процентов оперативной занимает.

Теперь о планах. Я нашел нужных людей и начну разбираться с темой zigbee. Я хочу интегрировать в эту прошивку устройства zigbee. То есть все датчики xiaomi и другое. Скоро начну писать модуль поддержки радомодуля zigbee.

Сюда приложу видео инструкции которые успел записать:



 

rriissee33

Member
Выкладываю еще видео:

1.Как прошить модуль:

2.Настройка подключения к серверу mqtt:

3.Настройка модуля управления реле

4.Настройка Push Notification

5.Система измерения уровня воды в баке:

6.Как настроить сценарии:
Часть 6. Умный дом. Настройка сценариев. ESP8266. IoT manager
 

Zavhoz2015

New member
С нетерпением ждём развития этого проекта!
Необходимо добавить датчики mz19,датчики угарного, метана.
И если можно чтобы сигнал был с телефона с выбором звука...
 

nikolz

Well-known member
для любознательных
алгоритм медианного фильтра такой
массив данных сортируем по возрастанию или убыванию
в си есть для этого стандартная функция
медиана - значение в середине массива
 

rriissee33

Member
С нетерпением ждём развития этого проекта!
Необходимо добавить датчики mz19,датчики угарного, метана.
И если можно чтобы сигнал был с телефона с выбором звука...
Здравствуйте. Спасибо за поддержку.

Я планирую добавить еще многие датчики. Расскажите пожалуйста о датчиках mz19 поконкретнее. Каким способом они передают данные. Я попробую добавить. Самих датчиков у меня нет, может получится добавить их, без них самих?

К сожалению пуш уведомления у меня работают через приложение pushbullet. Я думаю что в настройках телефона можно поставить на это приложение любой другой звуковой сигнал.

Пуш увидомления iot manager мы доработаем позже. Сейчас я жду от Виктора новый релиз приложения.

Спасибо Вам за ответ.
 

rriissee33

Member
для любознательных
алгоритм медианного фильтра такой
массив данных сортируем по возрастанию или убыванию
в си есть для этого стандартная функция
медиана - значение в середине массива
Очень интересно. Спасибо. Я не знал что медианный фильтр есть в си. Я использовал вот это библиотеку: GyverFilters.h. В общем то у меня получилось стабилизировать этот датчик путем установки конденсатора по питанию и установки экранированного провода. Фильтр можно было и не применять. Но я добавил его потому что по некому стандарту, когда работаешь с чем то ненадежным лучше учесть все возможные проблемы. Подскажите эту медианную функцию си, пожалуйста.
 

nikolz

Well-known member
Очень интересно. Спасибо. Я не знал что медианный фильтр есть в си. Я использовал вот это библиотеку: GyverFilters.h. В общем то у меня получилось стабилизировать этот датчик путем установки конденсатора по питанию и установки экранированного провода. Фильтр можно было и не применять. Но я добавил его потому что по некому стандарту, когда работаешь с чем то ненадежным лучше учесть все возможные проблемы. Подскажите эту медианную функцию си, пожалуйста.
это не медианная функция а функция сортировки
медиана - это значение в середине массива после сортировки
функция qsort
 

nikolz

Well-known member
относительно применения фильтров к данным
я делал измерители расстояния на различных датчиках в том числе и на HC-SR04
работают стабильно
В вашем случае проблема как я понял в источнике питания
В этом случае надо ставить фильтр для источника а не для данных Собственно вы это и сделали
фильтр для данных применяется когда полезные данные зашумлены окружающим пространством
например изменением отражающей способности поверхности или колебанием воды в бочке.
Но в этом случае вид фильтра выбирается исходя из вида помех
медианный фильтр удаляет импульсные помехи или промахи в данных.
примерно так, если интересуют подробности то почитайте теорию цифровой фильтрации данных.
Там и алгоритмы фильтров найдете.
 

rriissee33

Member
относительно применения фильтров к данным
я делал измерители расстояния на различных датчиках в том числе и на HC-SR04
работают стабильно
В вашем случае проблема как я понял в источнике питания
В этом случае надо ставить фильтр для источника а не для данных Собственно вы это и сделали
фильтр для данных применяется когда полезные данные зашумлены окружающим пространством
например изменением отражающей способности поверхности или колебанием воды в бочке.
Но в этом случае вид фильтра выбирается исходя из вида помех
медианный фильтр удаляет импульсные помехи или промахи в данных.
примерно так, если интересуют подробности то почитайте теорию цифровой фильтрации данных.
Там и алгоритмы фильтров найдете.
Да все верно. Я как раз на тот случай и оставил фильтр если будут колебания воды в баке или эхо.
Спасибо я почитаю. Очень интересная информация.
И напрашивается вопрос: какой из датчиков расстояния лучший из тех что Вы приминяли?
 

nikolz

Well-known member
Да все верно. Я как раз на тот случай и оставил фильтр если будут колебания воды в баке или эхо.
Спасибо я почитаю. Очень интересная информация.
И напрашивается вопрос: какой из датчиков расстояния лучший из тех что Вы приминяли?
Зависит от решаемой задачи, измеряемого расстояния, цены, допустимого потребления.
HC-SR04 нормально работает если не надо измерять рельеф, и не требуется малое потребление
Наибольшей точностью обладает триангуляционный, далее фазовый,импульсный.
SHARP 2Y0A02 расстояние лишь 150 см.
VL53L1X - расстояние до 4 м
ультразвуковые HC-SR04(от 5 вольт), HC-SR04P(от 3 вольт). У них излучатели одинаковые раздельные различаются лишь чипами и потреблением.
ультразвуковой GY-US42 до 7 м
-------------------------
Собственно все работают в соответствии с документацией и в соответствии с ценой.
--------------------------------
относительно измерения уровня воды в бочке бутылке стакане
можно сделать простой емкостной датчик - два провода изолированных
но алгоритмы более сложные чем с готовыми датчиками






 

rriissee33

Member
Зависит от решаемой задачи, измеряемого расстояния, цены, допустимого потребления.
HC-SR04 нормально работает если не надо измерять рельеф, и не требуется малое потребление
Наибольшей точностью обладает триангуляционный, далее фазовый,импульсный.
SHARP 2Y0A02 расстояние лишь 150 см.
VL53L1X - расстояние до 4 м
ультразвуковые HC-SR04(от 5 вольт), HC-SR04P(от 3 вольт). У них излучатели одинаковые раздельные различаются лишь чипами и потреблением.
ультразвуковой GY-US42 до 7 м
-------------------------
Собственно все работают в соответствии с документацией и в соответствии с ценой.
--------------------------------
относительно измерения уровня воды в бочке бутылке стакане
можно сделать простой емкостной датчик - два провода изолированных
но алгоритмы более сложные чем с готовыми датчиками
Спасибо Вам за развернутый ответ!
 

grigorygn

New member
Пишите свои предложения.
Классный проект!
Все просто и быстро конфигурится, и перенастраивается без необходимости перекомпиляции и перепрошивки.

Но есть одно НО - необходима авторизация вебадминки модуля. Без авторизации это большая дыра в безопасности, любой подключившийся к сети может сломать настройки модуля умышленно или случайно...

Так что обязательно нужна защита конфигурации паролем.
 

rriissee33

Member
esp8266_iot-manager_modules_firmware
новая версия прошивки

esp8266_iot-manager_modules_firmware/wiki/Instruction
полное тех описание

1.Изменины команды в более удобный вид
2.добавлены кнопки включающиеся на заданный промежуток времени
3.добавлено окно ввода чисел

Работаем над новой версией приложения iot manager. Push сообщения будут приходить в последствии прям в него.
 

rriissee33

Member
Классный проект!
Все просто и быстро конфигурится, и перенастраивается без необходимости перекомпиляции и перепрошивки.

Но есть одно НО - необходима авторизация вебадминки модуля. Без авторизации это большая дыра в безопасности, любой подключившийся к сети может сломать настройки модуля умышленно или случайно...

Так что обязательно нужна защита конфигурации паролем.
Спасибо за отзыв. Я планирую это добавить. А еще может в последствии мы совсем уйдем от web интерфейса. Все будет прям в приложении.
 

rriissee33

Member
Всем привет. Мы потихоньку работаем с Виктором над iot manager 2. Модульная прошика тоже понемногу развивается. Сейчас я уже готов ее в скором времени запустить на esp32. А там будет больше функций и зашифрованный mqtt и полноценный логин пароль в web интерфейсе. Но и для esp8266 прошивка была изменена и доработана. Посему выкладываю видео обзор:

 
Сверху Снизу