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

Посоветуйте связку: ESP + реле + датчик

aZholtikov

Active member
Если исполнительным устройством является WiFi реле или Умная розетка (или другой ESP), то передача команды в среднем занимает от 100 до 1 сек. А нормальная обработка события связанная с ожидаемой реакцией человека всего до 200 ms. Если более, то кнопка будет нажата уже молотком. Таков WiFi и ничего тут не поменять...
ИМХО. Я попытался решить эти проблемы (и вроде решил в своем "умном домике") отказом от WiFi и переходом на ESP-NOW. Протокол конечно сильно с оговорками, но передача (с получением подтверждения) между устройствами (PIR сенсор и лампочка (или реле)) занимает около 10-15 ms. Меня устраивает.
 

rst

Member
Я попытался решить эти проблемы (и вроде решил в своем "умном домике") отказом от WiFi
Проблемы они только в реализации. Точнее - ограниченных способностях и лени тех, кто реализует. А не в WiFi. Сам WiFi вполне позволяет оперативно управлять вашими лампочками/релюшками (в локальной WiFi-сети, а не интернете). И даже через дохлый ESP8266.
Просто таков уровень квалификации большинства "реализаторов". :confused:
Есть у меня свой проект с управлением по WiFi (через ESP8266). Никаких ощутимых задержек не замечаю при управлении им в домашней WiFi. И это при том, что кроме канала управления (TCP-сокета), через этот же ESP8266 в это же время идёт поток реал-тайм данных (через другой TCP-сокет).
 

aZholtikov

Active member
Проблемы они только в реализации. Точнее - ограниченных способностях и лени тех, кто реализует. А не в WiFi. Сам WiFi вполне позволяет оперативно управлять вашими лампочками/релюшками (в локальной WiFi-сети, а не интернете). И даже через дохлый ESP8266.
Просто таков уровень квалификации большинства "реализаторов". :confused:
Есть у меня свой проект с управлением по WiFi (через ESP8266). Никаких ощутимых задержек не замечаю при управлении им в домашней WiFi. И это при том, что кроме канала управления (TCP-сокета), через этот же ESP8266 в это же время идёт поток реал-тайм данных (через другой TCP-сокет).
Вполне соглашусь, что при управлению по WiFi может не быть задержек, но при условии, что перед выполнением чего-либо модуль был заранее подключен к сети. С батарейной темой это у меня не прокатило. Возможно что-то не так делал...
Пример: датчик открытия двери от Tuya на ESP8266. Там стоит еще один мелкий МС, который включает питание 8266 при срабатывании датчика.
Сработало - холодный старт 8266 - подключение к сети - передача данных. С родной прошивкой около 7-10 сек. Со своей по WiFi - около 4-5 (передача на локальный MQTT).
При ESP-NOW - 0,2 сек до шлюза (ESP-NOW - MQTT) и 0,3 сек передача на локальный MQTT.

Вот по этому от WiFi и отказался. + роутер не нужен. :)
 

rst

Member
Сработало - холодный старт 8266 - подключение к сети - передача данных. С родной прошивкой около 7-10 сек. Со своей по WiFi - около 4-5 (передача на локальный MQTT).
Ну а чего-ж Вы хотели? Надо использовать или постоянное подключение к сети или делать на чём-то другом. Можно сделать на каких-то простых радиомодулях или Bluetooth или ZigBee или etc.: там не нужно время на подключение к сети - проснулся и сразу можно передавать.
А отключать WiFi, потом включать и ждать мгновенной реакции - заведомая глупость.

Вот по этому от WiFi и отказался. + роутер не нужен. :)
Если делали на радиомодулях, то вместо роутера нужен радиомодуль на центральном узле. А если на проводах - клубок проводов. ;)
 
Понятно )))) а я все думал, как платы соединить.
И на нее прекрасно встает
Взял чуток другую ESP-01S.
Решил, что она меньше по размеру, а смысл вроде как тот же.
В коментах пишут, что не очень работает. Хотя сам стал смотреть на подобные и нашел ещё со встроенным вайфаем. Правда не понимаю, что можно с ним делать ещё.
 
Вы описываете типичную функцию из "Умного Дома".
И что в этом плохого?
Но отличие "Умного Дома" в том, что он является расширяемой системой и может выполнять сотни функций с сотнями ваших условий исключая сложные переписывания ПО в датчиках и исполнителях.
При этом включить и выключить ту-же лампочку можно и через местный и внешний сервер. При использовании "Умного Дома" типа Home Assistant внешний сервер не обязателен, а существует как дополнение к возможностям.
Знаю прибилизительно, что такое "Умный дом". Слегка щупал Мажордома. До Хоум Асистент руки не дошли. Только вы пишите, что включать/выключать лампочку можно через внешний или внутренний сервер. Если я правильно вас понял, то имеется ввиду именно управление с свервера, хоть с выходом в инет, хоть без. Тогда для этого не нужно столь умный выключатель. Достаточно обычной релешки. А я хотел бы иметь некторую отказоустойчивость. Вдруг что-то произойдет с сервером.
Хотя как я понял, в том же Мажордоме так масштабировать систему можно. Вот и буду думать над расширением и осваивать постепенно. А ставить сразу систему умного дома, не считаю правильным, если есть желание разобраться с нуля.
 
Таков WiFi и ничего тут не поменять...
Пока за особой скоростью не гонюсь. Тут важнее понять, сколько вайфай может спать в такой ситуации или должен быть постоянно включен. Но над BLE думаю. Роутер то имеется, а вот поддержку BLE к нему ещё нужно прикручивать. Потому с этим и не тороплюсь.
 

enjoynering

Well-known member
ESP-NOW да вайфай, но без всяких доп пакетов, поэтому быстрее соединение.

ПЫ.СЫ. Вот тут у автора esp12 с менеджером питания проработал 473 дня от двух АА батарей и передал 8912 сообщений.
 
Фотореле управляет светом, когда темно. Для чего нужна информация о времени - чтобы включить выключенную лампочку?
Кстати, стал возиться с фонарем (лампой), в котором встроена солнечная панель. Когда света становиться мало, автоматически включается свет фонаря. Но вроде как никаких фотореле не наблюдаю. Возможно построено на получении тока от солнечной панели. Типа есть заряд от панели - лампа не горит, нет заряда - лампа загорается от батарейки. Только все равно не понял, что конкретно за это отвечает. Видимо что-то типа ИБП или какого-то зарядного устройства типа этого https://aliexpress.ru/item/40012429...8527100&spm=a2g0s.12269583.0.0.31097860U9tVwK (порекомендовал aZholtikov )
 

aZholtikov

Active member
ПЫ.СЫ. Вот тут у автора esp12 с менеджером питания проработал 473 дня от двух АА батарей и передал 8912 сообщений.
[/QUOTE]

Поддержу. Мой доработанный (замена модуля на ESP-12E и своя прошивка) датчик открытия двери/окна Tuya уже 2 года работает от 2х батареек ААА (среднее кол-во срабатываний в сутки около 30-40). И пока уровень не упал ниже 2.9в. Планирую лет на 5... :) ESP8266 при необходимости очень мало может потреблять.
 

enjoynering

Well-known member
Протокол ESP-NOW работает на всех esp. Но есть нюанс, одновременно ESP-NOW и обычный wifi не работает тк радиомодуль то один, а не два. Те предавать данные по ESP-NOW и одновременно работать с STA или Soft AP не получится.
 

aZholtikov

Active member
Протокол ESP-NOW работает на всех esp. Но есть нюанс, одновременно ESP-NOW и обычный wifi не работает тк радиомодуль то один, а не два. Те предавать данные по ESP-NOW и одновременно работать с STA или Soft AP не получится.
А вот это категорически не верно.
Может при соблюдении некоторых "тонкостей":
1. ОБЯЗАТЕЛЬНО установить на роутере принудительно канал 1.
2. Установить режим WiFi - WIFI_AP_STA.
3. Подключиться к сети.
4. Запустить ESP-NOW в режиме ESP_NOW_ROLE_COMBO.
5. ОБЯЗАТЕЛЬНО запустить точку доступа.

Это работает и работает безотказно (только не следует перегружать кодом функции обработки событий ESP-NOW).
Чтобы не быть голословным полностью рабочий код ниже. Работает уже долго. Попробуйте.

WiFi.disconnect();
WiFi.mode(WIFI_AP_STA);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
}
esp_now_init();
WiFi.softAP("ESP-NOW GATEWAY");
esp_now_set_self_role(ESP_NOW_ROLE_COMBO);
esp_now_register_send_cb(onDataSent);
esp_now_register_recv_cb(onDataReceive);
 
Чтобы не быть голословным полностью рабочий код ниже. Работает уже долго. Попробуйте.
Спасибо, даст Бог, через 2-3 недели дойдут руки попробовать.
только не следует перегружать кодом функции обработки событий ESP-NOW
Надеюсь будет не много. Мне то всего нужно: включать/отключать лампу либо, чтоб она сама включалась, либо с сервера, либо со второго сервера (пульта). Да отсылать время от времени отчет на "главный" сервер.
Но вот тут возникают вопросы по схеме подключения. Поскольку я все таки решил сделать как минимум одну версию (несколько штук) на солнечных панелях + акб 18650, то стоит вопрос в схеме подключения. А в железе я практически ноль.
Кстати, свои ESP-01S брал для других целей, но надеялся, что может и их получиться приспособить под эту часть проекта.
 
Сверху Снизу