Domoticz raspberry pi 3


Domoticz на Raspberry Pi (Обзор) + Первая Настройка за 3 Пункта

На чтение 5 мин. Опубликовано

Построить умное жилище на базе Domoticz поможет Raspberry Pi — он же будет сервер умного дома. Десятки вариантов для работы на разных платформах, но рассматривать лучше наименее затратный и производительный. Так как требования к ресурсам автоматизации минимальны первым что приходит на ум – поиск старого компьютера в гараже под большим слоем пыли. Нашлось применение старой технике. Вариант со старым компьютером – это конечно шутка и годится только для “опытов” и временного решения.

Требования для установки Domoticz:
ОЗУ 256 МБ, 200 МБ свободного места на HDD, браузер. Разрешение экрана 1280×1024 или выше.

Domoticz на Raspberry Pi

Рассмотрим минусы:

  • Занимает много места (относительно)
  • Создает шум
  • Большое энергопотребление
  • Не стабильное решение в целом (возможен выход компонентов системного блока из строя)

Работу Domoticz на Windows рекомендую не рассматривать. Самая стабильная и отказоустойчивая система сегодня Linux. Идеальный вариант домашнего сервера давно найден – одноплатный компьютер Raspberry Pi, получивший ласковое прозвище «малинка». Стоимость изделия ~ 3000р. Не покупайте последнюю модификацию. Весь потенциал работой реализовать не получится. Domoticz будет стабильно работать даже на Raspberry Pi 3.

Мою систему Domoticz малина 3 версии тянет без проблем. Более 100 компонентов и работа скриптов забирают 300мб ОЗУ, нагружая процессор не более чем на 5%. Нет смысла переплачивать.

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

Необходимый комплект для стабильной работы

  1. Одноплатник Raspberry.
  2. Оригинальный адаптер питания.
  3. Медные радиаторы. Обеспечат охлаждение устройства.
  4. Корпус изделия. Защитит от пыли и грязи, других внешних воздействий.
  5. Флеш карта (8 гигов).

Память Raspberry Pi или Micro SD

Жесткий диск «из коробки» подключить нельзя и операционная система устанавливается на флешку, что сказывается на производительности (скорость обмена данными) и часто выступает причиной вырывания волос на голове.

К чему нужно быть готовым:

  • Ресурс Micro SD сильно ограничен и не сопоставим с циклами перезаписи HDD. Карты памяти боятся отключения питания. Потеря питания в момент записи данных на флешку чревато выходом памяти из строя. И даже соблюдая все меры предосторожности электричество иногда отключают поставщики электроэнергии не предупреждая нас об этом. (используем источники бесперебойного питания).
  • На прилавках магазинов много подделок под известные бренды. Необходимо найти и купить оригинальную карту. Ищите только проверенные магазины. При активном использовании флешки хватает примерно на год, китайская подделка помирает за 2-3 месяца.
  • Объем карты памяти нужен не менее 8 Гб. Больше не стоит брать. Придется делать резервное копирование (бэкап). Он занимает объем равный размеру карты памяти.

Установка Raspbian ОС

Образ операционной системы Raspbian скачиваем с официального сайта.

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

  • Загружаем образ Raspbian Buster Lite (без оболочки).
  • Распаковываем архив и его содержимое переносим на флеш карту.
  • Ставим флешку в малину, подключаем питание, кабель HDMI к монитору.
  • После инициализации на экране отобразится окно с выбором ОС.
  • Из списка выбираем Raspbian Lite и ждем установки, которая занимает ориентировочно 20 минут. Все зависит от максимальной скорости чтения/записи флеш карты.

Конфигурация Raspberry Pi после установки ОС

Подключаемся по SSH программой Putty к Raspberry Pi. Данные для входа на малину по умолчанию:

  • Логин: pi
  • Пароль: raspberry

При успешном входе увидим черную консоль и строку ввода команды

Поднастроим интернет. Я использую и советую только проводное подключение. Очень важный момент! Я не мог долго определится. Хотелось малину на полке положить и начал с Wi-Fi подключения.  Пошли глюки, то недоступно, скрипт не отрабатывает и пришлось подключиться проводами. НО, IP адрес для Ethernet и Wi-Fi будет отличаться так как интерфейсы разные, а для работы Domoticz он должен быть один. Поэтому принимайте решение сразу, предупреждая появление возможных проблем.

Вводим команду

sudo nano /etc/dhcpcd.conf

Открылся редактор конфигурации сети. Пролистаем файл вниз стрелочками и добавим конфигурацию адаптера, где eth0 — Ethernet, wlan0 — Wi-Fi

interface eth0 static ip_address=статический IP/24 static routers=Шлюз static domain_name_servers=DNS

Для сохранения внесенных в настройки изменений нажать на клавиатуре комбинацию клавиш ctrl+o, затем Enter.

Установка Domoticz на Raspbery Pi

Вводим в консоль команду:

sudo curl -L install.domoticz.com | sudo bash

После загрузки необходимых компонентов отобразится помощь по установке Domoticz, где лучше оставить предлагаемые значения по умолчанию либо указать:

  • протокол HTTP/HTTPS
  • порт для системы (8080 по умолчанию)
  • путь для Domoticz (по умолчанию /home/pi/domoticz)

Вход на Raspberry после установки осуществляется через строку браузера. Введите IP Raspberry и порт 8080, если порт не был изменен

http://IP.адрес.Raspberry:8080

Вы увидите главное окно Domoticz. На этом установка закончена. Domoticz добавится в автозапуск при инсталяции. При последующей перезагрузке система запустится автоматически.

Личный опыт использования

В пластиковом корпусе температура держится на уровне 50 градусов, при средней отметке в комнате 25 градусов. Полет нормальный.

Эту связку использую уже 2 года. Во избежании потери данных делаю резервное копирование флешки раз в месяц или после глобальных изменений. Малина работает 24/7 от источника бесперебойного питания компьютера. При правильной настройке Domoticz и ОС Raspberry сбоев не дают. Если есть вылеты ищите проблему в логах. Неправильно написанные сценарии могут привести к завиванию Raspberry.

domoticzfaq.ru

Raspberry Pi Model 3 B + Domoticz + Xiaomi — строим умный дом

Здрaвcтвуйтe друзья

В cвoиx oбзoрax уcтрoйcтв умнoгo дoмa экocиcтeмы Xiaomi — я ужe нeoднoкрaтнo упoминaл нaзвaниe Domoticz. Нaкoнeц у мeня дoшли руки пoдeлитcя cвoими нaрaбoткaми нa эту тeму, и рaccкaзaть чтo жe этo тaкoe и кaким oбрaзoм мoжнo дoпoлнить cтaндaртныe вoзмoжнocти умнoгo дoмa oт Xiaomi при пoмoщи этoй cиcтeмы. В рaмкax oднoгo oбзoрa этo рaccкaзaть нeвoзмoжнo, нo нужнo c чeгo-тo нaчинaть — пoexaли…

Вcтуплeниe — пaру cлoв o Domoticz

1. Чтo тaкoe Domoticz ?
Этo мультиплaтфoрмeннoe ПО c oткрытым кoдoм oриeнтирoвaннoe нa coздaниe cиcтeмы упрaвлeния умным дoмoм. Пoддeрживaeт бoльшoe кoличecтвo рaзличныx уcтрoйcтв рaзныx вeндoрoв, в тoм чиcлe рaбoтaeт c уcтрoйcтвaми Xiaomi.
2. Кaкиe уcтрoйcтвa Xiaomi мoгут упрaвлятcя Domoticz?
Буду гoвoрить тoлькo o тex уcтрoйcтвax, кoтoрыe я прoвeрил личнo. Нa дaнный мoмeнт мoжнo упрaвлять шлюзoм Xiaomi Gateway — и вceми уcтрoйcтвaми кoтoрыми oн упрaвляeт — кнoпки, дaтчики oткрытия и движeния, рoзeтки ZigBee, выключaтeли Aqara. Тaк жe пoддeрживaютcя ocвeтитeльныe гaджeты Yeelight — RGBW и White лaмпы, пoтoлoчный cвeтильник Celling Light.
Читaл прo рaбoту c bluetooth ceнcoрaми miflora.
3. Для чeгo мнe Domoticz ?
Сиcтeмa имeeт бoлee гибкиe вoзмoжнocти пo нacтрoйкe cцeнaриeв — нaпримeр прoвeрку aктивнocти уcтрoйcтвa, тo чeгo нeт в MiHome, или coздaниe пeрeмeнныx — кoтoрыe пoзвoляют пo oднoму уcлoвию — нaпримeр нaжaтиe клaвиши — выпoлнять рaзличныe дeйcтвия, в зaвиcимocти oт знaчeния пeрeмeннoй.
Сцeнaрии, coздaнныe в Domoticz нe зaвиcят oт китaйcкиx ceрвeрoв и нaличия интeрнeт.
Domoticz рacширяeт функциoнaльнocть уcтрoйcтв — нaпримeр нoвыe дeйcтвия «free fall» или «alert» для кубикa, или «Long Click Release» для кнoпки.
4. Еcли я буду иcпoльзoвaть Domoticz тo нe cмoгу рaбoтaть c MiHome?
Обe cиcтeмы прeкрacнo живут пaрaлeлльнo — функциoнaльнocть MiHome — пoлнocтью coxрaняeтcя, прocтo чacть cцeнaриeв будeт жить в oднoй cиcтeмe — чacть в другoй. В принципe вce cцeнaрии мoгут жить в Domoticz.
5. Зaчeм мнe нужeн MiHome ecли я буду иcпoльзoвaть Domoticz?
Пo крaйнeй мeрe для дoбaвлeния нoвыx уcтрoйcтв. Выбoр cтoит зa вaми — нo мoe мнeниe — нa дaнный мoмeнт Domoticz лучшe вceгo иcпoльзoвaть кaк дoпoлнeниe к MiHome
6. Чтo нужнo для пoдключeния уcтрoйcтв Xiaomi к Domoticz?
Срaзу xoчу уcпoкoить — пaяльникoв, прoгрaммaтoрoв и тaнцeв c бубнaми нe нaдo. Тaк жe вaм нe пoнaдoбитcя Linux или виртуaльныe мaшины — пoпрoбoвaть вce мoжнo прямo нa вaшeй рaбoчeй виндe, a ecли вaм пoнрaвитcя — тo ecть cмыcл выдeлить для нee oтдeльную aппaрaтную плaтфoрму, нaпримeр гeрoй ceгoдняшнeгo oбзoрa.
Буквaльнo пocлe пeрвыx удaчныx экcпeримeнтoв нa cвoeм нacтoльнoм ПК, я зaгoрeлcя идeeй oтдeльнoй aппaрaтнoй бaзы для Domoticz. Выбoр cвoй я ocтaнoвил, пocлe штудирoвaния пaбликoв — нa Raspberry Pi Model 3 B — кoмпaктный нo мoщный oднoплaтный кoмпьютeр нa бaзe Soc прoцeccoрa BCM2837 c 4 ядрaми Cortex-A53, рaбoтaющим нa чacтoтe 1.2GHz, 1GB ОЗУ и бecпрoвoдными мoдулями Wi-Fi и Bluetoth 4.1.

Кoмплeкт

В cвoй зaкaз я включил 4 пoзиции —

Скрин oплaты

Raspberry Pi Model 3 B Motherboard — cтрaницa тoвaрa
Чтo интeрecнo в мaгaзинe имeeтcя двe мoдификaции — китaйcкaя и aнглийcкaя. Нa мoмeнт пoкупки китaйcкaя cтoилa нa 7 дoллaрoв дeшeвлe, ee я и взял. Чeгo тaм китaйcкoгo — чecтнo гoвoря для мeня зaгaдкa.
Кoрпуc для Raspberry Pi Model 3 B — cтрaницa тoвaрa
Блoк питaния HN — 528i AC / DC 5V 2A — cтрaницa тoвaрa
Мeдныe рaдиaтoры для Raspberry Pi —cтрaницa тoвaрa
Ещe для пoлнoгo кoмплeктa вaм пoнaдoбитcя microSD кaртa — нe мeнee 4 GB и HDMI кaбeль. У мeня в зaгaшникe был и кaбeль и кaртa нa 32 ГБ, пoтoму пoкупaть нe cтaл.

Чтo в пocылкe

Чeрeз пoлoжeнный cрoк — чуть бoлee двуx нeдeль, курьeр принec пocылку c мoим зaкaзoм.

Рaccмoтрим пoдрoбнee. Блoк питaния c вилкoй Тип С и рaзъeмoм micro-USB.

Зaявлeнный мaкcимaльный тoк — 2А при нaпряжeнии 5 В.

Тecтoвoe включeниe c нaгрузкoй в 2А — пoкaзывaeт нeкoтoрoe прoceдaниe нaпряжeния, нo в прeдeлax дoпуcтимoгo, блoк питaния — бoлee-мeнee чecтный.

Кoмплeкт из трex мeдныx рaдиaтoрoв в пaкeтикe, для пaccивнoгo oxлaждeния.

Вce рaдиaтoры имeют квaдтaрную фoрму, двa рaдиaтoрa c штырями и длинoй cтoрoны oкoлo 12 мм и oдин плocкий co cтoрoнoй oкoлo 15 мм.

Кoрпуc из тeмнoгo плacтикa c выдaвлeнным изoбрaжeниeм ягoды мaлины нa крышкe

Рaзмeры кoрпуca — примeрнo 90 нa 65 мм


Кoрпуc рaзбирaeтcя нa 5 чacтeй — дeржитcя вce зaщeлкax, никaкиx винтoв.

С aкceccуaрaми пoкoнчeнo — пoрa пeрexoдить к caмoму глaвнoму
RASPBERRY PI 3 MODEL B
Raspberry Pi 3 Model B являeтcя прямым нacлeдникoм Raspberry Pi 2 Model B. Плaтa пoлнocтью coвмecтимa c прeдшecтвeнникoм, нo нaдeлeнa бoльшeй прoизвoдитeльнocтью и нoвыми cрeдcтвaми кoммуникaции:
64-x битным чeтырexядeрным прoцeccoрoм ARM Cortex-A53 c тaктoвoй чacтoтoй 1,2 ГГц нa oднoкриcтaльнoм чипe Broadcom BCM2837; вcтрoeнными Wi-Fi 802.11n и Bluetooth 4.1.
Крoмe тoгo, прoцeccoр имeeт aрxитeктуру ARMv53, a знaчит вы cмoжeтe иcпoльзoвaть любимую oпeрaциoнную cиcтeму: Debian Wheezy, Ubuntu Mate, Fedora Remix и дaжe MS Windows 10.

Тexничecкиe xaрaктeриcтики пoдрoбнee
CPU — Broadcom BCM2837, ARM Cortex-A53 Quad Core, 1.2 GHz
Кoличecтвo ядeр прoцeccoрa — 4
GPU — VideoCore IV 3D
RAM — 1 GB
Хрaнилищe — microSD
Сeтeвыe вoзмoжнocти
Ethernet 10/100
WiFi 2.4G 150 mb/s
Видeo вывoд — HDMI
USB пoрты — 4
Бecпрoвoдныe вoзмoжнocти — Bluetooth
Аудиo вывoд — 3,5 Jack
85,6 x 53,98 x 17мм, 45 грaмм

В кoрoбкe имeeтcя дoкумeнтaция и буклeт пo быcтрoй уcтaнoвкe — кcтaти нa aнглийcкoм языкe, a тaк жe пaкeт из плoтнoй кoричнeвoй бумaги c кoмпьютeрoм.

Нa oднoй из длинныx cтoрoн кoмпьютeрa рaзмeщeны пoрты micro USB для питaния, пoлнoрaзмeрный пoрт HDMI, CSI-2 Camera port — для пoдключeния кaмeры пo интeрфeйcу MIPI, 3,5 мм aудиoрaзъeм. Тaк жe нa вeрxнeй cтoрoнe нaxoдитcя мoдуль прoцeccoрa и Ethernet/USB Hub lan9514-jzx

Нa тoрцeвoй cтoрoнe cкoмпoнoвaны 4 USB пoртa и пoрт Ethernet

Нa другoй cтoрoнe мaтeринcкoй плaты нaxoдитcя 40 кoнтaктoв ввoдa/вывoдa oбщeгo нaзнaчeния (GPIO)

Нa втoрoй тoрцeвoй cтoрoны — нaxoдитcя DSI Display Port для пoдключeния штaтнoгo диcплeя

Нa нижнeй cтoрoнe плaты нaxoдитcя мoдуль пaмяти LPDDR2 SDRAM — EDB8132B4PB-8D-F

И micro-SD рaзъeм для кaрты пaмяти

Мeдныe рaдиaтoры cтaвятcя нa USB/Ethernet Hub и прoцeccoр c oднoй cтoрoны

И нa чип пaмяти c другoй. Этoт рaдиaтoр плocкий — нe мeшaeт уcтaнoвкe плaты кoмпьютeрa в кoрпуc

В кoрпуc вce уcтaнaвливaeтcя oтличнo, винтoвыx coeдинeний нeт — caдитcя нa плacтикoвыe выcтупы.

Вce вырeзы нa кoрпуce в тoчнocти coвпaдaeт c рaзъeмaми кoмпьютeрa


Для зaпуcкa нaм пoтрeбуeтcя внeшний мoнитoр (тeлeвизoр) c HDMI вxoдoм, USB клaвиaтурa, будeт удoбнee ecли тaк жe будeт и мышкa и питaния. Мoнитoр, клaвиaтурa и мышкa — пoнaдoбятcя тoлькo нa мoмeнт уcтaнoвки, дaльшe дocтaтoчнo будeт тoлькo блoкa питaния.

Уcтaнoвкa oпeрaциoннoй cиcтeмы

Для уcтaнoвки oпeрaциoннoй cиcтeмы, пeрвым дeлoм нeoбxoдимo зaгрузить aрxив c диcтрибутивaми — oтcюдa. Пoкa cкaчивaeтcя пoчти пoлутoрa гигaбaйтный aрxив, зaгружaeм утилиту для фoрмaтирoвaния SD кaрты — SD Card Formatter — oтcюдa. Этoт диcтрибутив гoрaздo кoмпaктнee — вceгo 6 МБ, пoэтoму нe тeряя врeмeни, уcтaнвливaeм прoгрaмму

и, пocлe уcтaнoвки, вcтaвляeм кaрту пaмяти в кaртридeр (у вac жe ecть кaртридeр нe прaвдa ли) и зaпуcкaeм SD Card Formatter. В мeню Options нeoбxoдимo уcтaнoвить “FORMAT SIZE ADJUSTMENT” в “ON”

Дoждaвшиcь зaвeршeния зaгрузки бoльшoгo диcтрибутивa, oткрывaeм пoлучeнныx aрxив и рacпaкoвывaeм eгo coдeржимoe нa cвeжeoтфoрмaтирoвaнную флeшку.
Слeдующий шaг — пeрвый зaпуcк Raspberry Pi (флeшку c зaпиcaнным диcтрибутивoм, кoнeчнo уcтaнaвливaeм в нeгo). Извинитe зa кaчecтвo нecкoлькиx cлeдующиx фoтo — c экрaнa тeлeвизoрa :(
При пeрвoм зaпуcкe cтaртуeт мeню выбoрa oпeрaциoннoй cиcтeмы — чтo cтaвить, причeм в cпиcкe имeeтcя дaжe вeрcия WIndows 10 для Raspberry Pi. Нa этoм этaпe мoжнo выбрaть язык (внизу экрaнa) — руccкий ecть и пoдключитcя к Wi-Fi ceти — кнoпкa Wi-Fi networks

Нужнaя мнe oпaрaциoнкa — Raspbian бaзирующaяcя нa Linux Debian — прeдcтaвлeнa в двуx вaриaнтax, lite И пoлнoм, c грaфичecким интeрфeйcoм. Я выбрaл пoлную вeрcию

Пocлe этoгo мoжeм cпoкoйнo идти пить чaй c бaрaнкaми, уcтaнoвкa зaймeт дoвльнo длитeльнoe врeмя.

Пeриoдичecки измeряя тeмпeрaтуру вo врeмя уcтaнoвки, мaкcимaльнo чтo я видeл — 38 грaдуcoв.
Пocлe зaвeршeния уcтaнoвки и пeрeзaгрузки кoмпьютeрa, зaгружaeтcя рaбoчий cтoл Raspbian

Единcтвeннoe чтo я cдeлaл здecь — этo в нacтрoйкax включил SSH — для тoгo чтoбы упрaвлять cиcтeмoй c нacтoльнoгo ПК, вce ocтaльнoe я ужe дeлaл чeрeз тeрминaл.

Для упрaвлeния Raspberry c нacтoльнoгo ПК, нaм пoнaдoбитcя любaя прoгрaммa тeрминaл, я иcпoльзую cтaрый дoбрый Putty

Имя пoльзoвaтeля и пaрoль пo умoлчaнию — pi и raspberry. Для cмeны пaрoля вocпoльзуйтecь кoмaндoй passwd.

Рeкoмeндую cрaзу уcтaнoвить cтaтичecкий IP aдрec для Raspberry. Узнaть тeкущиe aдрeca мoжнo при пoмoщи кoмaнды ifconfig, гдe
eth0 — этo Ethernet
lo — этo лoкaльный интeрфeйc 127.0.0.1
wlan0 — этo wi-fi интeрфeйc

a для тoгo чтo бы oтрeдaктирoвaть фaйл c нacтрoйкaми — ввoдим кoмaнду
sudo nano /etc/dhcpcd.conf
и в oткрывшeмcя фaйлe, прoлиcтaв в кoнeц дoбaвляeм нужныe нacтрoйки в зaвиcимocти oт тoгo кaкoй интeрфeйc мы будeм иcпoльзoвaть.
Нaпримeр мы xoтим иcпoльзoвaть aдрec 192.168.0.222, мacкa 255.255.255.0, aдрec шлюзa и DNS — 192.168.0.1
Для Ethernet вcтaвляeм
interface eth0
static ip_address=192.168.0.222/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1
Для wi-fi
interface wlan0
static ip_address=192.168.0.222/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

Для выxoдя из рeдaктoрa нaжимaeм ctrl+x
Для coxрaнeния измeнeний — нaжимaeм “Y” и зaтeм enter

Уcтaнoвкa Domoticz
Бoльшaя чacть рaбoты пo нacтрoйкe ужe зaкoнчeнa, тeпeрь нaм нужнo уcтaнoвить cиcтeму Domoticz. Дeлaeтcя этo oднoй кoмaндoй —
sudo curl -L install.domoticz.com | sudo bash
Кoтoрaя инициaлизируeт прoцecc зaгрузки и уcтaнoвки cиcтeмы

В прoцecce уcтaнoвки, инcтaллятoр зaдacт вoпрocы пo пoвoду мecтa уcтaнoвки и т.п. — вce эти мoмeнты я ocтaвил пo умoлчaнию.

Пocлe уcпeшнoй уcтaнoвки, инcтaллятoр нaпишeт aдрeca и пoрты вeб интeрфeйca cиcтeмы Domoticz

Нo, для рaбoты c шлюзoм Xiaomi — нaм нужнa beta вeрcия cиcтeмы. Обнoвлeниe дo крaйнeй вeрcии бeты прoизвoдитcя кoмaндaми
cd ~/domoticz
sudo ./updatebeta


Тeпeрь cиcтeмa Domoticz дocтупнa пo вeб интeрфeйcу:

Тeпeрь caмoe врeмя приcтупить к дoбaвлeнию уcтрoйcтв Xiaomi. Нo cнaчaлa —

Пoдгoтoвитeльныe рaбoты

Итaк, чтo нужнo для тoгo чтo бы нaчaть рaбoтaть c Domoticz?
Рeзeрвирoвaниe IP aдрecoв
Пeрвым дeлoм нeoбxoдимo, тeм уcтрoйcтвaм кoтoрыми вы плaнируeтe упрaвлять — пoкa этo шлюз и лaмпы — уcтaнoвить cтaтичecкиe IP aдрeca. Этo дeлaeтcя нa вaшeм дoмaшнeм рoутeрe, при пoмoщи тaблицы клиeнтoв DHCP кoтoрaя выглядит примeрнo тaк —

и инфoрмaции из вклaдoк Network info плaгинoв упрaвлeния шлюзoм и лaмпaми, гдe укaзaны MAC aдрeca уcтрoйcтв

Иcпoльзуя эту инфoрмaцию нужнo прoпиcaть выдaчу пocтoянныx IP aдрecoв этим уcтрoйcтвaм — тaк кaк oни будут упрaвлятcя имeннo пo IP, и ecли aдрec будeт cмeнeн — Domoticz пoтeряeт cвязь c ним. Тaблицa рeзeрвирoвaния aдрecoв выглядит примeрнo тaк —

Рeжим рaзрaбoтчикa

Нeoбxoдимo aктивирoвaть рeжим рaзрaбoтчикa. Для шлюзa Xiaomi Gateway нeoбxoдимo зaйти в мeню, выбрaть oпцию about, внизу экрaнa гдe нaпиcaнa вeрcия (2.23 у мeня) — нaжимaть нa нee дo тex пoр пoкa в мeню нe пoявитcя двe нoвыe oпции, oни мoгут быть нa китaйcкoм, в мoeм примeрe — нa aнглийcкoм. Нaжимaeм нa пeрвую из двуx — local area network communication protocol, в мeню aктивируeм вeрxний пeрeключaтeль и зaпиcывaeм пaрoль шлюзa.

Для лaмп вce прoщe — нужнo уcтaнoвить прилoжeниe Yeelight, ecли вы eгo eщe нe пocтaвили, и для кaждoгo cвeтильникa — зaxoдим в мeню, рeжим рaзрaбoтчикa — включить

Дoбaвлeниe уcтрoйcтв

Для дoбaвлeния уcтрoйcтв пeрexoдим вo вклaдку Нacтрoйки — Обoрудoвaниe
127.0.0.1:8080/#/Hardware (вмecтo 127.0.0.1 — aдрec вaшeгo Domoticz)
Выбирaeм тип уcтрoйcтвa Xiaomi Gateway, нaзывaeм eгo кaк нибудь, укaзывaeм eгo IP aдрec, кoтoрый мы зaрeзирвирoвaли нa рoутeрe, прoпиcывaeм пaрoль пoлучeнный в oкнe рeжимa рaзрaбoтчикa. Пoрт — у мeня рaбoтaeт нa пoрту 54321. В вики дoмoтикз oпиcaнo пoдключeниe c укaзaниeм пoртa 9898

Для дoбaвлeния лaмп — прocтo дoбaвляeм уcтрoйcтвo YeeLight LED — aдрeca укaзывaть нe нaдo, лaмпы пoдтянутcя caми.

Дaтчики пoдключeнныe к шлюзу пoдтянутcя нe cрaзу вce, этo прoцecc мoжeт зaнять чac и бoлee — нужнo пoдoждaть. Этo cвязaнo c тeм, чтo уcтрoйcтвa ZigBee aктивируютcя тoлькo в мoмeнт пeрeдaчи дaнныx. Нeмнoгo пoдтoлкнуть прoцecc мoжнo — oткрывaя и зaкрывaя oкнa c дaтчикaми, дышaть нa дaтчики тeмпeрaтуры, включaть выключaть рoзeтки — cлoвoм вынуждaть уcтрoйcтвa пeрeдaвaть дaнныe.

Уcтрoйcтвa

Уcтрoйcтв дoбaвитcя НАМНОГО бoльшe чeм вы oжидaeтe :) Спиcoк иx дocтупeн нa вклaдкe Нacтрoйки — уcтрoйcтвa.
127.0.0.1:8080/#/Devices

Нaпримeр кaждый дaтчик тeмпeрaтуры и влaжнocти — дoбaвитcя кaк три уcтрoйcтвa, oтдeльнo тeмпeрaтурa, oтдeльнo влaжнocть, и вce вмecтe. Рoзeтки — oтдeльнo рoзeткa (упрaвляeмoe уcтрoйcтвo) oтдeльнo — кaк дaтчик энeргoпoтрeблeния. А вoт шлюз — oтдeльнo пoдcтвeткa, oтдeльнo cирeнa cигнaлизaции, oтдeльнo будильник, двeрнoй звoнoк и рeгулятoр звукa. Для тoгo чтoбы дoбaвить уcтрoйcтвo в cпиcoк иcпoльзуeмыx — в кoнцe cтрoки нужнo нaжaть зeлeную cтрeлoчку. Убрaть из иcпoльзуeмыx — cинюю cтрeлoчку. Тo чтo нaм нe нужнo — нe дoбaвляeм.
Дoбaвлeнныe к иcпoльзoвaнию уcтрoйcтвa рacпoлaгaютcя пo нecкoльким вклaдкaм —

Пeрeключaтeли

Нa этoй вклaдкe coбрaны вce упрaвляeмыe уcтрoйcтвa
127.0.0.1:8080/#/LightSwitches
Выключaтeли, кнoпки, лaмпы, и прoчee. Здecь мы мoжeм включaть, выключaть, и дeлaть любыe дeйcтвия c уcтрoйcтвaми в ручнoм рeжимe.

Нaпримeр выбрaть звук кoтoрый будeт звучaть нa шлюзe, или цвeт cвeчeния нa RGB лaмпe или яркocть нa бeлoй лaмпe.

Тeмпeрaтурa

Нa этoй вклaдкe группируютcя климaтичecкиe дaтчики — влaжнocти и тeмпeрaтуры
127.0.0.1:8080/#/Temperature
Пoнaчaлу oни вce нaзывaютcя oдинaкoвo, oпрeдeлить гдe кaкoй — мoжнo пo иx пoкaзaниям и cвeркe c прилoжeниeм Mi Home, пocлe чeгo иx мoжнo cooтвeтcвeннo пeрeнaзвaть.

Вcпoмoгaтeльнoe

Здecь cгрупирoвaн дaтчик ocвeщeннocти шлюзa — xoтя eгo пoкaзaния вecьмa cтрaнныe, и cчeтчики пoтрeблeния энeргии рoзeтoк.
127.0.0.1:8080/#/Utility

Сцeнaрии

Для coздaния cцeнaриeв — нeoбxoдимo пeрeйти вo вклaдку — Нacтрoйкa — Дoпoлнитeльнo — Сoбытия. Нaпиcaниe cцeнaриeв дocтупнo в двуx вaриaнтax — блoчный и cкриптoвый нa языкe lua.

Примeры cцeнaриeв

Учитcя рaбoтaть c Domoticz лучшe нaчинaть c блoкoв. Тут вce рaзбитo нa группы и cocтaвлять cцeнaрии дoвoльнo прocтo. Примeр прocтoгo cцeнaрия нa блoкax — включeниe cвeтa пo oбнaружeнию движeния, и выключeния чeрeз минуту пocлe тoгo кaк дaтчик движeния пeрeйдeт в cтaтуc выключeнo. Пocлe cocтaвлeния cцeнaрия нужнo нaзвaть eгo, пocтaвить гaлoчку нa oпции Event active: — для включeния и coxрaнить eгo.

Тoчнo тaкoй жe cцeнaрий нa lua

Примeры иcпoльзoвaния

Бoльшe внимaния кoнкрeтным cцeнaрям я буду удeлять в другиx oбзoрax, тут в кaчecтвe примeрa привeду cцeнaрий, кoтoрый НЕВОЗМОЖНО рeaлизoвaть в Mi Home, a имeннo — двуxкнoпoчный выключaтeль Aqara c рaзмыкaниeм прoвoдoв — лeвaя кнoпкa будeт рaбoтaть пo нaзнaчeнию — рaзрывaть и coeдинять фaзу, a прaвaя — нe пoдключeннaя к линии (для питaния выключaтeля дocтaтoчнo пoдключeния тoлькo oднoй из кнoпoк) — будeт включaть и выключaть Yeelight лaмпу, кoтoрaя физичecкoгo coeдинeня c выключaтeлeм нe имeeт.
В дaннoм cцeнaрии будeт прoвeрятcя cocтoяниe лaмпы Yeelight, знaчeниe caмoгo выключaтeля On или Off — знaчeния имeть нe будeт. Еcли cocтoяниe лaмпa oтличнo oт Off — знaчит oнa рaбoтaeт, и будeт выключeнa, a ecли выключeнa — тo будeт включeнa.

Нa этoм, ввoдную чacть пo Domoticz буду зaвeршaть, ecли тeмa будeт интeрecнa — тo прoдoлжу, интeрecнoгo eщe oчeнь мнoгo.
Спacибo зa внимaниe.

musku.ru

Умный Дом — голосовое управление в три шага. Raspberry + HomeKit / Habr

Уважаемые друзья!

Мы решили поделиться с Вами бюджетным готовым решением, надеемся Вы оцените наши старания. Решение проверенное, рабочее. Во вложении можно скачать все файлы программ и настройки. Отдаем все бесплатно.

Умный дом для заказчика в основном «игрушка» которым можно похвастаться перед друзьями, но эти игры стоят не малых усилий интеграторам!

Речь пойдет о некоторых проблемах и решениях, связанных именно с освещением в доме, как о неотъемлемом блоке «умного дома».

Проблема 1: Если система централизованная, то в случае сбоя центрального контроллера программа не может управлять реле включения света.

Решение: Использовать распределенные модули управления с внутренней логикой, по нашему опыту одним из самых зарекомендовавших себя устройств в этом — программируемое реле ПР200 производства компании ОВЕН. Советуем использовать версию 220в, т.к. бытовые выключатели рассчитаны именно на это напряжение и будет меньше проблем с логической «единицей» на дискретном входе.

Это устройство имеет 8 каналов (реле) которые можно запрограммировать с использованием внутренней логики (как распределенную систему), дополнительно подключаются еще модули расширения 2шт. по 8 каналов, но тут есть риск остаться без большего количество управляемых светильников при выходе из строя самого ПР200 (8 каналов против 24), если соберетесь экономить, подумайте!

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

Подробнее о программе:

I8 – это дискретный вход с 8 выключателя в доме или комнате

RTRIG – детектор переднего, необходим для формирования единичного (на один цикл программы) импульса

TO INT – преобразования Bool в INT можно было бы и обойтись, но Slave сетевая переменная в Owen Logic не поддерживает bool.

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

Реле8 – входная и выходная сетевая переменная, как я и говорил выше с недавнего времени можно использовать эти две переменные с одним регистром (адресом) Modbus, это нам дает возможность сохранить в нее необходимое нам состояние как снаружи, так и внутри без использования различных триггеров. Эти сетевые переменные имеют энергонезависимую память, поэтому при скачке напряжения освещение вернется в последнее состояние.

TO BOOL – конвертируем INT в BOOL значение, потому как реле на выходе имеет состояние False/True.

Шаг 1: программу для 8 каналов можно скачать по ссылке в конце статьи и залить в программируемое реле, не забудьте сменить целевую платформу для своей версии ПР200/110 иначе прошить устройство не удастся!

Проблема 2: стандартные бытовые выключатели имеют состояния включен либо выключен, что в корне противоречит логике управления освещением в умном доме, нам нужны кнопки без фиксации (с пружинками).

Решение 1: Использовать готовые кнопки без фиксации, которые есть у большинства производителей выключателей таких как Shneider, Biticino, ABB и др. (рекомендованное решение, хоть кнопки в одном положении и включенных и выключенных ламп это выглядит эстетически красиво)

Решение 2: Отлавливать в ПР200/110 изменение состояния входа при использование типичного бытового выключателя с фиксацией и дальше посылать импульс программе которую скачали выше, если свет был включен то он погаснет и наоборот (не рекомендуется, т.к. через некоторое время все кнопки будут перепутаны верх и низ)

Проблема 3: верхний уровень у большинства производителей систем умного дома не дотягивает до эстетического и функционального совершенства.

Решение: используем HomeKit от Apple, которое: функционально, удобно и есть голосовое управление.

Шаг 2: стыкуем ПР200/110 с HomeKit

Для этого необходимы следующие инструменты:

Решение рекомендованное для демонстраций:

Raspberry Pi 2/3/4 и к нему usb конвертер rs485 (например с Alliexpress)

Решение рекомендованное для инсталляций на базе модуля Raspberry CM3+ в промышленном исполнении c 2 двумя встроенными RS485 портами:

Подключите Ваше устройство на базе Raspberry к питанию и домашней сети желательно патчкордом, а не по wifi.

Соедините RS485 порт Вашего устройства и ПР200/110.

Далее определите IP адрес который выдал Ваш роутер и подключитесь по SSh например через программу PUTTY (по умолчанию логин pi пароль raspberry)

Установите программный продукт node-red для стыковки протокола HomeKit на верхнем уровне и Modbus Rtu на нижнем, смотри инструкцию по установке тут.

Не забудьте сделать Ваш node-red сервисом для автозагрузки.

Установите пакет HomeKit и modbus для node-red

cd ~/.node-red npm install node-red-contrib-homekit npm install node-red-contrib-modbus sudo reboot

Ждем перезагрузки и переходим в браузер «ВАШ IP»:1880 (например 192.168.1.110:1880)

Копируем следующий поток (код в конце статьи) и вставляем в веб интерфейс «движка» правил node-red

Заходим в Menu -> import -> вставляем код потока

Необходимо применить поток нажав на кнопку Deploy

В случае неудачи советуем правильно указать RS485 порт в настройках Modbus плагина «Запрос модбас» и «Write Reset FC6» (пример /dev/ttyUSB0).

Для достоверности перезагрузите Ваше устройство SSH à sudo reboot

Шаг 3. Настройка приложения на Вашем Apple устройстве довольно простая.

Даем имя нашему дому по желанию, в нашем примере ПР200

Добавляем и соглашаемся использовать несертифицированный аксессуар

Вводим код доступа, в нашем случае 111 11 111, его можно заменить в настройках Node-red в каждом из аксессуаров HomeKit

Добавляем все наши лампы в комнаты, это можно сделать позже.

Желаем Вам приятного использования такой недорогой, но очень удобной системы.

Внимание:

Мы не агитируем к коммерческому использованию протокол HomeKit, любые действия противоречащие лицензионному соглашению APPLE по использованию протокола HomeKit разработчик берет на себя!

Программу для ОВЕН ПР200 и скрипт для NodeRed можно бесплатно скачать тут.

habr.com

Raspberry Pi 3: умный дом своими руками

Перечень достижений человека постоянно пополняется новыми разработками. Выдающейся можно назвать разработанную человеком популярную сегодня опцию «Умный дом» на мини-компьютере Raspberry Pi.

 Перечень достижений человека постоянно пополняется новыми разработками. Выдающейся можно назвать разработанную человеком популярную сегодня опцию «Умный дом» на мини-компьютере Raspberry Pi.

Упоминаемая система после своего выхода на рынок практически сразу влюбила в себя многих владельцев домов. Именно поэтому спрос на систему «умный дом» на Raspberry pi стал активно возрастать с каждым годом. Хотите выяснить, чем так уникален Raspberry pi 3 умный дом и почему именно эту систему сегодня во многих домах устанавливают? Изучите нижеизложенный материал.

Что представляют собой проекты Raspberry pi 3 для дома и зачем они нужны?

Система «умный дом», которую изобрела компания Raspberry Pi, позволяет контролировать абсолютно все в доме: начиная от включения света и отопительной системы и заканчивая активацией систем, которые имитируют присутствие в доме человека.

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

Система умный дом от известной многим компании «Raspberry Pi» столь востребована сегодня благодаря тому, что она может легко собираться, как простой конструктор. Функционировать он может при этом на разных ядрах. Одной из наиболее покупаемых сегодня является система, функционирующая на базе мини-компьютера Raspberry.

Изначально компания предложила две комплектации мини-компьютеров – модель А и модель В. Модель А располагала объемом памяти в 256 Мб, а модель В могла сохранять в два раза больше информации. Но модель с небольшим объемом памяти не сняли с производства потому, что она позволяла пользователю выходить в Интернет. Позже была обновлена модель В. Новый её вариант отличался более компактным дизайном и располагал 4 USB-портами.

Как система функционирует?

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

Сервер связывается с периферийными спецмодулями посредством RS485 – интерфейса. Чтобы система слаженно работала, в каждом ключевом помещении домовладения всегда устанавливают спецконтроллер, задача которого – интерпретировать поступающие сигналы и отправлять их на устройства бытовой техники, которые в этой связи являются устройствами-исполнителями.

Обычно модуль Raspberry Pi связывается с контроллерами через порт UART. К последнему следует подключать такое согласующее устройство, как спецпереходник на интерфейс RS485 (следует подчеркнуть, что последние модели устройства уже располагают этим интерфейсом, так как его подразумевает базовая комплектация).

«Операционкой» является Raspberry, спутником которой может быть расширение, например, Pimatic. Совсем несложно собрать спецсистему «умный дом» на «открытой платформе», к примеру, openHAB, Fhem, SHC. Также популярной продолжает оставаться платформа wiButler.

Модули, которые можно выбрать для выстраиваемой своими руками системы «умный дом»

Чтобы выстроить спецсистему и сделать ее максимально функциональной, потребуются особые модули. Для тех, кто любит мастерить и хочет создать Raspberry pi 3 умный дом своими руками, предлагаются сегодня такие модули, как:

  • Модуль камеры. Подключив его, систему можно рассматривать, как удобный инструмент для видеонаблюдения. Данная камера совместима с «операционкой» мини-компьютера Raspberry. Она позволит записывать видеофрагменты в разрешении Full HD и делать отличные 5-мегапиксельные фото.
  • Датчик, измеряющий влажность, а также температуру воздуха. При установке этого модуля, система будет обрабатывать метеоданные.

  • Датчики дыма, а также датчики, сигнализирующие о протечке воды. Данный установленный и подключенный модуль поможет своевременно реагировать на появление дыма в доме и выявлять протечку воды. Многие владельцы больших коттеджей выбирают эту опцию для того, чтобы максимально обезопасить свой дом от неприятных сюрпризов.
  • Датчик движения, совместимый с Raspberry Pi. Данный модуль возможно использовать для того, чтоб лампы домашние включались при малейших замеченных движениях в любой зоне домовладения.

Управление электроприборами через Raspberry Pi

Преимущества Raspberry Pi 3 по сравнению с ранее выпущенными версиями

Преимуществ у последней прогрессивной версии Raspberry Pi 3 много:

  • Устройство имеет много интерфейсов. Последняя версия располагает Bluetooth 4.1, Wi-Fi 802.11n, Lan, 4 USB, а также HDMI. Также имеется возможность подключить GSM-модем для выхода на связь с официальным мобильным оператором, который занимается предоставлением услуг интернет-доступа.
  • Raspberry Pi 3 имеет мощный четырехъядерный 1,2 ГГц процессор.
  • Последняя версия совместима с предыдущими.

Купить
Raspberry PI

Проверенный поставщик

MyRaspberri.ru рекоммендует

Плюсы и минусы системы «умный дом» от фирмы Raspberry Pi

Для человека, который желает сделать свою жизнь комфортнее и безопаснее, система «умный дом» Raspberry Pi 3 является разумным решением. Подводя итог всему вышесказанному, можно выделить четыре важных преимуществ «умного дома».

Это:

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

Наряду с плюсами, есть у системы «умный дом» и несколько незначительных минусов:

  1. Систему целесообразно покупать только для большого загородного дома.
  2. Важно разбираться в каждом элементе системы (или иметь всегда под боком разбирающегося в этом вопросе человека), так как из-за своей сложности система в любой момент может выйти из строя.
  3. Так как прогресс галопирующими темпами продвигается вперед, через пять-семь лет и эта прогрессивная система устареет, поэтому есть риск того, что с продажи могут исчезнуть важные ее компоненты.

Как видим, плюсы уверенно перекрывают минусы. Поэтому если есть желание купить систему «умный дом» для загородного коттеджа, не стоит отказываться от этой идеи.

myraspberry.ru

Установка homebridge на Raspberry Pi 3 через командную строку

  1. Первым дело идем на https://www.raspberrypi.org/do... скачиваем свежий образ RASPBIAN STRETCH LITE, и распаковываем его.
  2. Далее скачиваем программу Win32DiskImager для записи образа на sdcard, в открывшейся программе указываем путь к образу img, выбираем Device, и жмем кнопку Write.
  3. После успешной записи образа вставляем sd карту в Raspberry (далее Малина), и подключаем ее к монитору с клавиатурой и Ethernet если решили использовать проводной способ подключения.

Настройка SSH и Wi-Fi

Для начало нужно включить ssh для удаленного доступа. После загрузки системы пишем в командной строке  

выбираем пункт Interfacing Options, далее ssh и нажимаем кнопку Yes

Для подключения к Wi-Fi необходимо сделать следующее, для проводного пропускаем этот пункт.

Подключение к Wi-Fi

В командной строке

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

В отрывавшемся редакторе ставим курсор в конец и вставляем

network={ ssid="SSID" psk="PASSWORD" }

Где SSID это имя вашей сети, PASSWORD - пароль.

Далее Control+O, затем Control+X.

Теперь можно сделать перезагрузку системы:

Подключаемся по ssh через putty (Windows), пишем имя хоста (ip адрес малины) и жмем Open

имя пользователя pi, пароль raspbery жмем Enter.

Установка и Настройка Homebridge

Все команды вставляем последовательно в консоль

sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install git make
sudo curl -sL https://deb.nodesource.com/setup_11.x| sudo -E bash - sudo apt-get install -y nodejs
sudo apt-get install libavahi-compat-libdnssd-dev
sudo npm install -g --unsafe-perm homebridge hap-nodejs node-gyp
cd /usr/lib/node_modules/homebridge/
sudo npm install --unsafe-perm bignum
cd /usr/lib/node_modules/hap-nodejs/node_modules/multicast-dns
sudo node-gyp BUILDTYPE=Release rebuild

Если всё хорошо ставим в автозагрузку

sudo nano /etc/default/homebridge

Вставить в открывшееся окно

HOMEBRIDGE_OPTS=-I -U /home/pi/.homebridge

Далее Control+O, затем Control+X. 

sudo nano /etc/systemd/system/homebridge.service

Вставить в открывшееся окно

[Unit] Description=Node.js HomeKit Server After=syslog.target [Service] Type=simple User=pi EnvironmentFile=/etc/default/homebridge ExecStart=/usr/lib/node_modules/homebridge/bin/homebridge $HOMEBRIDGE_OPTS Restart=on-failure RestartSec=10 KillMode=process [Install] WantedBy=multi-user.target

Далее Control+O, затем Control+X.

На этом настройка homebridge закончилась.

sudo systemctl daemon-reload
sudo systemctl enable homebridge
sudo systemctl start homebridge

Посмотреть статус бриджа можно

systemctl status homebridge

Установка HomeBridge Home Kit на Raspberry Pi 3 от Sprut

Установка плагинов

Установку произведем на примере config-ui-x

sudo npm install -g --unsafe-perm homebridge-config-ui-x

далее отредактируем наш config.json

sudo nano ~/.homebridge/config.json

приведем в следующему виду 

{ "bridge": { "name": "HomeBridge", "username": "CC:32:5E:E9:B2:11", "port": 28888, "pin": "888-88-888" }, "platforms": [ { "name": "Config", "port": 8080, "auth": "form", "theme": "purple", "restart": "sudo -n systemctl restart homebridge", "temp": "/sys/class/thermal/thermal_zone0/temp", "tempUnits": "c", "sudo": true, "log": { "method": "systemd", "service": "homebridge" }, "platform": "config" } ] }

Перезагрузим homebridge после обновления config.json

потом снова для запуска

На этом этапе можно найти дом в HomeKit. Наш пароль для подключения 888-88-888

Установка плагинов в HomeBridge Home Kit на примере Fibaro HomeCenter 2 от Sprut

Управление через Web.

После установки config-ui-x, можно открыть Web интерфейс homebridge, он доступен 

http://IP_малины:8080/

Вводим username и password - admin и admin.

На этом считаю закончить эту статью не судите строго, можно сказать моя первая статья, авось кому-то пригодится.

sprut.ai

Установка брокера Mosquitto в Raspbian Stretch и настройка MQTT в Domoticz — kvvhost

Добавляем поддержку MQTT в Domoticz на Raspberry Pi c Raspbian Stretch на борту

Ставим брокер Mosquitto по инструкции с их сайта:

https://mosquitto.org/2013/01/mosquitto-debian-repository/

wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
 sudo apt-key add mosquitto-repo.gpg.key
 cd /etc/apt/sources.list.d/
 sudo wget http://repo.mosquitto.org/debian/mosquitto-stretch.list
cd $home
 sudo apt-get update
 sudo apt-get install mosquitto
 rm mosquitto-repo.gpg.key

пишем yes

Проверяем:

systemctl status mosquitto

Active: active (running), замечательно

Если не запущен, то:

sudo systemctl enable mosquitto.service

Для проверки (необязательно) ставим:

sudo apt-get install mosquitto-clients

Добавляем в оборудовании domoticz MQTT Client Gateway with LAN interface:


Удаленный адрес: localhost
Порт: 1883
Publish Topic: out

Подписываемся на все топики:

mosquitto_sub -h 192.168.1.101 -v -t "#"

Если в domoticz уже есть устройства, начнут активно сыпаться сообщения статусов, значит все работает:

Ctrl+Z, останавливаем прослушивание

Выключим в domoticz переключатель idx 3 через консоль:

mosquitto_pub -h 192.168.1.101 -t "domoticz/in" -m '{ "idx" : 3, "nvalue" : 0}'

Статус выключателя обновится, все работает

Взято отсюда:
http://www.sigmdel.ca/michel/ha/domo/domo_03_en.html

kvvhost.ru

Добавляем датчик температуры DHT11/DHT22, AM2302 через GPIO в Domoticz

Добавим датчики температуры и влажности которые подключаются через GPIO Raspberry Pi

Напишем скрипт и добавим автоматический запуск для считывания показаний, приступим...

Что такое GPIO?

Аббревиатура с английского расшифровывается как: General-purpose Input/Output. Это интерфейс ввода/вывода общего назначения, к которым можно подключать разнообразные датчики, исполнительные устройства, дисплеи, контроллеры, и т.д и т.п

Как выглядит интерфейс GPIO?

Это разъем, который содержит набор из пинов и размещен непосредственно на плате Raspberry Pi:

Пины в GPIO могут выполнять 3 функции:

Добавим виртуальный датчик, нужен будет IDX - это номер который присвоит ему система умного дома Domoticz

  1. Настройка-Оборудование
  2. В разделе Тип: выбираете - Dummy (Does nothing, use for only virtual switch), указываете имя

  3. Нажимайте добавить, появится новая запись

  4. Выберите создать виртуальные датчики

  5. Указываете имя, Тип датчика: Температура и влажность - OK

  6. Переходим в Настройка-Устройства в открывшемся окне находим созданный вами датчик и запоминаем его IDX

Инструкция в картинках

Подключение датчика DHT11

Так как все эти датчики практически одинаковые, рассматривать будем на примере DHT11

Схема подключения датчика DHT11

Установка плагина

sudo apt-get update
 sudo apt-get install build-essential python-dev python-openssl
  • Скачиваем библиотеку Adafruit Python DHT с Github и переходим в папку:
git clone https://github.com/adafruit/Adafruit_Python_DHT.git
 cd Adafruit_Python_DHT
  • Запускаем установку
sudo python setup.py install
  • Переходим в папку
cd Adafruit_Python_DHT/examples
  • Проверяем работу датчика DHT11
sudo ./AdafruitDHT.py 11 4
  • Проверяем работу датчика DHT22
sudo ./AdafruitDHT.py 22 4
  • Проверяем работу датчика AM2302
sudo ./AdafruitDHT.py 2302 4

Пояснение: в конце команды указана модель датчика и номер (GPIO4) = пин порядковый №7 куда он подключен.

Создаем скрипт python

Создаем файл, введите в консоли:

  • Вставляете код указав свой IP-адрес:порт Domoticz и IDX=датчика который создали ранее
#!/usr/bin/python
 
 import sys
 import requests
 import Adafruit_DHT
 
 
 # Parse command line parameters.
 sensor_args = { '11': Adafruit_DHT.DHT11,
 '22': Adafruit_DHT.DHT22,
 '2302': Adafruit_DHT.AM2302 }
 if len(sys.argv) == 3 and sys.argv[1] in sensor_args:
 sensor = sensor_args[sys.argv[1]]
 pin = sys.argv[2]
 else:
 print('usage: sudo ./Adafruit_DHT.py [11|22|2302] GPIOpin#')
 print('example: sudo ./Adafruit_DHT.py 2302 4 - Read from an AM2302 connected to GPIO #4')
 sys.exit(1)
 
 humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)
 
 if humidity is not None and temperature is not None:
 print('Temp={0:0.1f}* Humidity={1:0.1f}%'.format(temperature, humidity))
 cmd = ('http://127.0.0.1:3333/json.htm?type=command&param=udevice&idx=ВАШ_ДАТЧИК&nvalue=0&svalue=' + '{0:0.1f}'.format(temperature) + ';' + '{0:0.0f}'.format(humidity) + ';0')
 requests.get(cmd)
 else:
 print('Failed to get reading. Try again!')
 sys.exit(1)
  • Проверяем работу
  • Если все сделали правильно у вас в Domoticz обновятся показания датчика

Автозапуск считывания показаний с помощью crontab

Создаем файл, вводим в консоли:

  • В открывшемся окне вставляем
#! /bin/sh
 cd /home/pi/Adafruit_Python_DHT/examples/
 python /home/pi/Adafruit_Python_DHT/examples/dht11.py 11 4
  • Что бы получать показания с датчиков каждую минуту, добавляем в crontab (планировщик заданий)
  • В открывшемся окне, спускаемся в самый вниз и вводим:
* * * * * /home/pi/Adafruit_Python_DHT/examples/dht11.sh

Итог: Мы создали скрипт и запускаем автоматическое обновление показаний датчика в Domoticz, каждую минуту

sprut.ai

Делаем умный дом с нуля. Часть 1 - Введение, установка Raspbian на Raspberry pi

Всем доброго времени суток!

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

Поскольку речь здесь пойдет о конкретной системе домашней автоматизации, то рассказывать как и из чего я выбирал, я не буду. Моя система будет базироваться на платформе MajorDoMo (это такое программное обеспечение). Почитать, что она из себя представляет, вы можете на официальном сайте данной платформы. В качестве сервера, на который будет установлена платформа MajorDoMo я буду использовать одноплатный компьютер Raspberry pi 3 model B+ с установленной на него операционной системой Raspbian.

Итак, начнем!

У меня есть новый одноплатный компьютер Raspberry pi 3 model B+, и мне в первую очередь нужно установить на него операционную систему.

 

Вообще для этого компьютера существует множество Linux-based операционных систем, но я выбрал Raspbian - официальную операционную систему для Raspberry pi. Если у вас есть такой же одноплатник, то вы можете не напрягаться и сразу поставить на него операционную систему вместе с MajorDoMo, скачав базовый образ с официального сайта MajorDoMo. Я же пойду немного более трудоемким путем, и сначала установлю себе Raspbian (так как хочу немного поближе познакомиться с Linux), а потом платформу умного дома MajorDoMo.

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

Для установки операционной системы Raspbian  в одноплатный компьютер, нам понадобится:

Сам процесс установки довольно прост:

  • В обычный компьютер (ноутбук) вставляем MicroSD карту.
  • Запускаем программу Etcher.

           

  • Нажимаем первую кнопку Select image, после чего откроется проводник, при помощи которого мы выберем скачанный ранее образ Raspbian.
  • Далее, при помощи второй кнопки Select drive нужно будет выбрать нашу MicroSD карту, в которую будет записан образ системы. Если в компьютер воткнута только одна карта, то она будет выбрана автоматически.

           

  • Ну и последнее, нажимаем кнопку Flash!, после чего происходит запись образа Raspbian на карту памяти.

Все! Теперь можно достать карту памяти из компьютера и воткнуть ее в специальный слот на нижней стороне Raspberry pi.

 

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

Давайте подключим HDMI кабель к HDMI выходу микрокомпьютера и HDMI входу телевизора (монитора).

Теперь включаем телевизор и подаем питание на микрокомпьютер от обычного зарядного устройства для смартфонов с Микро USB разъемом. (Желательно, чтобы это зарядное устройство было не менее чем на 2 А, на случай дальнейшего расширения одноплатника).

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

Логин по умолчанию - pi, а пароль - raspberry.

На этом на сегодня мы закончим.

В следующей статье мы рассмотрим необходимую настройку Raspbian, включим SSH и зайдем на наш одноплатный компьютер по удаленке.

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

 

Еще статьи:

Часть 2 - Начальная настройка Raspbian, включение удаленного доступа к Raspberry pi.

Часть 3 - Удаленный доступ на Raspberry pi, настройка статического IP-адреса в Raspbian.

Часть 4 - установка и настройка Web-сервера на Raspberry pi

Часть 5 - Установка MajorDoMo на Raspberry pi

Часть 6 - Установка голосового движка в MajorDoMo.

Часть 7 - устанавливаем главную сцену MajorDoMo

Часть 8 - продолжаем настраивать главную сцену MajorDoMo.

Часть 9 - привязка шлюза Xiaomi к MajorDoMo. Управление светильником шлюза.

Часть 10 - привязка выключателей Xiaomi к MajorDoMo

Часть 11 - делаем сцену погоды для Главной сцены MajorDoMo

Часть 12 - установка MajorDoMo на мобильные устройства. Новый стиль Меню управления.

Часть 13 - онлайн радио в MajorDoMo

Часть 14 - делаем сцену управления светом для Главной сцены MajorDoMo

Часть 15 - будильники в MajorDoMo и сцена настроек

Часть 16 - привязка датчика температуры и влажности Xiaomi к MajorDoMo

Часть 17 - системная информация и курсы валют в MajorDoMo

Часть 18 - привязка Wi-Fi реле Sonoff Basic к MajorDoMo

Часть 19 - привязка датчика движения Xiaomi к MajorDoMo

Часть 20 - продолжение про датчики движения Xiaomi и MajorDoMo

www.radiomexanik.spb.ru

Установка HomeBridge на Raspberry Pi 3

Одним из нововведений iOS 10 стало приложение “Дом”, которое по замыслу корпорации Apple должно превратить ваш айфон или айпад в пульт управления “умным домом”.

Программистами из Купертино был создан протокол HomeKit, который по их замыслу должен обеспечивать бесшовную интеграцию между “умными устройствами” и смартфонами и планшетами производства Apple.

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

Причем не надо каждый раз выдавливать из себя “Сири, включи лампочку Philips Hue White”, достаточно сказать “Включи свет на кухне” – и голосовой помощник сам поймет какое именно устройство вы имели в виду.

Узким местом системы стало то, что поддержка протокола HomeKit требует обязательной сертификации устройства корпорацией Apple. Соответственно, это резко сужает спектр совместимых устройств, а сами сертифицированные устройства стоят дороже среднерыночного уровня подобных товаров и зачастую недоступны для приобретения в России.

Выход из проблемы – установка и использование HomeBridge, этакого “прокси-сервера” для HomeKit, позволяющего подключать к системе любые умные гаджеты, включая даже самоделки на Arduino и ESP8266.

Что нам понадобится

Для осуществления описываемых в этой статье действий понадобится:

  • Raspberry Pi 3 Model B
  • Apple iPhone / iPad
  • Какое-нибудь устройство с возможностью управления по Bluetooth или Wi-Fi

Я буду описывать действия на примере своего iPhone 5s, а умным устройством для интеграции в HomeKit послужит настольная лампа от Xiaomi.

HomeBridge мы будем устанавливать на Raspberry Pi 3, но в принципе эта система разворачивается на любых компьютерах как с ARM так и с x86 архитектурой.

Установка HomeBridge на Raspberry Pi

Начнем с того, что обновим все установленные в системе пакеты:

sudo apt-get update
 sudo apt-get dist-upgrade

Сам HomeBridge написан на JavaScript и требует для работы развернутой платформы Node.js, которая транслирует JavaScript в машинный код. Установим ее:

wget https://nodejs.org/dist/latest-v7.x/node-v7.10.1-linux-armv7l.tar.xz
 tar xJvf node-v7.10.1-linux-armv7l.tar.xz
 cd node-v7.10.1-linux-armv7l
 sudo cp -R * /usr/local/

Я привожу ссылку на актуальную версию дистрибутива на момент написания этой статьи. Когда будете повторять действия, советую сперва сходить по ссылке https://nodejs.org/dist/latest-v7.x/ и посмотреть не появилось ли обновленных пакетов.

Теперь установим дополнительные пакеты, нужные для работы HomeBridge:

sudo apt-get install libavahi-compat-libdnssd-dev

Ну а теперь пришло время установить и сам HomeBridge:

sudo npm install -g --unsafe-perm homebridge

Тут уже знакомые с основами работы в Raspbian Jessie люди должны обратить внимание на незнакомую команду “npm”: это менеджер пакетов, устанавливающийся в систему вместе с Node.js и работающий со своими собственными репозиториями.

Запускаем HomeBridge:

homebridge

Если установка прошла без ошибок, то на экране отобразится примерно следующее:

HomeBridge ругается на отсутствие плагинов и файлов конфигурации, но главное – она уже запускает свой серверный модуль, доступный для сопряжения с iOS-устройством.

Если HomeBridge не стартует и выдает какие-то сообщения об ошибках, то скорее всего у вас в системе установлена Node.js устаревшей версии. Обновите Node.js до свежей редакции по приведенной мною выше инструкции, после чего переустановите HomeBridge.

После того как приложение заработает можно приступать к его настройке.

Установка плагинов и настройка HomeBridge

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

Установим плагин для линейки устройств Yeelight, позволяющий управлять настольной лампой:

sudo npm install -g homebridge-yeelight

Теперь создадим файл конфигурации:

cd .homebridge
 sudo nano config.json

И впишем в него следующий текст:

{
 "bridge": {
 "name": "YeeBridge",
 "username": "18:00:27:40:BC:1B",
 "port": 51825,
 "pin": "031-45-154"
 },
 
 "platforms": [
 {
 "platform" : "yeelight",
 "name" : "yeelight"
 }
 ]
 }

Думаю, что по синтаксису понятно что делает этот код.

И последний штрих – переключаем саму Xiaomi Mi LED Desk Lamp в режим для разработчиков, позволяющий управлять ей не только через китайский сервер Xiaomi, но и через сторонние приложения.

Через Mi Home это сделать нельзя, нужно установить на телефон приложение Yeelight (для iOS или для Android), залогиниться в нем в свой Mi-аккаунт и активировать в настройках Developer Mode:

Кстати, в отличие от Mi Home приложение Yeelight работает только с двумя регионами – Singapore и Mainland China, поэтому если лампа подключалась через Mi Home и при подключении был указан другой регион (U.S., например, или Other) – нужно удалить ее из списка своих устройств, сделать Reset и подключить заново, выбрав в качестве региона Mainland China. И все последующие устройства от Xiaomi привязывать к материковому Китаю даже если они имеют международные версии, так проблем с совместимостью будет меньше.

Сопряжение HomeBridge с HomeKit

HomeBridge установлен, плагин управления устройствами Yeelight добавлен, а лампа включена в сеть и переведена в режим для разработчиков.

Включаем HomeBridge на “малине”:

homebridge

Теперь уже можно взять в руки айфон и добавить устройства в эппловскую систему умного дома.

Для этого включаем на смартфоне Bluetooth, открываем приложение “Дом” и нажимаем “Добавить аксессуар”:

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

На этом сопряжение будет завершено и в “Доме” появятся два аксессуара – сам HomeBridge и подключенная через него лампа:

Лампой можно управлять через приложение. Короткий тап по значку отвечает за включение и выключение, длинный тап открывает окно регулировки яркости:

Голосовое управление работает:

Команды регулировки яркости Siri тоже понимает. Можно сказать “установи яркость лампы на 50%” и она сделает.

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

В общем, хорошая игрушка. Вполне может послужить заменой Mi Home и других пультов управления умными гаджетами.

Добавление HomeBridge в автозагрузку

Последний шаг – прописать HomeBridge в автозагрузку.

Для этого создадим файл:

sudo nano /etc/init.d/homebridge

И впишем в него:

#!/bin/sh
 ### BEGIN INIT INFO
 # Provides: homebridge
 # Required-Start: $network $remote_fs $syslog
 # Required-Stop: $remote_fs $syslog
 # Default-Start: 2 3 4 5
 # Default-Stop: 0 1 6
 # Short-Description: Start daemon at boot time
 # Description: Enable service provided by daemon.
 ### END INIT INFO
 
 dir="/home/pi"
 cmd="DEBUG=* /usr/local/bin/homebridge"
 user="pi"

Выставим права доступа и зарегистрируем:

sudo chmod 755 /etc/init.d/homebridge
 sudo update-rc.d homebridge defaults

Готово, теперь HomeBridge будет стартовать автоматически при включении Raspberry Pi.

Заключение

Вот таким образом Raspberry Pi может быть задействована в системе умного дома.

Со временем я опубликую статьи о системах Domoticz и openHAB, а также о создании Telegram-бота для управления как самой “малиной”, так и контролируемыми ей смарт-устройствами через мессенджер Telegram с любого устройства по интернету.

Raspberry Pi 3B (английская сборка)в интернет-магазине GearBest Raspberry Pi 3B (китайская сборка)в интернет-магазине GearBest

dmitrysnotes.ru

Умный дом на Raspberry Pi и Arduino

Давно хотели автоматизировать базовые функции вашего дома, сделать их легкодоступными и управляемыми удаленно? Предлагаем вашему вниманию статью, которая поможет сделать собственный умный дом на базе Raspberry Pi и Arduino. В данной статье мы расскажем, как создать блок управления, который позволит нам управлять освещением в разных комнатах, измерять температуру и влажность, управлять игровой приставкой PlayStation 4, домофоном, принимать сигналы с датчиков движения. Все это можно автоматизировать посредством Apple HomeKit.

Что необходимо иметь?

Можно выбрать любую другую версию Raspberry Pi. Наш выбор - Raspberry Pi 3 из-за наличия встроенного WiFi и Bluetooth. Вместо NodeMCU можете взять обычный Arduino Nano и отдельный модуль ESP8266 для WiFi. Далее все это спаять, перепрошить и настроить. Однако, для задач, которые мы будем выполнять, не нужны лишние затраты времени. В связи с чем, как по цене так и по трудозатратам, разумнее взять NodeMCU или что-то другое, уже готовое. Относительно силового реле – выберите необходимое вам количество. В нашем случае будут задействованы 3 устройства, в связи с чем мы будем использовать два реле с двумя отдельно-управляемыми отсеками. Ну и само собой, датчик движения вы тоже можете не использовать, если у вас нет в нем необходимости. Статья расскажет об установке, настройке всех этих компонентов, а каким именно образом использовать - решать вам.

 

Установка Raspbian Jessie

  1. Переходим на официальный сайт Raspberry Pi, и скачиваем последнюю версию операционной системы Raspbian Jessie Lite. Вы можете использовать обычную версию с desktop-ом, если вдруг она вам будет необходима для каких-то других целей
  2. Форматируем SD карту FAT32 или FAT.
  3. Следуем инструкции по установке скачанного образа на Windows, Linux или macOS. Мы воспользовались Etcher для быстрого монтирования образа из-под Mac OS X в графическом интерфейсе.
  4. Вставляем карту памяти в Raspberry Pi, подключаем USB клавиатуру и HDMI монитор (можно обычный телевизор). Ждем загрузки и корректируем некоторые настройки по своему усмотрению
  5. Изменяем пароль по умолчанию в пункте 2 - Change User Password
  6. Экран загрузки оставляем Scratch, так как графический интерфейс нам не пригодится
  7. Изменяем имя хоста в Advanced Options > Hostname (по желанию)
  8. Включаем SSH в Advanced Options > SSH, для удобного управления с другого компьютера
  9. Все! Нажимаем Finish и ждем перезагрузки

 

Настройка Wifi на Raspberry Pi

  1. После загрузки Raspberry открываем файл интерфейсов сети, для этого пишем:
    sudo nano /etc/network/interfaces Находим iface wlan0 inet manual и меняем на iface wlan0 inet static, под ним добавляем статичный локальный адрес. В нашем случае получилось так:
    auto wlan0
    allow-hotplug wlan0
    iface wlan0 inet static

    address 192.168.1.150
    netmask 255.255.255.0
    gateway 192.168.1.1
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

    address, netmask, gateway - разумеется пишем под настройки вашего роутера.
    После введения изменений нажимаем CTRL+X, потом Y, потом ENTER
  2. Открываем файл супликанта, вводя в командную строку следующее:
    sudo nano /etc/wpa_supplicant/wpa_supplicant.confВ открывшемся файле пишем настройки вашего WiFi, как указано ниже. В нашем случае получилось так:
    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
         update_config=1
         network={
         ssid="PerfectoWeb"
         psk="[email protected]"
    } Естественно, вместо PerfectoWeb - ваш SSID, а вместо [email protected] - ваш пароль.
    После введения изменений нажимаем CTRL+X, потом Y, потом ENTER.
  3. Вводим в командную строку: sudo ifdown wlan0 После завершения процесса вводим: sudo ifup wlan0 Перезагружаемся командой: sudo reboot Wifi настроен и будет автоматически подключаться при старте Raspberry Pi.

 

Обновление системы

  1. До начала настройки рекомендуем обновиться и проапгрейдится. Для этого вводим в командную строку: sudo apt-get update
    sudo apt-get upgrade
  2. Если вдруг, вы используете не Raspbian Jessie, то стоит установить необходимый компилятор. Проверить версию можно по команде:
    g++-4.9 -v Если в ответе вы получили gcc version 4.9.2 (Raspbian 4.9.2-10), то все в порядке. Если же у вас старая версия или вовсе не установлен компилятор, то необходимо установить следующей командой:
    sudo apt-get install g++

 

Установка Node.js

Нам необходимо установить Node.js начиная с версии 4.0. Именно с этой версии Node.js начал поддерживать ARM платформы по умолчанию. Мы установим версию 6.х, так как на данный момент многие плагины Homebridge не адаптированы под версию 8.х. Для установки последней актуальной версии из линейки 6.х выполняем следующие команду:
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs Проверяем корректность установленной версии:
nodejs -v В нашем случае установилась версия v6.11.2

 

Установка Homebridge

  1. Изначально необходимо установить Avahi и прочие зависимости, которые необходимы для пакета MDNS из библиотеки HAP-NodeJS.
    Выполняем команду: sudo apt-get install avahi-daemon avahi-discover libnss-mdns libavahi-compat-libdnssd-dev
  2. Устанавливаем Homebridge и все зависимости последовательностью следующих команд:
    sudo npm install -g --unsafe-perm homebridge hap-nodejs node-gyp
    cd /usr/lib/node_modules/homebridge/
    sudo npm install --unsafe-perm bignum
    cd /usr/lib/node_modules/hap-nodejs/node_modules/mdns
    sudo node-gyp BUILDTYPE=Release rebuild
    Проверяем тестовым запуском:
    homebridge В ответ должны получить:
    [2017-08-15 10:05:15] ---
    [2017-08-15 10:05:15] config.json (/home/pi/.homebridge/config.json) not found.
    Scan this code with your HomeKit App on your iOS device to pair with Homebridge:

         ┌────────────┐
         │ 031-45-154 │
         └────────────┘

    [2017-08-15 10:05:15] Homebridge is running on port 44278

    Это означает, что все успешно установлено и работает. Вы можете заметить, что Homebridge не смог найти файл конфигурации config.json. Именно его необходимо создать на следующем шаге.
  3. Создаем файл конфигурации следующими командами:
    sudo -i
    mkdir /root/.homebridge
    touch /root/.homebridge/config.json
    Пример с минимальной конфигурацией:
    {
    "bridge": {
    "name": "RaspberryPi",
    "username": "08:61:6E:E3:2D:7A",
    "port": 51826,
    "pin": "031-45-170"
    } } Но мы рекомендуем скачать нашу версию, с уже прописанными плагинами, чтобы в конечном итоге у вас получилась такая-же система, как и у нас.
  4. Далее делаем homebridge демоном и добавляем его в автозагрузку. Для этого вам необходимо создать файл:
    sudo nano /etc/init.d/homebridge Скачиваем скрипт для автозагрузки и копируем его содержимое в /etc/init.d/homebridge.
    После сохранения, выполняем следующие команды
    chmod 755 /etc/init.d/homebridge
    update-rc.d homebridge defaults Теперь при запуске Raspberry Pi у нас homebridge будет запускаться автоматически от имени пользователя root.

 

Установка плагинов Homebridge

Homebridge, посредством плагинов от сотни разработчиков, может управлять GPIO Raspberry Pi на разном уровне, а также IR, Wifi, Bluetooth устройствами. Для нашей сборки необходимо установить следующие плагины:

  1. Устанавливаем cmdswitch3 для вкл/выкл устройств скриптом
    sudo npm install -g homebridge-cmdswitch3
  2. Устанавливаем homebridge-cmd_light_control для вкл/выкл и диммирования света
    sudo npm install -g homebridge-cmd_light_control
  3. Устанавливаем HttpTemphum для получения данных температуры и влажности через HTTP в формате JSON
    sudo npm install -g homebridge-httptemperaturehumidity
  4. Устанавливаем homebridge-hc-sr501 для считывания данных с датчика движения HC-SR501
    sudo npm install -g homebridge-hc-sr501
  5. Устанавливаем ps4-waker для вкл/выкл PlayStation 4
    sudo npm install -g ps4-waker

Данный набор плагинов достаточен для нашей сборки, их конфигурации вы можете найти и изменить в config.json, который скачали ранее.

 

Подключение устройств

Далее вам необходимо подключить все необходимые устройства в пины Raspberry Pi, как это указано на фотографии.
БУДЬТЕ ОСТОРОЖНЫ при работе с реле и высоким напряжением! Если вы чего-то не знаете точно, лучше не трогать!

После подключения, скатайте архив со скриптами, разархивируйте и загрузите в директорию /home/pi/.
Обратите внимание: все файлы должны иметь права 0777.
Для этого вы можете выполнять команду для всех файлов по отдельности следующим образом:
chmod 0777 /home/pi/light_bathroom_off.py
... Выполните данную команду для всех файлов, которые вы скачали и загрузили в директорию /home/pi/

 

Подключение к PlayStation 4

  1. Включаем PlayStation 4. Переходим в настройки Settings > [Remote Play Connection Settings] > [Add Device]
  2. В терминале RaspberryPi пишем
    ps4-waker
  3. Система попросит вас открыть приложение PS4 на мобильном телефоне и подключиться к ps4-waker.
  4. Далее вас попросит указать пин-код с экрана монитора, куда подключен PS4. После ввода создастся связь и в RaspberryPi будут сохранены ключи и сертификаты для дальнейшего подключения.

Обратите ванилинам: PlayStation 4 и RaspberryPi должны находиться в одной WiFi сети.

 

Настройка термометра на Arduino

  1. Подключаем NodeMCU к компьютеру и открываем официальный программатор.
    Для NodeMCU необходимо установить драйвер, в нашем случае он построен на чипе Ch440G. Для этого необходимо зайти в File > Preferences, далее в поле Additional Boards Manager URLs указать ссылку для скачивания альтернативных плат http://arduino.esp8266.com/stable/package_esp8266com_index.json и нажать OK. После, переходим в раздел Tools > Boards > Boards Manager, в строке поиска пишем esp8266, находим esp8266 by ESP8266 Community и устанавливаем.
  2. Устанавливаем модуль для управления датчиком DHT и модуль Adafruit Sensor master.
  3. Скачиваем скетч для создания HTTP сервера и вывода данных с датчика температуры и влажности DHT21.
    В скетче смените IP адрес и данные для подключения к WiFi на ваши. Заливаем скетч и идем дальше.
  4. Подключаем датчик, как показано на фотографии. В нашем случае подключение идет на ножку D5, GDN и 3.3V.

    Обратите внимание Датчик работает именно на 3.3V, при подключении на 5V он может сгореть.

  5. На данный момент установка статичного IP адреса в NodeMCU работает некорректно. А это очень важно для нас. Мы пошли другим путем. Зарезервировали в роутере IP адрес 192.168.1.190 под MAC адрес нашего NodeMCU. Теперь при подключении к сети, NodeMCU всегда получает IP 192.168.1.190. Этот же адрес нужно указать в /home/pi/.homebridge/config.json на RaspberryPi для модуля HttpTemphum.

 

Запускаемся!

  1. Очищаем кеш аксессуаров и persist на Raspberry Pi следующими командами:
    sudo -i
    rm -r /root/.homebridge/accessories
    rm -r /root/.homebridge/persist
    Перезагружаемся:
    reboot
  2. Включаем Arduino к USB 5V/1A и ставим в нужное место в комнате.
  3. Открываем iPad, iPhone и заходим в приложение Home (Дом). Нажимаем добавить аксессуар и ваш планшет или смартфон должен увидеть устройство с названием RaspberryPi. Добавляем его и радуемся!

Вуаля! Теперь мы можем управлять светом на кухне, в ванной, управлять PlayStation 4, получать данные от датчика движения, узнавать температуру и влажность. Мы также можем автоматизировать некоторые действия в Apple Home. Например, чтобы все устройства автоматически выключались, когда вы уходите из дома. Или, чтобы при достижении определенной температуры, реле включало не свет, а вентилятор. Надеемся, данная статья была полезной для вас и на основе нее вы сможете автоматизировать и другие, необходимые вам устройства.

perfecto-web.com

Подключение датчиков на Raspberry Pi 3: ds18b20 для метеостанции

Одна из ключевых возможностей Raspberry Pi любой версии – это способность взаимодействовать с различными датчиками. Это обусловлено тем, что у данного одноплатника имеется собственный GPIO.

  • Подключение датчика ds18b20 к RPi3

Одна из ключевых возможностей Raspberry Pi любой версии – это способность взаимодействовать с различными датчиками. Это обусловлено тем, что у данного одноплатника имеется собственный GPIO (хотя при желании можно подключить и дополнительный).

Рассматривать подключение датчиков к Raspberry Pi 3 довольно тяжело, так как соответствующих модулей существуют десятки. Также для взаимодействия с ними требуется код. Найти его, в свою очередь, можно на GitHub, GitLab и в прочих хранилищах. А при желании его можно написать самостоятельно, изучив официальную документацию и располагая базовыми знаниями Python.

Ниже будет рассмотрен процесс подключения датчика на конкретном примере. Наиболее часто из Raspberry Pi 3 делают метеостанции. Поэтому для рассмотрения можно взять датчик ds18b20, который фиксирует температуру.

Подключение датчика ds18b20 к RPi3

Сразу следует отметить, что ds18b20 подключается к Raspberry Pi 3 точно так же, как и к другим моделям "Малины". Поэтому ниженаписанное можно использовать в том числе для настройки датчика и на других версиях платформы.

Первое, что потребуется – это присоединить датчик температуры к GPIO Raspberry Pi 3. Его нужно установить так:

  • напряжение – 3,3 Вольта;
  • заземление;
  • порт GPIO4.

После того, как физическое подключение датчика температуры к Raspberry Pi 3 было выполнено, можно поставить необходимые модули ядра. Их всего 2. Из-под sudo (для этого можно указать в консоли команду sudo -i и ввести пароль) требуется выполнить пару команд: modprobe w1-grio и modprobe w1-therm.

Первый модуль нужен, чтобы на порту GPIO4 активировался протокол 1-wire. Второй же необходим, чтобы система могла непосредственно считывать температурные показатели с соответствующей шины.

Здесь есть очень важный момент. После перезагрузки модули снова будут неактивны, поэтому их придется опять загружать. Но исправить это очень легко. Нужно всего лишь вписать их названия в файл /etc/modules. Для этого из-под sudo следует набрать команду nano /etc/modules и добавить в конец файла w1-gpio и w1-therm (каждый с новой строки), а затем сохранить изменения.

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

Как проверить работоспособность датчика ds18b20 на RPi3?

На Raspberry Pi 3 датчики пишут данные в файлы. Конкретно ds18b20 записывает их каталог со своим серийным номером, который, в свою очередь, располагается в директории /sys/bus/w1/devices. Он появляется после подключения, но может не сразу, а спустя несколько секунд.

Название соответствующего каталога примерно такое: 00-000000000a0b. Поэтому после подключения зайдите и проверьте, есть ли там что-то похожее. Следует отметить, что если подключены несколько датчиков, то придется узнавать серийный номер каждого из них опытным путем. Это возможно сделать, например, прогревом и снятием показателей или поочередным подключением.

Но предположим, что датчик всего 1. Чтобы проверить его работоспособность нужно в консоли вписать следующую команду: cat СЕРИЙНЫЙ_НОМЕР/w1_slave. После нажатия на Enter выведется сообщение.

В первой строке будет присутствовать контрольная сумма в шестнадцатеричной системе счисления и CRC. Если значение crc равно последнему числу, то выводится YES, а если нет – NO. В первом случае датчик сообщает, что он правильно определил температуру, а во втором – нет.

Вторая строка – это как раз данные температуры. То, что указывается в шестнадцатеричной системе полностью соответствует значению выше. То, что левее – это его перевод в десятичную форму. Интересно то, что значение t (температура) указывается в 1000 раз больше, чем есть на самом деле. Поэтому если после знака "=" указывается, например, 26398, это означает 26,3 градуса Цельсия. Данный факт следует учитывать при написании кода.

Как возможно убедиться, заставить работать датчик температуры на RPi3 очень просто. Примерно так же выполняется подключение к Raspberry Pi 3 и dht11, dht22, ds3231 и многих прочих.

myraspberry.ru


Смотрите также



© 2010- GutenBlog.ru Карта сайта, XML.