• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Глупые вопросы от Новичка - NodeMCU v3 и Умному Дому

Semedney

Member
Не знаю там входа 5V. Есть Vin на который можно подать 4.3-16 вольт (из даташита на стоящий там стабилизатор)

Да ничего особенного делать не надо. С точки зрения повышения помехоустойчивости, можно посадить их на землю, а в коде сделать pinMode(XX,INPUT). Но разумеется это только для тех выводов от поведения которых не зависит загрузка и которые не используются процессором независимо от вас.

Нормально.
Спасибо.
Тут возник вопрос с подключением датчика Пожарного ИП212-142
Как оказалось светодиод у него в режиме ожидания мигает и крайне редко, а вот в режиме сработки мигает быстро.

Как обработать такое поведение в коде я не понимаю пока, ищу информацию.
Может Вы мне что подскажите ?
 

Юрий Ботов

Moderator
Команда форума
Я бы повесил прерывание по RISING (не CHANGE) на эту ногу и замерял бы время между прерываниями. Если большое - ОК, если меньше какого то порога - ПОЖААААР!
 

Semedney

Member
Я бы повесил прерывание по RISING (не CHANGE) на эту ногу и замерял бы время между прерываниями. Если большое - ОК, если меньше какого то порога - ПОЖААААР!
Спасибо.
Как то так я и поступил, но тут еще одни грабли.

Выход со светодиода (вернее параллельно ему) в режиме ожидания 0,5V, в режиме тревоги 0,85V
Подавая его на вход, переключения уровней нет.

Как я Мыслю нужен транзистор или оптрон, но вот какой ума не приложу. Курю интернет.
 

Юрий Ботов

Moderator
Команда форума
Да, оптопара как вариант. Но важно - не параллельно светодиоду а вместо него.
Например такая: https://old.radiodetali.com/pdf/everlight/optopair/EL817.pdf
Можно и другие, но лучше именно транзисторные, главное что бы не тиристорная :)
Диодную придется сажать на аналоговый вход.
 

Semedney

Member
Да, оптопара как вариант. Но важно - не параллельно светодиоду а вместо него.
Например такая: https://old.radiodetali.com/pdf/everlight/optopair/EL817.pdf
Можно и другие, но лучше именно транзисторные, главное что бы не тиристорная :)
Диодную придется сажать на аналоговый вход.
Сегодня попробую найти такую детальку, завтра продолжу свои опыты.

У меня к вам вопрос не совсем по теме, у меня в доме стоят модули Sonoff Mini на включение света. До последнего времени все было нормально, но тут я стал замечать, что появились фантомные переключения, свет включается и сразу выключается. Потом один модуль вообще сдурел и начал молотить без конца, опытным путем выяснил что виной всему провода до выключателей, которые в большинстве своем к ним самим не подключены.
Начал искать решение и на одном буржуйском сайте нашел таки инфу о таких же проблемах, и решение было поставить паралельно выключателю конденсатор, у людей вроде как помогало, а Вы что скажите поможет ?
 

Semedney

Member
Да, оптопара как вариант. Но важно - не параллельно светодиоду а вместо него.
Например такая: https://old.radiodetali.com/pdf/everlight/optopair/EL817.pdf
Можно и другие, но лучше именно транзисторные, главное что бы не тиристорная :)
Диодную придется сажать на аналоговый вход.
Юрий
С оптопарой все получилось, данные обрабатываются, от светодиода как вы и говорили пришлось отказаться.
Сейчас нарисую схему устройства и выложу.

Теперь у меня такой вопрос, а как то можно связать эти модули не по WiFi а по проводу с ПК (сервером) ?
Или можно параллельно всему коду обработки датчиков сделать из этой платы дополнительный ретранслятор WiFi и свою сеть?
Например его подключить к Роутеру по WiFi а уже к нему еще несколько (вроде как до 4 можно) устройств, так что бы они передавали данные через него ?
 

Semedney

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

Теперь у меня такой вопрос, а как то можно связать эти модули не по WiFi а по проводу с ПК (сервером) ?
Или можно параллельно всему коду обработки датчиков сделать из этой платы дополнительный ретранслятор WiFi и свою сеть?
Например его подключить к Роутеру по WiFi а уже к нему еще несколько (вроде как до 4 можно) устройств, так что бы они передавали данные через него ?
Юрий, вот схема устройства.

Может нужно добавить какие то элементы что бы повысить надежность ?

Схема устройства.jpg
 

Юрий Ботов

Moderator
Команда форума
Теперь у меня такой вопрос, а как то можно связать эти модули не по WiFi а по проводу с ПК (сервером) ?
Модули? Модули датчиков или модули NodeMcu?
Поясните задачу в целом - так будет проще ответить.
Может нужно добавить какие то элементы что бы повысить надежность ?
Я не знаю какие у вас герконы... если такие что с магнитом - разомкнутые, а без магнита замкнутые ("нормально замкнутые") то на стороне NodeMcu с их входов пустить на землю конденсаторы где нибудь 10нФ.
 

Semedney

Member
Модули? Модули датчиков или модули NodeMcu?
Поясните задачу в целом - так будет проще ответить.

Я не знаю какие у вас герконы... если такие что с магнитом - разомкнутые, а без магнита замкнутые ("нормально замкнутые") то на стороне NodeMcu с их входов пустить на землю конденсаторы где нибудь 10нФ.
герконы с магнитом замкнутые

Есть сервер умного дома - развернут на ноутбуке (может потом одноплатник).
Есть роутер с 4G - Huawei B525s-23a
Есть много устройств с WiFi которые к нему уже подключены (около 25 шт.)

Теперь нужно будет добавить еще около 15 устройств с WiFi, может и больше.
Есть опасения что Роутер уже не потянет столько устройств, поэтому хочется NodeMcu подключить к серверу по проводу.
Возможность такая есть, витая пара прокинута.

Или если не по проводу, то создать из NodeMcu какую то под сеть, которая в сво очередь объединить все.
 

Semedney

Member
Поищите "esp8266 MESH". Как пример можно глянуть тут: https://github.com/martin-ger/esp_wifi_repeater
Юрий
Я правильно понимаю, что NodeMCU v3 может поставляться и без какой либо прошивки, так сказать базовой ?

Для того что бы воспользоваться все тем что описано в ссылке выше мне нужно установить прошивку ( по ссылке) и потом стандартно загрузить скрипт датчиков ?
 

Юрий Ботов

Moderator
Команда форума
Я правильно понимаю, что NodeMCU v3 может поставляться и без какой либо прошивки, так сказать базовой ?
Теоретически да, ибо 90% "подделка", но обычно идет прошивка "Lua-NodeMcu" той или иной свежести.
Для того что бы воспользоваться все тем что описано в ссылке выше мне нужно установить прошивку ( по ссылке) и потом стандартно загрузить скрипт датчиков ?
Нет конечно. Это просто пример самоcтоятельной прошивки реализующей MESH. Как только поверх вы загрузите скетч - эта прошивка будет погребена под ним.
Надо написать собственный скетч, в котором и MESH и собственно обработка датчиков. Элементы кода MESH можно надергать из той прошивки на которую я сослался.
Возможно есть и другие варианты, погуглите, народ сейчас активно экспериментирует с MESH, в том числе на esp32 и esp8266.
 

Semedney

Member
Теоретически да, ибо 90% "подделка", но обычно идет прошивка "Lua-NodeMcu" той или иной свежести.

Нет конечно. Это просто пример самоcтоятельной прошивки реализующей MESH. Как только поверх вы загрузите скетч - эта прошивка будет погребена под ним.
Надо написать собственный скетч, в котором и MESH и собственно обработка датчиков. Элементы кода MESH можно надергать из той прошивки на которую я сослался.
Возможно есть и другие варианты, погуглите, народ сейчас активно экспериментирует с MESH, в том числе на esp32 и esp8266.
Юрий
Я уже несколько дней изучаю MESH, вроде как набросал прошивку даже.
Но вот я чего не могу понять, как это все должно работать.
Все ли узлы должны быть равноправными ?
И на всех ли узлах должна быть одинаковая прошивка?

И собственно что в моем случае мне даст эта сеть ?

Я сделал две платы, по логам они вроде даже соединяются между собой через свою сеть MESH
и так же соединяются с внешним WiFi, каждая из них отправляет данные на MQTT,
но чувствую что должно быть все не так.
 

Юрий Ботов

Moderator
Команда форума
И собственно что в моем случае мне даст эта сеть ?
Собственно это:
Теперь нужно будет добавить еще около 15 устройств с WiFi, может и больше.
Есть опасения что Роутер уже не потянет столько устройств,
То есть несколько ближайших к роутеру нод будут присоединяться к нему, а кто подальше уже к этим нодам, а не к роутеру.
но чувствую что должно быть все не так.
Возможно все так, просто у вас оно все "рядом на столе" поэтому все всех видят. Попробуйте разнести ноды в разные места, так чтобы вторая нода еще видела первую но роутер уже не видела.
И на всех ли узлах должна быть одинаковая прошивка?
Сетевая часть наверное да, хотя можно и сделать "неравноправные" ноды которые цепляются только в MESH сеть но не лезут в wifi. Но! Та чать прошивки которая заведует датчиками - у каждого устройства будет своя (хотя возможно у некоторых будет одинаковый набор датчиков и тогда прошивки будут полностью идентичны.
 

Semedney

Member
Собственно это:

То есть несколько ближайших к роутеру нод будут присоединяться к нему, а кто подальше уже к этим нодам, а не к роутеру.

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

Сетевая часть наверное да, хотя можно и сделать "неравноправные" ноды которые цепляются только в MESH сеть но не лезут в wifi. Но! Та чать прошивки которая заведует датчиками - у каждого устройства будет своя (хотя возможно у некоторых будет одинаковый набор датчиков и тогда прошивки будут полностью идентичны.
НУ в принцепе я так и думал, но вот что бепокоит, если Ноды развести как вы сказали то дальний от основной сети как то должен послать данные на более близкий, и тут я не понимаю, нужно ли что то писать для этого в прошивке или достаточно их просто связать по их внутренней сети.
 

Semedney

Member
Юрий
Я вот что попробовал и выяснил.
Если внешняя сеть доступна на обоих устройствах (вернее даже если в коде обоих присутствует строка подключения) то событий по подключению к Mesh не происходит, они оба подключаются на прямую.
Если убрать строку подключения на одном устройстве к внешней сети, то между Нодами создается сеть Mesh и все события отрабатываются.
Я даже научился перенаправлять сообщения с одного Нода на другой и далее в MQTT
Я использую библиотеку painlessMesh.h

И похоже все должно выглядеть как сервер и клиент.

И еще у меня к вам вопрос, нигде не попадалась оригинальная прошивка Sonoff Mini в виде текста ?
Или может как то есть вариант слить с него и перевести в текст ?
 

Юрий Ботов

Moderator
Команда форума
И еще у меня к вам вопрос, нигде не попадалась оригинальная прошивка Sonoff Mini в виде текста ?
Или может как то есть вариант слить с него и перевести в текст ?
Увы с sonoff я не общаюсь :) Прошивку стянуть разумеется можно, но размотать ее в лучшем случае удастся до ассемблера - что вряд-ли вам будет удобно. Лучше кого нибудь еще спросите.
 

Semedney

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

Моя цель как то определить есть ли это подключение или нет.



void painlessmesh :: wifi :: Mesh :: stationManual ( TSTRING ssid ,
TSTRING пароль ,
uint16_t порт = 0 ,
Айпи адрес remote_ip = IP-адрес IPAddress (0, 0, 0, 0)
)

Connect (as a station) to a specified network and ip

You can pass {0,0,0,0} as IP to have it connect to the gateway

This stops the node from scanning for other (non specified) nodes and you should probably also use this node as an anchor: setAnchor(true)



Подключиться (как станция) к указанной сети и ip

Вы можете передать {0,0,0,0} как IP, чтобы он подключался к шлюзу

Это мешает узлу сканировать другие (не указанные) узлы, и вам, вероятно, также следует использовать этот узел в качестве якоря: setAnchor(true)
 

Semedney

Member
Увы с sonoff я не общаюсь :) Прошивку стянуть разумеется можно, но размотать ее в лучшем случае удастся до ассемблера - что вряд-ли вам будет удобно. Лучше кого нибудь еще спросите.
Все таки я склоняюсь к тому что в данной Mesh системе один или несколько (для отказоустойчивости) Нодов должны быть серверами а остальные клиентами.
Тогда получается что между нодами - "клиентами" и нодами - "серверами" будет сеть Mesh, а между Нодами - "серверами" еще и Wifi с внешним миром.
 
Сверху Снизу