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

Умный дом для чайника

=AK=

New member
зачем баку-накопителю общаться с фонарем на калитке? .
Например, у меня в доме бак с горячей водой должен общаться с измерителем мощности. Измеритель замеряет суммарную мощность, приходящую из сети или уходящую в сеть. Со знаком замеряет. А еще он замеряет, какую сейчас мощность выдает моя солнечная электростанция. Когда мой дом отдает в сеть достаточно большую мошность, то надо включить ТЭН-ы в баке с горячей водой, чтобы мое электричество зазря в сеть не уходило. Потому что продаю я свою электроэнергию в сеть в 5 раз дешевле, чем покупаю ее из сети.

3. Центральный модуль в определенное время опрашивает периферийные модули.
То есть, вы собираетесь делать централизованную систему, по принципу мастер-слэйв.

Дело хозяйское, конечно. Мне централизованные системы не нравятся. Сломается мастер - все работать перестанет. Впрочем, раз уж вы выбрали WiFi, то централный узел так или иначе есть.

Уже знаю, что ESP в качестве точки доступа не видит более 4 клиентов.
А зачем вам больше? Достаточно видеть одного. Нужно вам "поговорить" со слэйвом - устанавливате TCP соединение, разговариваете, затем закрываете соединение. После этого точно так же разговаривате со следyющим слэйвом. Сколько у вас слэйвов - да хоть тысяча, все равно вам одновременно разговаривать даже с двумя нет никакого резона.
 

nikolz

Well-known member
Для организации взаимодействия ESP между собой и с центром удобно использовать не TCP и даже не UDP, а просто ethernet т е самый нижний протокол WIFI.
При этом не имеет значение сколько узлов в сети.
Число узлов также не имеет значение при использовании протокола UDP.
 

Alexey N

Member
Хмм. А мне ведь действительно не надо одновременно видеть все устройства.
Сломается мастер - все работать перестанет.
Я наверное опять криво и непонятно написал свои хотелки. Мастер занимается только сбором информации и ее архивированием. Весь полезный функционал поручен периферийным модулям. Так что если мастер сломается, то самое страшное, что произойдет, я останусь без логов.

Вот сейчас я написал ответ и подумал. А нужен ли мне вообще тогда мастер? Мое первое видение умного дома было основано на использовании нРФ24 и там такой мастер - посредник между множеством нРФ24 и компьютером - был полезен. ЕСП ведь совершенно по-другому работает и подход можно совершенно иной применить. При использовании ВайФай, я ведь могу вести лог на каждом устройстве отдельно. И мне про это уже говорили. То есть компьютер будет получать не объединенные данные с мастера, а индивидуальные с каждого периферийного модуля через тот же роутер. В программном плане это должно быть несколько сложнее. Но в железном плане я выкидываю центральный модуль, упрощая систему.
 

Atom

Member
Хмм. А мне ведь действительно не надо одновременно видеть все устройства.

Я наверное опять криво и непонятно написал свои хотелки. Мастер занимается только сбором информации и ее архивированием. Весь полезный функционал поручен периферийным модулям. Так что если мастер сломается, то самое страшное, что произойдет, я останусь без логов.
Ну почему же криво. Очень даже разумно. У меня такая з7хе структура, за исключением того, что "мастер" крутится на распберры пи. Это дает возможность маштабируемости мастера - у мея на нем еще и медиаплейер крутится, и файлопомойка подключается. И еще парочка специфических функций.

Ведения лога на отдельном модуле вещь, конечно, возможная - в есп есть всроенная файловая система, но смысл с ней заморачиваться? Если логгирование производится очень часто - устройство выйдет из строя очень быстро. А при отсуствии ответов от узла сети проще проверить в чем же дело, чем ценность указанных данных.
 

Alexey N

Member
Говоря про логирование на самом модуле, я думал про внешнюю SD карту на каждом модуле. Гугл по запросу "esp8266 logger sd card" выдает достаточно много проектов. Сейчас буду смотреть. Это, конечно, чуть удорожает систему в целом, но можно отказаться от центрального модуля. В Вашем случае это скорее всего оправдано, потому что, как я понимаю, все хранение и обработку данных делает как раз распберри? Плюс еще полезные функции выполняет. Я то планировал использовать центральный модуль для временного хранения данных, просто как промежуточное звено между сетью периферийных модулей и ПК. И окончательным хранением архива и его обработкой занимался бы все равно ПК.
 

Юрий Ботов

Moderator
Команда форума
Говоря про логирование на самом модуле, я думал про внешнюю SD карту на каждом модуле.
Я пробовал подключить SD - отлично работает. Однако если логи не большие то можно использовать встроенную дисковую подсистему SPIFFS. Три мегабайта вполне достаточно чтобы хранить логи одного датчика за неделю...
 

nikolz

Well-known member
Говоря про логирование на самом модуле, я думал про внешнюю SD карту на каждом модуле. Гугл по запросу "esp8266 logger sd card" выдает достаточно много проектов. Сейчас буду смотреть. Это, конечно, чуть удорожает систему в целом, но можно отказаться от центрального модуля. В Вашем случае это скорее всего оправдано, потому что, как я понимаю, все хранение и обработку данных делает как раз распберри? Плюс еще полезные функции выполняет. Я то планировал использовать центральный модуль для временного хранения данных, просто как промежуточное звено между сетью периферийных модулей и ПК. И окончательным хранением архива и его обработкой занимался бы все равно ПК.
Попробуйте ответить на вопрос - зачем это логгирование?
Т е в каждом модуле Вы сохранили 1000 рабочих значений
модуле 10. Архив логов 10 000. Что с ним Вы будете делать?
 

Сергей_Ф

Moderator
Команда форума
датчик уровня воды включает и выключает насос, но при его неисправности или в отсутствие электричества должна быть возможность быстро перейти на ручное включение насоса.
Извините, а зачем Вам ручное управление насосом, если нет электричества? Или у Вас если бензиновый?
 

Alexey N

Member
Попробуйте ответить на вопрос - зачем это логгирование?
Т е в каждом модуле Вы сохранили 1000 рабочих значений
модуле 10. Архив логов 10 000. Что с ним Вы будете делать?
Такое количество данных мне ни к чему. Поэтому я и писал, что данные будут сниматься один/два/три раза в сутки. И можно было бы обойтись вообще без логов внутри модуля, но тогда надо иметь постоянно включенный (или включенный в определенное время) компьютер. При предлагаемой схеме я могу раз в неделю или раз в месяц запустить программу, снять с модулей данные накопившиеся за неделю/месяц и иметь представление о расходе воды, электричества и т.д. А постоянное слежение мне ни к чему. Для того и автоматизация.

Извините, а зачем Вам ручное управление насосом, если нет электричества? Или у Вас если бензиновый?
Опять я ввел всех в заблуждение. Тут я имел ввиду "при отключении модуля по каким-то причинам", типа поломки, ну а в голову сразу пришло про отключение электричества.
 

nikolz

Well-known member
Такое количество данных мне ни к чему. Поэтому я и писал, что данные будут сниматься один/два/три раза в сутки. И можно было бы обойтись вообще без логов внутри модуля, но тогда надо иметь постоянно включенный (или включенный в определенное время) компьютер. При предлагаемой схеме я могу раз в неделю или раз в месяц запустить программу, снять с модулей данные накопившиеся за неделю/месяц и иметь представление о расходе воды, электричества и т.д. А постоянное слежение мне ни к чему. Для того и автоматизация.
Как Вам такой вариант.
Это упрощенный аналог MQTT для внутреннего пользования.
1) Модуль периодически (период определяется типом модуля) по UDP посылает информацию о своем состоянии на Ваш комп.
2) Если Ваш комп выключен, то эта информация просто теряется.
3) Если комп включен, то он принимает логи анализирует их и либо что-то вам сообщает либо их выкидывает.
4) Если модуль в назначенный момент не прислал Вам информацию, значит модуль скорее всего мертв. Комп сообщает Вам об этом.
Этот вариант не требует никакой памяти для хранения.
Попробуйте найти ситуацию, в которой этот вариант хуже Вашего.
 

Alexey N

Member
2) Если Ваш комп выключен, то эта информация просто теряется.
Вот Вам и ситуация. Опять же повторю, я буду пытаться делать инженерную систему, которая минимально завязана на "умный дом". Вроде бы и некритична потеря данных. Но какой смысл, например, в мониторинге расхода электроэнергии, если эти данные неполные и бессистемные?
Десяток СД карт обойдется в 3-4 тысячи рублей. В принципе, не такое уж и большое удорожание. Опять же мне они не потребуются все десять сразу. А могу их докупать по мере изготовления модулей.
 

nikolz

Well-known member
Вот Вам и ситуация. Опять же повторю, я буду пытаться делать инженерную систему, которая минимально завязана на "умный дом". Вроде бы и некритична потеря данных. Но какой смысл, например, в мониторинге расхода электроэнергии, если эти данные неполные и бессистемные?
Десяток СД карт обойдется в 3-4 тысячи рублей. В принципе, не такое уж и большое удорожание. Опять же мне они не потребуются все десять сразу. А могу их докупать по мере изготовления модулей.
Нет, Вы не описали ситуацию.
Если у Вас выключен ком, то Вы никакой информации все равно не получаете.
Скажите зачем , например, Вам знать информацию, которая была сегодня утром в 8 частов если сейчас уже 8 вечера? Что в этой информации полезного?
 

nikolz

Well-known member
проблема не в том, сколько будет SD карт и по какой они цене ( Я Вам раньше говорил, что проект делается сверху вниз) , а в том , что чем сложнее оборудование, тем оно менее надежнее и более сложно в поиске и устранении неисправности. А большие объемы информации - это сложность оборудования. Вы можете создать монстра, которого никогда не отремонтируете, если что-то сломается. так зачем Вам вчерашняя информация?
 

tretyakov_sa

Moderator
Команда форума
Нет, Вы не описали ситуацию.
Если у Вас выключен ком, то Вы никакой информации все равно не получаете.
Скажите зачем , например, Вам знать информацию, которая была сегодня утром в 8 частов если сейчас уже 8 вечера? Что в этой информации полезного?
Например вы считаете электроэнергию в доме при помощи счетчика импульсов. И это нужно делать не 1 раз в сутки, а сохранять каждый импульс и время импульса. Затем когда включается основной компьютер, программное обеспечение получает эту информацию, добавляет ее к имеющимся данным. Дальше можно не только посмотреть графики, но и выделить участки графика для анализа результатов потребления конкретных устройств увидеть например неоправданные расходы электро энергии или принять решение заменить устройства на более экономичные. И это только один пример.
 

Alexey N

Member
Если у Вас выключен ком, то Вы никакой информации все равно не получаете.
Совершенно верно, но в это время она все равно собирается на СД карту. Ну или на центральный модуль, как в первоначальном варианте.
Ну и @tretyakov_sa вполне за меня ответил. Спасибо.
 

nikolz

Well-known member
Например вы считаете электроэнергию в доме при помощи счетчика импульсов. И это нужно делать не 1 раз в сутки, а сохранять каждый импульс и время импульса. Затем когда включается основной компьютер, программное обеспечение получает эту информацию, добавляет ее к имеющимся данным. Дальше можно не только посмотреть графики, но и выделить участки графика для анализа результатов потребления конкретных устройств увидеть например неоправданные расходы электро энергии или принять решение заменить устройства на более экономичные. И это только один пример.
Дело в том, что
1) в таком подходе не используются вычислительные мощности ESP.
-----------------------------------
2) Вы говорите об измеряемом параметре, а ранее речь шла о лог файлах.
Лог файлы - это служебная информация, которая помимо измеряемой содержит и рабочие данные, необходимые для отладки и тестирования устройства.
-------------------------
Хранить историю показаний датчика до момента включения компа можно в оперативной памяти ESP. Места хватит. тем более, если Вы измеряете 1 раз в сутки.
----------------------------
Поэтому Ваш пример лишь демонстрирует непродуманности алгоритма работы устройства.
---------------------------------
Еще есть примеры?
 

Alexey N

Member
Не используется вычислительная мощность? Ну что поделать. У нас и телевизор не включен постоянно, и компьютер на работает 24 часа в сутки, и на машине мы ездим редко. Да говорят (врут скорее всего), что и мозг у человек работает только на 10%. Так что с недоиспользуемым ЕСП я готов смириться, как бы мне не было от этого тяжело.
Не я первый назвал эти файлы лог-файлами. Давайте будем называть их архивными файлами, или любым другим названием, которое Вы предложите. Хотя мне, вроде было понятно о чем идет речь. Показания можно хранить и в энергонезависимой памяти, но о ее ограниченном ресурсе уже писали. Хотя на мой век вполне возможно хватит и ее.
Я в ближайшее время попробую накидать в каком-нибудь fritzing схемку первого устройства. Можно будет уже предметно обсудить и алгоритм работы и аппаратную часть конкретного устройства.
 

nikolz

Well-known member
Не используется вычислительная мощность? Ну что поделать. У нас и телевизор не включен постоянно, и компьютер на работает 24 часа в сутки, и на машине мы ездим редко. Да говорят (врут скорее всего), что и мозг у человек работает только на 10%. Так что с недоиспользуемым ЕСП я готов смириться, как бы мне не было от этого тяжело.
Не я первый назвал эти файлы лог-файлами. Давайте будем называть их архивными файлами, или любым другим названием, которое Вы предложите. Хотя мне, вроде было понятно о чем идет речь. Показания можно хранить и в энергонезависимой памяти, но о ее ограниченном ресурсе уже писали. Хотя на мой век вполне возможно хватит и ее.
Я в ближайшее время попробую накидать в каком-нибудь fritzing схемку первого устройства. Можно будет уже предметно обсудить и алгоритм работы и аппаратную часть конкретного устройства.
Все что Вы перечислили вначале - это никак не связано с использованием вычислительной мощности ESP.
И очевидно не поняли, что я говорю о хранении в энергозависимой памяти.
Полагаю, что Вы знаете в чем преимущество.
При этом нет надобности в SD.
------------------------------
Раз уж Вы упомянули наш мозг. То будем плясать от этой печки.
Мозг имеет кратковременную память (на одни сутки) и долговременную (на всю осташуюся жизнь)
Так вот и я предлагаю: кратковременная память - это RAM ESP, а долговременная это
некий центр. Центр может быть компом, смартфоном, облаком чем угодно, что есть.
Теперь про вычислительную мощность ESP.
Если у Вас скажем стоит 10 модулей, то каждый модуль - это вычислительное ядро. Т е система 10 -ядерная. А на Вашем компе сколько ядер? Ну максимум 4. Вот и представьте, что могут сделать эти десять ядер с полученной с датчиков информацией. Практически все что душе угодно.
И не надо грузить свой мозг этой информацией, пусть ее обрабатывает ESP.
 

russo

Member
В качестве передачи данных с беспроводных датчиков я бы взял SI4432 радиомодули (макс мощность передачи 100 мВт), вот статейка про них Работа с радиомодулями SI4432
Очень хорошие модули, с хорошей чувствительностью и мощностью передачи, разной модуляцией и пакетной передачей. Малые размеры.
Буду их использовать в корпусах батарейного отсека Battery Cover Box Plastic Holder with ON/OFF Switch for 4 x AA Batteries F5 | eBay
Две батарейки будут использоваться, а на место остальных двух ставиться платка с этим модулем. С микроконтролером пока не определился, может будет PIC18F14K50.
Можно и mega328 залепить и программировать в среде ардуино.
Примерная платка прилагается
Там идут два входа для дверных датчиков и два входа для датчиков температуры и влажности. Светодиод для визуальной индикации и кнопка для проверки работы, обязательно контролируется разряд батареек.
Дверные датчики используются как охранная система окон и датчика движения в комнате (пока не знаю от чего его питать)

Центральный контролер будет наверно на PIC18F46K22 ну или ARDUINO256 c графическим дисплеем 3.5 дюйма Nextion
На центральном контролере установлен ESP8266 и два SI4432 модуля, один для сбора данных с датчиков, а второй для управления исполнительными устройствами (запуск насосов, сирен, оповещения и т.д. по радиоканалу). Частоты разные у них, поэтому два, для возможности одновременного приема-передачи сигналов. Все передачи пакетов идут с подтверждением получения сигнала. И определением уровня сигнала RSSI, нет необходимости лупить на максимальной мощности (тратить батарейку), если расстояние не большое, мощность передачи будет оптимально подстраиваться для уверенного приема и экономии батареек.
По платформе пока не определился, наверно будет majordomo
Как-то так...
Хочу чтобы в доме было поменьше WiFi точек передачи, мне так спокойней.
Естественно быстро это не сделать, планирую 2-3 месяца потратить, отсчет пошел...

вот ссылка на подобный радиомодуль в монтированный в батарейный отсек AAduino — ардуинка в форм-факторе батарейки AA
 

Вложения

  • 27.8 KB Просмотры: 14
Последнее редактирование:

nikolz

Well-known member
В качестве передачи данных с беспроводных датчиков я бы взял SI4432 радиомодули (макс мощность передачи 100 мВт), вот статейка про них Работа с радиомодулями SI4432
Очень хорошие модули, с хорошей чувствительностью и мощностью передачи, разной модуляцией и пакетной передачей. Малые размеры.
Буду их использовать в корпусах батарейного отсека Battery Cover Box Plastic Holder with ON/OFF Switch for 4 x AA Batteries F5 | eBay
Две батарейки будут использоваться, а на место остальных двух ставиться платка с этим модулем. С микроконтролером пока не определился, может будет PIC18F14K50.
Можно и mega328 залепить и программировать в среде ардуино.
Примерная платка прилагается
Там идут два входа для дверных датчиков и два входа для датчиков температуры и влажности. Светодиод для визуальной индикации и кнопка для проверки работы, обязательно контролируется разряд батареек.
Дверные датчики используются как охранная система окон и датчика движения в комнате (пока не знаю от чего его питать)

Центральный контролер будет наверно на PIC18F46K22 ну или ARDUINO256 c графическим дисплеем 3.5 дюйма Nextion
На центральном контролере установлен ESP8266 и два SI4432 модуля, один для сбора данных с датчиков, а второй для управления исполнительными устройствами (запуск насосов, сирен, оповещения и т.д. по радиоканалу). Частоты разные у них, поэтому два, для возможности одновременного приема-передачи сигналов. Все передачи пакетов идут с подтверждением получения сигнала. И определением уровня сигнала RSSI, нет необходимости лупить на максимальной мощности (тратить батарейку), если расстояние не большое, мощность передачи будет оптимально подстраиваться для уверенного приема и экономии батареек.
По платформе пока не определился, наверно будет majordomo
Как-то так...
Хочу чтобы в доме было поменьше WiFi точек передачи, мне так спокойней.
Естественно быстро это не сделать, планирую 2-3 месяца потратить, отсчет пошел...

вот ссылка на подобный радиомодуль в монтированный в батарейный отсек AAduino — ардуинка в форм-факторе батарейки AA
Несколько вопросов:
1) Сколько таких модулей Вы планируете разместить?
2) Как будет решена задача радио совместимости всех модулей?
3) Какой объем информации будет передаваться в центральный модуль каждый час?
4) В чем преимущество и недостатки такого решения на SI4432 по сравнению с NRF?
 
Сверху Снизу