Случайны выбор дневника Раскрыть/свернуть полный список возможностей


Найдено 2523 сообщений
Cообщения с меткой

умный дом - Самое интересное в блогах

Следующие 30  »
lj_victorprofessor

Измеряем энергопотребление приточной вентиляции в загородном доме с помощью Sonoff POW

Четверг, 09 Марта 2017 г. 12:01 (ссылка)


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

Кроме этого я покажу как модернизировал приточную вентиляцию в загородном доме, а реле Sonoff POW позволило измерить точный расход энергии на подогрев приточного воздуха в холодное время года. Заодно покажу стеклянный сенсорный выключатель Sonoff Touch и один из вариантов применения реле Sonoff для включения подсветки рассады с помощью фитосветодиодов.

Поехали!


Начнём с приточной вентиляции и реле Sonoff POW. Производитель строит серьезные планы на продажи на российском рынке и решил перевести надписи на корпусе. Хорошо, ошибок в словах не сделали, но максимальное напряжение 16 А??? Кстати, все эти реле, похоже, прошли официальную сертификацию и уже продаются в крупных (и не очень) гипермаркетах, если верить Яндекс.Маркету. Цена, правда, не такая радостная, как при заказе в Китае. В Москве устройства Sonoff стоят в 2,5 раза дороже.


Чуть подробнее расскажу про обновлённую систему приточной вентиляции. Сама приточка появилась в доме достаточно давно, одновременно с воздушным отоплением с помощью кондиционера. Но тогда я решил, что фильтрация приточного воздуха не актуальна, да и вентилятор можно не ставить — канальный вентилятор кондиционера уверенно справлялся с тем, чтобы затянуть свежий воздух с улицы. Это было здорово ровно до тех пор, пока я не осознал, что надо всё-таки очищать уличный воздух (пыльца от деревьев и зола от дровяных печей соседей). А дополнительное сопротивление в виде фильтра требует дополнительного вентилятора. Было принято решение доработать систему. Начал с приточного фильтра. Приточный канал имеет диаметр 125 мм, но есть нюанс — он расположен практически вплотную к внутренней перегородке. Следовательно я не могу использовать корпус для фильтра заводского изготовления. Раз так — закажем корпус под фильтр конкретно по моим размерам. А раз так, то надо сделать корпус под наиболее доступный фильтрующий элемент. Я давно обратил внимание на то, что лучшие расходники по соотношению цена/доступность у автомобильных фильтров. Фильтр размером 25х25 см взял от VW Polo/Skoda Fabia. Стоит он всего 150 рублей. На фото два фильтра, я купил их на пробу, чтобы выбрать более удобный. В частности фильтр TSN имеет поролоновое уплотнение по всему периметру, что идеально для моего корпуса.


Корпус фильтра обклеиваю теплоизоляцией изнутри и снаружи, чтобы исключить образование конденсата. Сразу за фильтром установлен канальный подогреватель мощностью 1,2 кВт.


А далее установлен плоский канальный вентилятор Elicent Micro 125 за которым я гонялся по всей Москве. Вещь жутко дефицитная, но вы ведь помните, что у меня приточная труба расположена всего в 1,5 см от внутренней перегородки? И классические центробежные вентиляторы у меня не поместятся. А осевые не смогут обеспечить требуемый расход воздуха с установленным фильтром. Слева в канале перед вентилятором видно установленный температурный датчик, который подключен к регулятору мощности канального подогревателя.


Вот так на текущий момент выглядит центр управления приточной вентиляцией. Слева расположен регулятор мощности канального подогревателя. Сложное электронное устройство, позволяющее подогревать приточный воздух ровно до заданной температуры с учетом его расхода. Правее расположен пятиступенчатый регулятор оборотов вентилятора на основе автотрансформатора. Это единственно возможный способ регулирования скорости вентилятора, без каких-либо побочных эффектов (симисторные устройства с плавной регулировкой приводят к звону электромотора вентилятора на малых скоростях). Управление очень простое. Первая скорость используется, когда в доме находится 1-2 человека. Вторая — когда в доме находится 3-4 человека. И так далее. Всё это подключено к электрической сети через реле Sonoff POW. По факту мне совершенно не нужна функция дистанционного включения/отключения нагрузки, но актуально иметь статистику потребления энергии на подогрев приточной вентиляции.


Реле управляется через фирменное приложение eWeLink доступное для iOs и Android. Функционал приложения крайне скудный: можно включить/отключить устройство дистанционно через интернет, установить таймер, дать доступ к реле друзьям. Sonoff POW показывает текущее энергопотребление и помимо обычного таймера на включение имеет опцию измерения потребления за определенный промежуток времени. А также статистику потребления по дням/месяцам. По факту статистика ведётся неизвестно в каком формате, экспортировать её нельзя, изменить масштаб отображения тоже нельзя. Ещё первые несколько дней после подключения график глючил и показывал только последние 3 дня измерений. Спустя 2 недели кажется всё восстановилось. Визуальное отображение совершенно неинформативно, но всё равно в общих чертах позволяет оценить расходы на подогрев приточной вентиляции и убедиться в том, что рекуператор на объемах приточного воздуха менее 200 м3/час ставить не рентабельно.


Второе устройство — модный стеклянный выключатель Sonoff Touch. Фактически это такое же «железо», только в стеклянном корпусе с сенсорной панелью. Проблема такого выключателя в том, что он никогда в жизни не будет сочетаться с остальными выключателями и, главное, с розетками в конкретной комнате. Я придумал установить его над кухонным столом, где поблизости нет обычных розеток. Установка проста, выключатель подходит к стандартному подрозетнику европейского типа.


После подключения к домашней Wi-Fi сети выключателем можно управлять как дистанционно, через приложение, так и напрямую. На передней панели под стеклом имеется сенсорная площадка. Но для уверенного срабатывания к поверхности выключателя нужно подносить ладонь или несколько пальцев одновременно. На один большой палец сенсорная панель срабатывает через раз — недостаточна площадь контакта.


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


Еще я случайно наткнулся на такую вещь как фитосветодиоды с определенным спектром для выращивания рассады. И собрал вот такую конструкцию на подоконнике. Чтобы оптимизировать расход электроэнергии было принято решение использовать дешевое ночное электричество. А для управления питанием использовал базовое реле Sonoff за 5 долларов. Таймер установлен на досветку с 11 ночи до 11 утра. Конечно, можно было взять и обычный розеточный таймер, но стоит он столько же, а wi-fi реле гораздо интереснее.


Все устройства Sonoff работают на чипе ESP8266, и при желании (и паранойе) легко перепрошиваются альтернативными прошивками для использования со своим собственным сервером. Но это развлечение на любителя, а лично мне хватает и штатного функционала.



Еще про дистанционный мониторинг и облачные сервисы:
Облачное видеонаблюдение без абонентской платы
Контроль потребления электрической энергии Smappee
Облачный сервис «Народный мониторинг» и ESP Meteo
Wi-Fi реле Sonoff для дистанционного управления нагрузкой
Контролируем окружающий мир с помощью беспроводных меток Wireless Sensor Tags
Простой способ дистанционного управления электроприборами через интернет


Все материалы про строительство загородного дома своими руками в хронологическом порядке можно посмотреть здесь.


http://victorborisov.livejournal.com/291581.html

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
masiania1

Умный дом

Среда, 22 Февраля 2017 г. 16:03 (ссылка)
lapplebi.com/news/3308-umny...daniy.html

Главное свойство системы умный дом
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
NewsPR1987

Умный дом (18.02.2017) - смотреть онлайн HD 720

Суббота, 18 Февраля 2017 г. 17:06 (ссылка)
hddom.net/news/umnyj_dom_18...02-18-6900

Дизайнеры, художники, инженеры и декораторы расскажут, как сделать жилое пространство по-настоящему уникальным.
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
eco-pravda

Экономия электричества - тоже экология

Суббота, 28 Января 2017 г. 21:48 (ссылка)


 


Как экономят электричество в некоторых  странах


 


Многие современные блага цивилизации так или иначе связаны с потреблением электроэнергии, что негативно сказывается на экологии нашей планеты. Люди активно пользуются электроприборами, заставляя тепловые электростанции работать всё интенсивнее. В свою очередь энерговырабатывающие агрегаты поглощают невосполнимые природные ресурсы и выделяют в атмосферу углекислый газ.


 


eneroset (242x147, 21Kb)Для сохранения нормального состояния окружающей среды учёные создали специальные системы энергосбережения.


Появились люминесцентные лампы, погодозависимое регулирование и другое энергосберегающее оборудование. На производствах активно используются энергосберегающие трансформаторы.


 


Англия. Британцы начали решать проблему излишнего расхода электричества очень оригинальным способом. В качестве эксперимента они установили в некоторых домах датчики, отображающие расход энергии в режиме реального времени. Размер электроэнергии прибор сразу переводит в фунты стерлингов. Таким образом, включив прибор, британцы видят, как из-под носа убегают их собственные деньги. Участники проекта признались, что такая система очень отрезвляет. Видя счётчик, нет желания оставить включённую лампочку или работающий телевизор.


 


В Германии специалисты придумали систему «Умный дом», которая сама включает и выключает приборы в нужное время. Владельцы квартиры заранее программируют систему на определённую установку и отслеживают результат.


Успешность этого метода подтвердилась, и систему стали подключать к альтернативным источникам энергии. Электроприборы включаются в то время, когда энергия поступает от солнечных батарей или ветрогенератора.


 


По материалам:  "Великая Эпоха"


-ep_logos2 (138x44, 4Kb) Опубликовано: 28 января


 
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
nickchay

Что такое "умный дом"

Среда, 11 Января 2017 г. 13:34 (ссылка)


Что такое система Умный Дом? Мнения экспертов. 





Мы всегда стремимся сделать нашу жизнь лучше и комфортнее. Уже придумано не мало гаджетов и приспособлений для этого: смартфоны, планшеты, бытовая техника со множеством функций, автомобили, которые способны ездить без участия водителя и многое другое. Но мы решили поговорить на тему о которой многие не раз слышали. Словосочетание «Умный дом» всем знакомо давно, все видели в кино, как по щелчку пальцев загорается свет или открываются шторы. Сегодня мы решили получше разобраться в том, что же такое система «Умный дом» и как в век высоких технологий данная система помогает сделать нашу жизнь проще и безопаснее.

Читать далее...
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
hangar15

Стратегические направления умной техники на основе Redmond

Пятница, 06 Января 2017 г. 18:33 (ссылка)


Ссылка - умная техника Redmond с которой начинаются размышления.



Ассортимент предлагаемой техники достаточно интересен:



Это кухня




Охранно-пожарное направление




 




 




Управление энергообеспечением




ОПИСАНИЕ МОДЕЛИ


Умный блок управления светом RL-B21S — уникальная разработка для создания прогрессивной системы освещения в доме. Позволяет дистанционно управлять включением и выключением люстры, в которую установлено в среднем до 6 ламп, а также задавать собственные настройки для автоматического включения и выключения света тогда, когда вам будет удобно.


Умный блок управления светом B21S устанавливается в электропроводку, проведенную к люстре. Он позволяет управлять освещением со смартфона. Есть два варианта для дистанционного управления:


Из любой точки мира. Это можно делать по мобильному интернету с помощью Модуля управления REDMOND Gateway, который находится дома. Достаточно установить на свой личный смартфон приложение Ready for Sky и синхронизировать его с блоком управления.


По Bluetooth. В рамках квартиры управлять освещением можно напрямую со смартфона — через приложение Ready for Sky.


 


«РАСПИСАНИЕ»


В приложении можно настроить расписание, по которому люстра будет автоматически включаться и выключаться в течение заданного вами времени. Например, в межсезонье или зимой ваш ребенок возвращается со школы, когда на улице уже темнеет и дома тоже темно. Но до выключателя он не дотягивается. Задайте расписание включения света в его комнате &ndash и ни о чем не беспокойтесь!


«ПЛАВНОЕ ВКЛЮЧЕНИЕ И ДИММИРОВАНИЕ»


Для комфортного пробуждения в утренние часы можно установить плавное включение света, чтобы даже в полной темноте свет не бил сразу по глазам, а загорался постепенно и просыпаться было легче. Наряду с этим в B21S реализована опция диммирования света (при использовании в люстрах ламп накаливания) – регулировать яркость света можно в один клик!


«ВКЛЮЧЕНИЕ В БЛИЖНЕЙ ЗОНЕ»


С помощью умного блока управления светом B21S можно настроить автоматическое включение света в ближней зоне: вы выходите из лифта на свою лестничную площадку и свет в коридоре загорается.


«ВЗАИМОДЕЙСТВИЕ»


Блок управления светом B21S может взаимодействовать с умными датчиками REDMOND без вашего участия, но по вашим установкам. Например, его работа может быть синхронизирована с датчиком движения RG-D1S, который прикреплен к двери. Когда дверь открывается, датчик автоматически посылает сигнал блоку управления светом – и люстра освещает помещение, в которое вы заходите. 


 


Метки:   Комментарии (3)КомментироватьВ цитатник или сообщество
hangar15

Весы со связью по Bluetooth

Вторник, 03 Января 2017 г. 15:19 (ссылка)


3936605_REDMOND_RS741S (698x520, 512Kb)




  • Кухонные весы REDMOND RS-741S, стоит 2.400 руб. что в принципе доступно


  • Пример взаимодействия со смартфоном в видео.








  • Как итог - смартфон красиво показывает вес, далее можно посчитать калорийность. И все. Далее информация не передается и не анализируется, что является явной проблемой.


  • А вот напольные позволяют сохранить историю своего веса.



 



А дальше возникает понятие умной кухни, на данный момент это просто дистанционное управление или управление по таймеру.







Ссылка на перспективный анализ умная техника Redmond


Метки:   Комментарии (5)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

Умный дом NooLite. Сценарий №1 — «Хозяин дома»

Среда, 21 Декабря 2016 г. 22:09 (ссылка)

Доброго дня, уважаемое сообщество.



Сегодня хочу поделиться с Вами опытом построения умного с использованием оборудования компании НооТехника, а если точнее, то реализации сценария «Хозяин дома». Что я под этим понимаю? Запуск особого «сценария», в момент прихода домой «хозяина». Под хозяином в данном случае понимаю самого себя, а сценарий состоит из включения источников света в зоне прихожей и декоративного освещения в других комнатах.



В качестве аппаратного обеспечения умного дома я выбрал оборудование компании Ноотехника.



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



1. Вступление



В качестве аппаратного обеспечения моего умного дома я уже несколько лет использую оборудование компании Ноотехника. Ассортимент устройств достаточно широк для построения умного дома в рамках городской квартиры и постоянно расширяется. На данный момент имеются радио-выключатели разных конфигураций, силовые блоки – для подключения источников света и электроприборов, датчики движения, влажности и температуры, а также передатчики и приемники команд (для подключения к компьютеру). Есть еще т.н. Ethernet-шлюз, который также можно использовать для централизованного управления устройствами умного дома от компании Ноотехника.



На данный момент в своем умном доме я использую несколько 3-х кнопочных выключателей, порядка 10 силовых блоков, 2 датчика движения, а также передатчик сигналов (модели PC1116) силовым блокам и приемник (модели RX2164) сигналов от датчиков и выключателей.

В качестве элемента управления умным домом использую неттоп 3VI на базе процессора Intel ATOM D525 с ОС Debian 7 на борту. К нему подключены приемник и передатчик.

В качестве программного обеспечения для управления умным домом использую набор утилит под Linux от Олега Артамонова, который доступен на GitHub — github.com/olegart/noolite. Также на неттопе поднят веб-сервер и самописный веб-интерфейс для общения с устройствами умного дома.



Перед началом описания реализации сценария, пару слов о самих устройствах и что для чего предназначено:


  1. Силовые блоки (бывают разные, для поддержки различных нагрузок, начиная от 200 Вт и заканчивая несколькими КВт). Подключаются к сети переменного тока и предназначены для управления электроприборами (подключаются «в разрыв» между сетью и электроприбором);

  2. Радио-выключатели. Предназначены для:

    — отправки команд включения, выключения, изменения нагрузки (диммирования) на силовые блоки,

    — отправки команд на приемник RX2164 (подключенный к ПК);

  3. Датчики движения, температуры, влажности. Предназначены для отправки команд на силовые блоки или на приемник;

  4. Приемник сигналов RX2164. Предназначен для приема сигналов от датчиков или выключателей;

  5. Передатчик сигналов PC1116. Предназначен для отправки управляющих сигналов на силовые блоки.



Пример общей схемы взаимодействия компонентов приведен на рисунке 1.



Рисунок 1 – Общая схема взаимодействия компонентов



На этом вступление и изложение общей информации о компонентах умного дома от Ноотехника заканчиваю. Исчерпывающие данные можно получить на офф.сайте Ноотехника. Далее перехожу к описанию сценария и его реализации.



2. Постановка задачи



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

На данном этапе хочу отметить несколько моментов, на которые необходимо обратить внимание на этапе решения задачи:


  1. Необходимо идентифицировать пришедшего (что это именно хозяин);

  2. Необходимо убедиться, что хозяин ПРИШЕЛ, а не просто оказался возле двери (например, чтобы проверить заперт ли замок);

  3. Необходимо убедиться, что хозяин ПРИШЕЛ, а не просто вышел из дома на пару минут и вернулся (встретить курьера, открыть дверь в тамбуре и т.п.).



3. Описание решения



Для решения задачи №1 было решено использовать смартфон хозяина как его (хозяина) идентификатор. Т.е. если смартфон подключен к домашнему WiFi роутеру, значит хозяин дома. На DHCP сервере роутера создана статическая запись соответствия IP адреса МАС адресу смартфона. Таким образом, смартфон всегда появляется в сети с одним и тем же IP адресом.

Для решения задачи №2 используются два датчика движения Ноотехника модели РМ112 и приемник сигналов RX2164. Один из них установлен перед входной дверью в квартиру в тамбуре. Второй установлен внутри квартиры, прямо возле входной двери. Идея состоит в том, чтобы идентифицировать событие прихода в квартиру по последовательному срабатыванию датчиков в тамбуре и в квартире. Описание решения данной подзадачи приведено в разделе 4.

Для решения задачи №3 используется скрипт – «генератор статуса» (см. рисунок 3), который проверяет подключение смартфона хозяина к WiFi роутеру каждую минуту и записывает текущий статус в файл. Логику в скрипте я настроил таким образом, чтобы он НЕ генерировал событие прихода домой хозяина, если время его отсутствия составляет менее 20 минут (например, если хозяин вышел на пару минут). Конечно, этот порог можно настроить как угодно. Описание решения данной подзадачи приведено в разделе 5.

Кроме этого, необходимо нечто, что сможет связать все события с датчиков, и запустить скрипт, который в свою очередь проверит статус и в случае выполнения условий (т.е. прихода хозяина домой) включит источники света. Для решения данной задачи я выбрал программное обеспечение Simple Event Correlator (https://simple-evcorr.github.io/man.html), работающее под Linux и свободно распространяемое. Написал в дополнение к нему скрипт – «проверщик подключения смартфона» (см. рисунок 3). Описание решения данной подзадачи приведено в разделе 6.

Датчики движения РМ112 я установил как показано на рисунке 2.







Рисунок 2 – Схема расстановки датчиков движения РМ112



Места для установки датчиков, а также их чувствительность выбирались и настраивались таким образом, чтобы исключить ложные срабатывания.

Далее кратко опишу схему взаимодействия всех компонентов решения.

Приемник сигналов от датчиков Noolite подключен к неттопу (далее – ПК, см. рисунок 1). На ПК настроена запись сообщений, получаемых от датчиков, в лог файл в режиме реального времени (см. рисунок 3). Simple Event Correlator (далее — SEC) работает на ПК и читает лог файл (в который приходят события с датчиков). В SEC настроено правило, которое срабатывает в случае получения сигналов о наличии движения от датчика 1 (см. рисунок 2) и в течение не более чем 60 секунд следом за ним сигнала о наличии движения от датчика 2 (см. рисунок 2). При срабатывании этого правила запускается скрипт — проверщик, который проверяет статус хозяйского смартфона, читая информацию из файла статуса а также выполняя самостоятельные проверки (для уменьшения ложных срабатываний). В случае регистрации скриптом факта прихода хозяина домой, выполняется запуск сценарной программы включения света.

Также необходимо упомянуть о скрипте – генераторе статуса. Этот скрипт ежеминутно проверяет статус смартфона хозяина вне зависимости дома хозяин или нет и запускает внутренние счетчики в случае его (статуса) изменения. Одним словом – отслеживает статус смартфона.

Схема, поясняющая вышесказанное, приведена на рисунке 3.







Рисунок 3 – Блок-схема взаимодействия компонентов системы



4. Идентификация события прихода домой



В этом разделе я рассмотрю вопросы подключения и настройки датчиков движения PM112, а также настройки утилиты управления приемником RX2164.

Места для установки датчиков, а также их чувствительность выбирались и настраивались таким образом, чтобы исключить ложные срабатывания. Датчик №1 я установил над тумбой для обуви (см. рисунок 4) и настроил чувствительность так, чтобы он реагировал на движение на расстоянии около 50 см. (этому соответствует положение регулятора «чувствительность», как на рисунке 5 – чуть больше половины хода регулятора). Если сделать чувствительность больше – может реагировать на проходящих мимо соседей, а если засунуть под тумбу, то банально его могут заставить обувью домочадцы. Настройку освещенности установил в положение «Вкл» — крайнее нижнее. Хотя другие настройки освещенности обеспечивают энергосбережение (работает-то от батареек), но при других настройках освещенности мне не удалось добиться стабильного срабатывания. Скорее всего тому виной не очень обильное освещение в местах установки датчиков. Время включения я установил на 5 секунд. Для меня этот параметр не очень важен, т.к. мои датчики привязаны к приемнику, подключенному к ПК и мне нужно получать только события регистрации движения в зоне работы датчика.

Второй датчик я установил над входной дверью со стороны квартиры (см. рисунок 6). Входная дверь находится в небольшой нише, поэтому над ней есть очень удобное место для закрепления датчика. Крепил на саморезы. Порог чувствительности установил аналогичный порогу датчика №1, чтобы срабатывал на движение примерно на расстоянии 50см. Если больше, то будет много ложных срабатываний когда кто-нибудь лезет в шкаф за одеждой или на домашнюю живность.







Рисунок 4 – Установка датчика в тамбурной зоне







Рисунок 5 – Настройка датчика движения







Рисунок 6 – Установка датчика в зоне прихожей



Для получения сообщений от датчиков движения я использую комплект утилит, работающих под операционной системой Linux. В моем случае это Debian 7.

Данный набор утилит разработан Олегом Артамоновым и доступен на GitHub — github.com/olegart/noolite. Установка комплекта утилит неплохо описана самим автором, поэтому на ней я останавливаться не буду. Только отмечу, что для ее выполнения Вам таки понадобятся знания Linux и в особенности понимание устройства скриптов /etc/init.d/.

Первым делом нужно «привязать» датчики движения РМ112 к приемнику RX2164. Для этого необходимо выполнить следующие действия:


  • включить режим привязки на самом датчике, один раз нажав кнопку «привязка/отвязка» на задней стенке датчика;

  • на ПК выполнить команду в консоли:



# nooliterxcfg –bind <номер канала от 1 до 64>


Данную процедуру нужно выполнить для каждого датчика. В моем случае их два и привязаны они к каналам 2 и 3, поэтому:

# nooliterxcfg –bind 2
# nooliterxcfg –bind 3


Для того, чтобы утилита nooliterx работала в фоне, нужно стартовать ее с помощью скрипта /etc/init.d/nooliterx. Этот скрипт есть на github в месте с утилитами, однако под моим Debian он не заработал, поэтому я немного его модифицировал. В итоге получилось следующее:

#!/bin/sh
# nooliterx Starts and stops the NooLite RX1164 receiver daemon
# chkconfig: 2345 55 25
# description: NooLite RX1164 smart home wireless receiver daemon
# Source function library.
. /lib/lsb/init-functions
#. /etc/rc.d/init.d/functions
nooliterx="/usr/local/bin/nooliterx"
prog=`basename $nooliterx`
lockfile="/var/lock/subsys/nooliterx"
pidfile="/var/run/$prog.pid"
start() {
[ -x $nooliterx ] || exit 5
echo -n "Starting $prog: "
start-stop-daemon --start --exec $nooliterx --make-pidfile --pidfile $pidfile --background
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n "Stopping $prog: "
killproc -p $pidfile $prog
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
stop
start
}
case "$1" in
start)
$1
;;
stop)
$1
;;
restart)
$1
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 2
esac


По-умолчанию, nooliterx пишет сообщения о срабатывании датчиков движения в syslog. Это очень удобно. Для того, чтобы сообщения от датчиков попадали в отдельный файл (который будет анализироваться SEC) я настроил перенаправление в syslog-ng, установленном на ПК. Для этого добавил следующие строчки в сответствующие разделы файла /etc/syslog-ng/syslog-ng.conf:

destination sec_log { file("/var/log/sec.log"); };
filter motion_sens { program("nooliterx.*"); };
log { source(s_src); filter(motion_sens); destination(sec_log); };


Перезапускаем syslog-ng для применения изменений:

# /etc/init.d/syslog-ng restart


Для работы в фоне nooliterx запускается следующим образом:

# /etc/init.d/nooliterx start


Для проверки работы настроенной схемы создаем движение вблизи датчиков и смотрим на сообщения, приходящие в файл /var/log/sec.log. Они должны иметь примерно следующий вид:

Dec 19 08:40:55 vmon nooliterx[23022]: Received: status 135, channel 2, command 25, format 1, data 1 0 0 0
Dec 19 08:41:19 vmon nooliterx[23022]: Received: status 8, channel 3, command 25, format 1, data 1 0 0 0
Dec 19 08:41:22 vmon nooliterx[23022]: Received: status 137, channel 3, command 25, format 1, data 1 0 0 0


Причем, при каждом событии фиксации движения должно появляться два сообщения в лог файле т.к. в связи с конструктивной особенностью датчиков они отправляют два сигнала на каждое свое срабатывание. Это сделано для того, чтобы гарантировать доставку сообщения, поскольку связь является однонаправленной и в ОЧЕНЬ редких случаях сообщения от датчика до приемника могут теряться.



5. Генератор статуса



Скрипт – «генератор статуса» проверяет подключение смартфона к домашней WiFi сети каждую минуту и записывает текущий статус в файл. Проверка осуществляется очень просто – посредством посылки ICMP пакетов на IP адрес смартфона. Блок схема логики, согласно которой скрипт вычисляет статус приведена на рисунке 7.

На основе данных, которые записывает скрипт в статус файл производится корреляция при срабатывании датчиков движения и принимается решение о запуске сценария (это делает скрипт – проверщик, который описан в разделе 6).

Скрипт отрабатывает каждую минуту и обновляет информацию в статус файле, а также дописывает информацию о статусе с текущей временной меткой в лог файл.

Информация в статус файле состоит из:


  • текущего статуса смартфона, который может принимать значения arrived, athome, away;

  • наименования счетчика времени – «ушел» или «дома»;

  • значение счетчика (соответствует кол-ву минут).



Статус «athome» свидетельствует о том, что смартфон дома, подключен к сети. Статус «away», соответственно, говорит об отсутствии смартфона дома (подключения к сети). Статус «arrived» появляется когда смартфон только появился в сети и еще не была запущена сценарная программа. Как только сценарий включения света сработал, статус меняется на «athome». Это сделано для исключения множественных срабатываний.

Отсутствием хозяина дома считается отсутствие подключения смартфона к сети в течение более 20 минут. Такая логика настроена для фильтрации ложных срабатываний (если, например, смартфон кратковременно отключился от сети) и для того, чтобы сценарий не активировался, если хозяин кратковременно отлучался из дома. Это условие предусмотрено в блок-схеме. И для этой цели введены разные типы счетчиков – «ушел» и «дома». При отсутствии смартфона в сети, сохраняется статус «athome» и начинается отсчет счетчика «ушел» при сохранении статуса «athome». Как только значение счетчика превышает 20, статус меняется на «away».







Рисунок 7 – Блок-схема работы «генератора статуса»



Ниже приведен полный листинг скрипта «генератор статуса».

#! /bin/sh
dir=/usr/local/smarthome/imhome
phone_ip=$1
stat_file="$dir/status"
log_file="$dir/log_status"
dt=`date`
if ping -c 5 $phone_ip > /dev/null
then
if grep "athome" $stat_file
then
count=$(($(cat $stat_file|grep pingok | awk -F "_" '{print $2}')+1))
stat="athome"
png="pingok_"
elif grep "arrived" $stat_file
then
count=$(($(cat $stat_file|grep pingok | awk -F "_" '{print $2}')+1))
stat="arrived"
png="pingok_"
else
count="1"
stat="arrived"
png="pingok_"
fi
else
if grep "athome" $stat_file
then
if grep pingnok $stat_file
then
count=$(($(cat $stat_file|grep pingnok | awk -F "_" '{print $2}')+1))
if [ "$count" -gt 20 ]
then
count="1"
stat="away"
png="pingnok_"
else
stat="athome"
png="pingnok_"
fi
else
count="1"
stat="athome"
png="pingnok_"
fi
elif grep "away" $stat_file
then
count=$(($(cat $stat_file|grep pingnok | awk -F "_" '{print $2}')+1))
stat="away"
png="pingnok_"
else
count="1"
stat="away"
png="pingnok_"
fi
fi
printf "$stat\n$png$count\n" > $stat_file
printf "$dt $stat $png$count\n" >> $log_file


6. SEC. Корреляция событий и запуск сценария



Запуск сценария включения источников света должен выполняться при следующих условиях:


  1. Зафиксировано движение датчиком 1;

  2. Не позднее чем через 60 сек после события 1 зафиксировано движение датчиком 2;

  3. Смартфон хозяина подключился к сети WiFi в течение временного окна длительностью 1 минута.



Задачи 1 и 2 решает SEC. Решение задачи 3, а также запуск сценария выполняет скрипт – «проверщик подключения смартфона».

Я не буду подробно описывать установку и первичную настройку SEC т.к. в сети есть достаточно материалов и подробный MAN по этой утилите. В моем случае SEC настроен на чтение файла /var/log/sec.log т.к. в этот файл направляются события, приходящие от датчиков Noolite.

Конфигурационные файлы SEC приведены ниже. Файл /etc/default/sec (содержит основные настройки – конфигурационный файл с описанием правил корреляции в параметре “conf”, анализируемый лог файл в параметре “input”, syslog facility в который пишутся события самого SEC в параметре “detach”):

#Defaults for sec
RUN_DAEMON="yes"
DAEMON_ARGS="-conf=/etc/sec.conf -input=/var/log/sec.log -pid=/var/run/sec.pid -detach -syslog=local6"


Файл /etc/sec.conf с описанием правила корреляции, которое выполняет запуск скрипта – проверщика в случае фиксирования движения сначала датчиком 1, а потом датчиком 2 в течение 1 минуты:

type=PairWithWindow
ptype=RegExp
pattern=\w+\s+\d+\s+\d+\:\d+\:\d+\s+\w+\s+nooliterx\S+\s+Received\:\s+status\s+\d+,\s+channel\s+3,\s+command\s+25.*
desc=Motion sensor outside front door triggered
action=logonly
ptype2=RegExp
pattern2=\w+\s+\d+\s+\d+\:\d+\:\d+\s+\w+\s+nooliterx\S+\s+Received\:\s+status\s+\d+,\s+channel\s+2,\s+command\s+25.*
desc2=Motion sensor by the front door inside the flat triggered
action2=shellcmd (/usr/local/smarthome/imhome/check_phone.sh 192.168.22.155); write /usr/local/smarthome/imhome/test_corr_info %.year-%.mon-%.mday_%.%.hmsstr someone came
window=60


Как видно, правило ищет события срабатывания датчиков по регулярным выражениям, которые записываются в параметрах «pattern».

При выполнении условий SEC запускается скрипт /usr/local/smarthome/imhome/check_phone.sh и передает ему IP адрес смартфона 192.168.22.155 в качестве аргумента.

Скрипт, в свою очередь, проверяет доступность смартфона (посредством отправки ICMP пакетов) и, в случае успеха, проверяет текущий статус смартфона в файле статуса (создаваемом скриптом – генератором статуса). Если значение статуса «away» или «arrived», то запускает сценарий включения источников света и перезаписывает значение статуса в файле статуса на «athome». Блок-схема работы скрипта приведена на рисунке 8.







Рисунок 8 – Блок схема работы скрипта – проверщика



Ниже приведен полный листинг скрипта. В качестве сценарной программы я выполняю включение 4 источников света с помощью утилиты noolitepc а также отправляю сообщение электронной почты самому себе (это было сделано с целью упрощения отладки на период тестирования). Между включениями источников света сделана секундная пауза. Когда команды следуют без нее, то не всегда долетают до силовых блоков.

#! /bin/sh
dir="/usr/local/smarthome/imhome"
phone_ip=$1
stat_file="$dir/status"
log_file="$dir/log_status"
dt=`date`
noolite="/usr/local/bin/noolitepc"
a=1
MAIL="$dir/mail.letter"
while [ "$a" -lt 10 ]
do
if ping -c 2 $phone_ip > /dev/null
then
if grep 'arrived\|away' $stat_file
then
printf "$dt $phone_ip has come home. Welcome!\n" >> $log_file
printf "Subject: Welcome home Boss!\nThe exact time is $dt\n" > $MAIL
/usr/sbin/ssmtp test_email@gmail.com < $MAIL
$noolite --on 3
sleep 1
$noolite --on 2
sleep 1
$noolite --on 6
sleep 1
$noolite --on 8
printf "athome\npingok_1\n" > $stat_file
fi
break
fi
a=$((a+1))
done


Как видно, скрипт выполняет несколько циклов проверки (с помощью цикла while). Это сделано для того, чтобы гарантировать запуск сценария в том случае, если смартфон не успел подключиться к WiFi в момент срабатывания датчиков. Как показало тестирование, такое изредка бывает.



7.Заключение



В итоге у меня получилась система, которая может запускать любые сценарные программы в случае, регистрации прихода домой определенного человека. Сценарием может быть не только включение освещения, но и все, на что хватит фантазии. Например, можно включать музыкальный фон, делать фото пришедшего (с помощью IP камеры) и многое другое.

Коррелятор SEC следит за приходом домой кого-либо (анализируя события от датчиков Noolite), а дальше передает данные скрипту для проверки – кто именно пришел домой. А это значит, что можно настраивать разные программы для разных домочадцев. Передавая в скрипт IP адреса разных смартфонов и добавив соответствующие условия.

Отдельное БОЛЬШОЕ СПАСИБО хочу сказать компании Ноотехника за предоставленные для реализации этой системы датчики движения РМ112 и приемник RX2164.
Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/318162/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество

Следующие 30  »

<умный дом - Самое интересное в блогах

Страницы: [1] 2 3 ..
.. 10

LiveInternet.Ru Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат
О проекте: помощь|контакты|разместить рекламу|версия для pda