sonyps4.ru

Умный дом на Raspberry Pi своими руками.

Рисунок 1. Блочная диаграмма аппаратной части системы

Описание процесса монтажа аппаратной части системы занимает много времени, но является достаточно простым. В первую очередь следует соединить блок питания с стенной розеткой с помощью удлинителя, отрезав розетку это удлинителя. Зачистите провода и закрепите их с помощью винтов в терминалах блока питания. Далее соедините Raspberry Pi с блоком питания, отрезав разъем типа A от кабеля USB и соединив провода с соответствующими выводами блока питания, и вставьте разъем micro USB в разъем питания RPi. После этого следует зачистить оба конца двух жил гибкого кабеля и соединить их с соответствующими терминалами с обозначениями GND и JDVcc блока питания и блока реле. Наконец, следует удалить джампер, соединяющий вывод с обозначением JDVcc с выводом с обозначением Vcc. В том случае, если вы не удалите этот дампер, на предназначенные для напряжения 3.3 В выводы RPi будет подано напряжение в 5 В, которое с высокой вероятностью выведет компьютер из строя.

Теперь, когда питание подведено ко всем терминалам, следует соединить линии IN1-IN8 модуля реле с соответствующими выводами разъема GPIO с помощью гибкого кабеля таким образом, как показано на Рисунке 2. Представленный в данной статье код был разработан для случая, когда выводы IN1-IN7 соединены с выводами GPIO1-GPIO7. В том случае, если вы решите соединить данные выводы по-другому, вам придется модифицировать соответствующим образом ваш код.

Схема расположения выводов разъема GPIO Raspberry Pi приведена на Рисунке 2. На порты ввода-вывода Raspberry Pi подается напряжение 3.3 В, а модуль реле работает с напряжением 5 В. Однако, реле изолированы от выводов GPIO Raspberry Pi при помощи оптопар. На оптопары может подаваться напряжение 3.3 В с вывода Vcc. На вывод Vcc модуля реле может быть подано напряжение 3.3 В с разъема GPIO Raspberry Pi. Убедитесь в том, что вы убрали джампер, замыкающий выводы Vcc и JDVcc модуля реле. На вывод JDVcc должно подаваться напряжение 5 В для корректной работы реле. Рассматриваемый модуль реле размыкает контакты в активном состоянии. Из этого следует, что вы должны заземлить терминалы IN1-IN8 для включения реле.

Рисунок 2. Схема расположения выводов разъема GPIO Raspberry Pi

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

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

Рисунок 3. Монтаж аппаратной части системы

Программное окружение

Я начал создание своего программного окружения с установки образа операционной системы Raspbian. Перед началом установки образа операционной системы вам потребуется подготовить дисплей, поддерживающий передачу изображения по HDMI, клавиатуру и мышь с разъемами USB, а также сетевой кабель для соединения с системой по протоколу Ethernet. Также вы можете установить соединение с системой посредством адаптера Wi-Fi. Создайте загрузочную SD-карту для первой загрузки системы в соответствии с инструкциями, приведенными на ресурсе http://www.raspberrypi.org/documentation/installation/installing-image . В процессе первой загрузки системы установщик осуществит настройку операционной системы и разместит данные из ее образа на всем доступном пространстве карты памяти. После первой загрузки вы должны иметь возможность входа в систему с помощью стандартных данных учетной записи пользователя (имя пользователя "pi" и пароль "raspberry").

Обновление системы является разумным действием, которое должно выполняться сразу же после успешного входа в систему. Образ операционной системы Raspbian базируется на пакетах программного обеспечения дистрибутива Debian и использует приложение aptitude в качестве менеджера пакетов программного обеспечения. Кроме того, вам понадобятся пакеты программного обеспечения с именами python , pip и git . Я также мог бы порекомендовать установку Webmin для упрощения процесса администрирования системы. Инструкции по установке Webmin приведены на ресурсе http://www.webmin.com/deb.html (следуйте рекомендациям, приведенным в разделе "Using the Webmin APT repository"):

Sudo apt-get update && sudo apt-get dist-upgrade sudo apt-get install python python-pip git git-core

После этого вам придется настроить соединение с использованием адаптера Wi-Fi. Вы можете найти подробные инструкции на ресурсе http://www.raspberrypi.org/documentation/configuration/wireless . Я рекомендую использовать вариант wicd-curses . На данном этапе вы можете изменить параметры настройки Raspberry Pi с помощью команды sudo raspi-config . После ввода данной команды вы получите доступ к удобному графическому интерфейсу, который позволит вам установить значения таких параметров, как объем оперативной памяти, разделяемой с графическим процессором, параметры быстродействия центрального процессора, режим использования графического интерфейса в процессе загрузки и других.

Другим полезным инструментом является интегрированная среда разработки Cloud 9 IDE . Cloud 9 IDE позволит вам редактировать свой код на уровне Raspberry Pi посредством веб-браузера. Данная интегрированная среда разработки также предоставит вам доступ к интерфейсу командной строки в рамках веб-браузера. Вы можете разрабатывать и исполнять любой код, не покидая свой веб-браузер. Интегрированная среда разработки Colud 9 IDE требует наличия определенной версии фреймворка NodeJS. Использование неподдерживаемой версии фреймворка повлечет за собой постоянные аварийные завершения работы сервера Cloud 9, которые могут привести любого пользователя в уныние. Инструкции по установке фреймворка NodeJS на компьютер Raspberry Pi приведены на ресурсе http://weworkweplay.com/play/raspberry-pi-nodejs .

Программное обеспечение

Я решил создавать пользовательский интерфейс своей системы с использованием технологий HTML5, CSS3 и JavaScript. Комбинация трех упомянутых технологий является мощным инструментом для создания пользовательских интерфейсов. Язык программирования JavaScript позволяет использовать простой API для взаимодействия с серверами. Кроме того, существует множество библиотек для языка программирования JavaScript, таких, как JQuery, Bootstrap и других, из которых можно выбрать наиболее подходящую. HTML5 предоставляет API WebSocket, позволяющее веб-браузеру поддерживать соединение в рабочем состоянии и осуществлять обмен данными посредством этого соединения. Это обстоятельство делает API WebSocket особенно полезным для реализации динамических приложений и приложений для потоковой передачи данных, таких, как игры и чаты. Каскадные таблицы стилей CSS полезны для стилизации различных элементов страницы HTML. В случае корректного использования они позволяют создавать динамические пользовательские интерфейсы путем изменения стилей элементов страниц при наступлении тех или иных событий. Для данного проекта я выбрал фреймворк JQuery для обработки событий, Bootstrap CSS для размещения кнопок в форме сетки и язык программирования JavaScript для реализации механизмов обмена данными на основе API WebSocket.

Библиотеки

Серверное приложение, работающее на уровне Raspberry Pi, должно управлять состоянием выводов разъема GPIO платы Raspberry Pi. Оно также должно предоставлять интерфейс HTTP для передачи данных графического интерфейса и интерфейс WebSocket для передачи сообщений с командами и данными состояния. Готового к установке серверного приложения с такими специфическими функциями попросту не существует, поэтому я принял решение о создании своей собственной реализации сервера с использованием языка программирования Python. Для упрощения разработки описанного серверного приложения с использованием языка программирования Python доступны модули с реализациями методов для работы с интерфейсом GPIO Raspberry Pi, для создания сервера HTTP и для работы с интерфейсом WebSockets. Так как все перечисленные модули предназначены для выполнения поставленных задач, мне пришлось разработать минимальный объем кода.

Однако, упомянутые модули не включены в комплект поставки интерпретатора Python и должны устанавливаться отдельно. В первую очередь вам понадобится модуль для управления состоянием выводов разъема GPIO Raspberry Pi. Простейший способ изменения состояния выводов данного разъема заключается в использовании библиотеки RPi.GPIO, доступной по адресу https://pypi.python.org/pypi/RPi.GPIO . Вы можете установить соответствующий модуль с помощью следующей команды:

Sudo pip install RPi.GPIO

Работа с модулем RPi.GPIO не связана с какими-либо сложностями. Вы можете найти примеры использования данного модуля по адресу . На первом шаге работы с модулем необходимо осуществить импорт его кода в код проекта. После этого вам придется выбрать режим работы. В качестве идентификатора режима работы может использоваться либо константа GPIO.BOARD, либо константа GPIO.BCM. Выбор режима работы обуславливает использование чипа BCM или выводов разъема ввода-вывода при ссылках на номера выводов во всех последующих командах. Далее следует указать, используются ли выводы из рассматриваемого разъема для ввода или вывода. Теперь вы можете использовать выводы данного разъема по назначению. Наконец, вам придется осуществить вызов метода cleanup() для сброса состояния выводов разъема GPIO. В Листинге 1 показан простейший пример использования модуля RPi.GPIO.

Листинг 1. Использование модуля RPi.GPIO

Import RPi.GPIO as GPIO # импортирование кода модуля в код проекта GPIO.setmode(GPIO.BOARD) # указание на то, что нумерация используется для обозначения выводов разъема GPIO.setup(0, GPIO.IN) # указание на то, что канал 0 будет использоваться для ввода GPIO.setup(1, GPIO.OUT) # указание на то, что канал 1 будет использоваться для вывода var1=GPIO.input(0) # чтение состояния канала 0 GPIO.output(1, GPIO.HIGH) # установка логической единицы на канале 1 GPIO.cleanup() # сброс состояния выводов разъема GPIO.

Здравствуйте друзья

В своих обзорах устройств умного дома экосистемы Xiaomi - я уже неоднократно упоминал название Domoticz. Наконец у меня дошли руки поделится своими наработками на эту тему, и рассказать что же это такое и каким образом можно дополнить стандартные возможности умного дома от Xiaomi при помощи этой системы. В рамках одного обзора это рассказать невозможно, но нужно с чего-то начинать - поехали…

Вступление - пару слов о Domoticz

1. Что такое Domoticz ?
Это мультиплатформенное ПО с открытым кодом ориентированное на создание системы управления умным домом. Поддерживает большое количество различных устройств разных вендоров, в том числе работает с устройствами Xiaomi.
2. Какие устройства Xiaomi могут управлятся Domoticz?
Буду говорить только о тех устройствах, которые я проверил лично. На данный момент можно управлять шлюзом Xiaomi Gateway - и всеми устройствами которыми он управляет - кнопки, датчики открытия и движения, розетки ZigBee, выключатели Aqara. Так же поддерживаются осветительные гаджеты Yeelight - RGBW и White лампы, потолочный светильник Celling Light.
Читал про работу с bluetooth сенсорами miflora.
3. Для чего мне Domoticz ?
Система имеет более гибкие возможности по настройке сценариев - например проверку активности устройства, то чего нет в MiHome, или создание переменных - которые позволяют по одному условию - например нажатие клавиши - выполнять различные действия, в зависимости от значения переменной.
Сценарии, созданные в Domoticz не зависят от китайских серверов и наличия интернет.
Domoticz расширяет функциональность устройств - например новые действия «free fall» или «alert» для кубика, или «Long Click Release» для кнопки.
4. Если я буду использовать Domoticz то не смогу работать с MiHome?
Обе системы прекрасно живут паралелльно - функциональность MiHome - полностью сохраняется, просто часть сценариев будет жить в одной системе - часть в другой. В принципе все сценарии могут жить в Domoticz.
5. Зачем мне нужен MiHome если я буду использовать Domoticz?
По крайней мере для добавления новых устройств. Выбор стоит за вами - но мое мнение - на данный момент Domoticz лучше всего использовать как дополнение к MiHome
6. Что нужно для подключения устройств Xiaomi к Domoticz?
Сразу хочу успокоить - паяльников, программаторов и танцев с бубнами не надо. Так же вам не понадобится Linux или виртуальные машины - попробовать все можно прямо на вашей рабочей винде, а если вам понравится - то есть смысл выделить для нее отдельную аппаратную платформу, например герой сегодняшнего обзора.
Буквально после первых удачных экспериментов на своем настольном ПК, я загорелся идеей отдельной аппаратной базы для Domoticz. Выбор свой я остановил, после штудирования пабликов - на Raspberry Pi Model 3 B - компактный но мощный одноплатный компьютер на базе Soc процессора BCM2837 с 4 ядрами Cortex-A53, работающим на частоте 1.2GHz, 1GB ОЗУ и беспроводными модулями Wi-Fi и Bluetoth 4.1.

Комплект

В свой заказ я включил 4 позиции -

Скрин оплаты


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

Что в посылке

Через положенный срок - чуть более двух недель, курьер принес посылку с моим заказом.


Рассмотрим подробнее. Блок питания с вилкой Тип С и разъемом micro-USB.


Заявленный максимальный ток - 2А при напряжении 5 В.


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


Комплект из трех медных радиаторов в пакетике, для пассивного охлаждения.


Все радиаторы имеют квадтарную форму, два радиатора с штырями и длиной стороны около 12 мм и один плоский со стороной около 15 мм.


Корпус из темного пластика с выдавленным изображением ягоды малины на крышке


Размеры корпуса - примерно 90 на 65 мм




Корпус разбирается на 5 частей - держится все защелках, никаких винтов.


С аксессуарами покончено - пора переходить к самому главному
RASPBERRY PI 3 MODEL B
Raspberry Pi 3 Model B является прямым наследником Raspberry Pi 2 Model B. Плата полностью совместима с предшественником, но наделена большей производительностью и новыми средствами коммуникации:
64-х битным четырёхядерным процессором ARM Cortex-A53 с тактовой частотой 1,2 ГГц на однокристальном чипе Broadcom BCM2837; встроенными Wi-Fi 802.11n и Bluetooth 4.1.
Кроме того, процессор имеет архитектуру ARMv53, а значит вы сможете использовать любимую операционную систему: Debian Wheezy, Ubuntu Mate, Fedora Remix и даже MS Windows 10.


Технические характеристики подробнее
CPU - Broadcom BCM2837, ARM Cortex-A53 Quad Core, 1.2 GHz
Количество ядер процессора - 4
GPU - VideoCore IV 3D
RAM - 1 GB
Хранилище - microSD
Сетевые возможности
Ethernet 10/100
WiFi 2.4G 150 mb/s
Видео вывод - HDMI
USB порты - 4
Беспроводные возможности - Bluetooth
Аудио вывод - 3,5 Jack
85,6 х 53,98 х 17мм, 45 грамм


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


На одной из длинных сторон компьютера размещены порты micro USB для питания, полноразмерный порт HDMI, CSI-2 Camera port - для подключения камеры по интерфейсу MIPI, 3,5 мм аудиоразъем. Так же на верхней стороне находится модуль процессора и Ethernet/USB Hub lan9514-jzx


На торцевой стороне скомпонованы 4 USB порта и порт Ethernet


На другой стороне материнской платы находится 40 контактов ввода/вывода общего назначения (GPIO)


На второй торцевой стороны - находится DSI Display Port для подключения штатного дисплея


На нижней стороне платы находится модуль памяти LPDDR2 SDRAM - EDB8132B4PB-8D-F


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


Медные радиаторы ставятся на USB/Ethernet Hub и процессор с одной стороны


И на чип памяти с другой. Этот радиатор плоский - не мешает установке платы компьютера в корпус


В корпус все устанавливается отлично, винтовых соединений нет - садится на пластиковые выступы.


Все вырезы на корпусе в точности совпадает с разъемами компьютера




Для запуска нам потребуется внешний монитор (телевизор) с HDMI входом, USB клавиатура, будет удобнее если так же будет и мышка и питания. Монитор, клавиатура и мышка - понадобятся только на момент установки, дальше достаточно будет только блока питания.

Установка операционной системы

Для установки операционной системы, первым делом необходимо загрузить архив с дистрибутивами - . Пока скачивается почти полутора гигабайтный архив, загружаем утилиту для форматирования SD карты - SD Card Formatter - . Этот дистрибутив гораздо компактнее - всего 6 МБ, поэтому не теряя времени, устанвливаем программу


и, после установки, вставляем карту памяти в картридер (у вас же есть картридер не правда ли) и запускаем SD Card Formatter. В меню Options необходимо установить “FORMAT SIZE ADJUSTMENT” в “ON”


Дождавшись завершения загрузки большого дистрибутива, открываем полученных архив и распаковываем его содержимое на свежеотформатированную флешку.
Следующий шаг - первый запуск Raspberry Pi (флешку с записанным дистрибутивом, конечно устанавливаем в него). Извините за качество нескольких следующих фото - с экрана телевизора:(
При первом запуске стартует меню выбора операционной системы - что ставить, причем в списке имеется даже версия WIndows 10 для Raspberry Pi. На этом этапе можно выбрать язык (внизу экрана) - русский есть и подключится к Wi-Fi сети - кнопка Wi-Fi networks


Нужная мне опарационка - Raspbian базирующаяся на Linux Debian - представлена в двух вариантах, lite И полном, с графическим интерфейсом. Я выбрал полную версию


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


Периодически измеряя температуру во время установки, максимально что я видел - 38 градусов.
После завершения установки и перезагрузки компьютера, загружается рабочий стол Raspbian


Единственное что я сделал здесь - это в настройках включил SSH - для того чтобы управлять системой с настольного ПК, все остальное я уже делал через терминал.


Для управления Raspberry с настольного ПК, нам понадобится любая программа терминал, я использую старый добрый Putty


Имя пользователя и пароль по умолчанию - pi и raspberry . Для смены пароля воспользуйтесь командой passwd .


Рекомендую сразу установить статический IP адрес для Raspberry. Узнать текущие адреса можно при помощи команды ifconfig , где
eth0 - это Ethernet
lo - это локальный интерфейс 127.0.0.1
wlan0 - это wi-fi интерфейс

А для того что бы отредактировать файл с настройками - вводим команду
sudo nano /etc/dhcpcd.conf
и в открывшемся файле, пролистав в конец добавляем нужные настройки в зависимости от того какой интерфейс мы будем использовать.
Например мы хотим использовать адрес 192.168.0.222, маска 255.255.255.0, адрес шлюза и DNS - 192.168.0.1
Для Ethernet вставляем
interface eth0

static routers=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


Для выходя из редактора нажимаем ctrl+x
Для сохранения изменений - нажимаем “Y” и затем enter

Установка Domoticz
Большая часть работы по настройке уже закончена, теперь нам нужно установить систему Domoticz. Делается это одной командой -
sudo curl -L install.domoticz.com | sudo bash
Которая инициализирует процесс загрузки и установки системы


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


После успешной установки, инсталлятор напишет адреса и порты веб интерфейса системы Domoticz


Но, для работы с шлюзом Xiaomi - нам нужна beta версия системы. Обновление до крайней версии беты производится командами
cd ~/domoticz
sudo ./updatebeta



Теперь система Domoticz доступна по веб интерфейсу:

Теперь самое время приступить к добавлению устройств Xiaomi. Но сначала -

Подготовительные работы

Итак, что нужно для того что бы начать работать с Domoticz?
Резервирование IP адресов
Первым делом необходимо, тем устройствам которыми вы планируете управлять - пока это шлюз и лампы - установить статические IP адреса. Это делается на вашем домашнем роутере, при помощи таблицы клиентов DHCP которая выглядит примерно так -


и информации из вкладок Network info плагинов управления шлюзом и лампами, где указаны MAC адреса устройств


Используя эту информацию нужно прописать выдачу постоянных IP адресов этим устройствам - так как они будут управлятся именно по IP, и если адрес будет сменен - Domoticz потеряет связь с ним. Таблица резервирования адресов выглядит примерно так -

Режим разработчика

Необходимо активировать режим разработчика. Для шлюза Xiaomi Gateway необходимо зайти в меню, выбрать опцию about, внизу экрана где написана версия (2.23 у меня) - нажимать на нее до тех пор пока в меню не появится две новые опции, они могут быть на китайском, в моем примере - на английском. Нажимаем на первую из двух - local area network communication protocol, в меню активируем верхний переключатель и записываем пароль шлюза.


Для ламп все проще - нужно установить приложение Yeelight, если вы его еще не поставили, и для каждого светильника - заходим в меню, режим разработчика - включить

Добавление устройств

Для добавления устройств переходим во вкладку Настройки - Оборудование
127.0.0.1:8080/#/Hardware (вместо 127.0.0.1 - адрес вашего Domoticz)
Выбираем тип устройства Xiaomi Gateway, называем его как нибудь, указываем его IP адрес, который мы зарезирвировали на роутере, прописываем пароль полученный в окне режима разработчика. Порт - у меня работает на порту 54321. В вики домотикз описано подключение с указанием порта 9898


Для добавления ламп - просто добавляем устройство YeeLight LED - адреса указывать не надо, лампы подтянутся сами.


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

Устройства

Устройств добавится НАМНОГО больше чем вы ожидаете:) Список их доступен на вкладке Настройки - устройства.
127.0.0.1:8080/#/Devices


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

Переключатели

На этой вкладке собраны все управляемые устройства
127.0.0.1:8080/#/LightSwitches
Выключатели, кнопки, лампы, и прочее. Здесь мы можем включать, выключать, и делать любые действия с устройствами в ручном режиме.

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

Температура

На этой вкладке группируются климатические датчики - влажности и температуры
127.0.0.1:8080/#/Temperature
Поначалу они все называются одинаково, определить где какой - можно по их показаниям и сверке с приложением Mi Home, после чего их можно соответсвенно переназвать.

Вспомогательное

Здесь сгрупирован датчик освещенности шлюза - хотя его показания весьма странные, и счетчики потребления энергии розеток.
127.0.0.1:8080/#/Utility

Сценарии

Для создания сценариев - необходимо перейти во вкладку - Настройка - Дополнительно - События. Написание сценариев доступно в двух вариантах - блочный и скриптовый на языке lua.

Примеры сценариев

Учится работать с Domoticz лучше начинать с блоков. Тут все разбито на группы и составлять сценарии довольно просто. Пример простого сценария на блоках - включение света по обнаружению движения, и выключения через минуту после того как датчик движения перейдет в статус выключено. После составления сценария нужно назвать его, поставить галочку на опции Event active: - для включения и сохранить его.

Точно такой же сценарий на lua

Примеры использования

Больше внимания конкретным сценарям я буду уделять в других обзорах, тут в качестве примера приведу сценарий, который НЕВОЗМОЖНО реализовать в Mi Home, а именно - двухкнопочный выключатель Aqara c размыканием проводов - левая кнопка будет работать по назначению - разрывать и соединять фазу, а правая - не подключенная к линии (для питания выключателя достаточно подключения только одной из кнопок) - будет включать и выключать Yeelight лампу, которая физического соединеня с выключателем не имеет.
В данном сценарии будет проверятся состояние лампы Yeelight, значение самого выключателя On или Off - значения иметь не будет. Если состояние лампа отлично от Off - значит она работает, и будет выключена, а если выключена - то будет включена.

На этом, вводную часть по Domoticz буду завершать, если тема будет интересна - то продолжу, интересного еще очень много.

Видеоверсия обзора (2 части) -



Спасибо за внимание. Планирую купить +164 Добавить в избранное Обзор понравился +99 +231

В статье представлена информация о популярной линейке миникомпьютеров Raspberry pi. Описан принцип действия, области применения и дан развернутый обзор функциональных особенностей различных моделей Raspberry pi2, Raspberry pi3, Raspberry pi model B.

Raspberry и «умный» дом

В 2011 году компания Raspberry Pi Foundation выпустила первый в мире миниатюрный, но полноценный компьютер разработанный Девидом Брабеном. Размер этого устройства сопоставим с размерами банковской карты. В то же время его технические параметры соответствуют топовым компьютерам 2005-10 годов.

Одними из самых привлекательных черт данной техники является ее доступность. Стоимость базовых моделей (model А) находится в области 25 дол США, а более продвинутых (model В) около 35 дол США. Конечно, на отечественном рынке эта техника стоит несколько дороже, так как сказываются высокие ввозные пошлины и налоговые отчисления, но все равно стоимость Raspberry не сопоставима с аналогичной крупномасштабной техникой.


Вторым немаловажным преимуществом является его феноменальная экономность. Raspberry Pi 2 потребляет все 1 Вт электроэнергии в час, в то время как его стационарный аналог не менее 250 Вт.

Что может Raspberry и как он работает?

Операционная система Raspberry Pi – Debian Linux, на данный момент практически все модели выпускаются с предустановленной специальной системой под названием Raspbian. В довесок ко всему в качестве браузера используется Midori, офисный пакет (аналог незаменимого World и Exel) Koffice.

Как же Такое оборудование может использоваться в ?


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


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

Центральным сервером системы является Raspberry Pi на котором установлен WEB-интерфейс, связанный с внешними мобильными устройствами управления – смартфоном, планшетом, ноутбуком. Доступ к ресурсу предоставляется по логину и паролю с сети интернет, Wi-Fi, или локальной Ethernet. У большинства ПО есть возможность разграничения уровня доступа на администраторский и пользовательский.

Связь модуля Raspberry Pi с контроллерами реализована через порт UART, к которому подключается согласующее устройство – переходник на интерфейс RS485. В последних моделях данный интерфейс реализован в базовой комплектации. Так же, реализована возможность подключения GSM модема для связи с мобильным оператором, предоставляющим провайдерские услуги доступа в глобальную сеть.

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

Стандартная система «Умный дом» основанная на Raspberry Pi может включать следующие элементы:

  • Контроллер температуры и влажности на 8 каналов. Собирает показания о состоянии параметров через детектор DHT22 и 7 датчиков типа DHT11.
  • Четырехканальный термостат. Этот терморегулятор может контролировать параметры четырех отдельных линии нагрузки, как нагрева, так и охлаждения. Параметры могут задаваться непосредственно на контроллере или через WEB-интерфейс сервера.
  • Радиомодуль – используется для приема данных с 10 радиодатчиков и эмуляции 5 радиобрелоков;
  • Универсальный констроллер, может применяться для контроля и управления системой полива, отопления и т.д. имеет 2 входя для подключения детекторов влажности (DHT22) и температуры (DHT11).

Более подробно о функционировании описанной системы можно увидеть здесь:

Обзор моделей Raspberry Pi 2, Pi 3 model B

Процессор ARM Cortex-A7 с тактовой частотой 900МГц и 4 ядрами на борту. Объем оперативной памяти довольно солидный даже по современным меркам 1 ГБ. В плату интегрирован графический чипсет — VideoCore IV 3D и звуковой контроллер. Это дает возможность использовать устройство в качестве универсального мультимедийного сервера в .


Внешние интерфейсы:

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


Еще одним отличием от моделей предыдущего поколения является наличие системных файлов. Так же имеется Lan порт и 4 USB порта, которые могут выдать для питания внешних устройств ток силой 1,2 А каждый. Для этого сам Raspberry Pi должен быть подключен к специальному сетевому адаптеру, который обеспечит силу тока 2 А.

По сравнению с 1 и 2 версиями Raspberry Pi 3 не подверглась кардинальной модернизации. Однако эволюция развития основных технических показателей существенна. Основным отличием является высокопроизводительный четырехъядерный 1,2 ГГц процессор ARM Cortex-A53. По заверениям разработчиков создание такого процессора на базе однокристальной платформы Broadcom BCM2837 увеличило его производительность на 50%, и при этом он полностью совмести с предыдущими версиями.

Из основных интерфейсов связи можно отметить:

  • Bluetooth 4.1;
  • Wi-Fi 802.11n;
  • 4 USB;
  • HDMI;
  • 40ка пиновый GPIO.

Стоимость устройства не изменилась, все те же 35 дол плюс доставка от официального дилера в Великобритании.

Raspberry Pi незаменимое устройство для тех, кто самостоятельно занимается установкой и наладкой систем «Умный дом».

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

  • На звук;
  • На движение;
  • На тепловую энергию.

Простые сенсоры представлены даже в ТРЦ, где они следят за автоматическим открытием дверей и выполняют другие задачи. В то, что умный дом может стать неотъемлемым элементом жизни человека может и сложно поверить, но это действительно так. Чтобы снизить свои трудозатраты и обучить приборы выполнять простые функции самостоятельно, потребуется лишь реализовать проект умный дом, способствующий всему этому.

Принцип работы умного дома

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

Разрабатывая умный дом, можно выбрать один из нескольких вариантов. В первом случае будет использоваться готовое решение, которое останется установить на объекте. Такой вариант требует минимум усилий, но его стоимость значительная. Позволить реализовать такой проект может не каждый. Другим решением остается понимание самой концепции, что позволит в дальнейшем создать и собрать умный дом собственноручно.

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

Процесс автоматизации умного дома

Заставить приборы, используемыми повседневно, работать по заданному сценарию легко, если использовать для этого соответствующий блок управления. Компанией Raspberry Pi был разработан миникомпьютер, который подходит для решения поставленной задачи. Устройство отличается компактностью и производительностью, а также делает автоматизацию проекта простым и понятным делом. Raspberry отличается невысокой стоимостью, особенно при сравнении с другими производителями, представившими свою продукцию на рынке. Но это не помешало компании предложить действительно качественное оснащение, ставшее популярным. Первоначально компанией разрабатывалось две вариации миникомпьютера:

  • модель А;
  • модель В.

Визуальное оформление и комплектация

Данные устройства находятся под управлением чипсета ARM11 с производительностью в 700 МГц. Различия между вариациями заключаются в объеме памяти на борту. Так изделие B оснащается планкой ОЗУ на 512 Мб, что двукратно превосходит показатели модели А с 256 Мб. В итоге компания пришла к решению выпускать обе вариации одновременно, тем более, что миникомпьютер А имел дополнительные достоинства. Он оснащался портом Ethernet, позволяющим подключиться к сети. Компания продолжила работу над модернизацией своих продуктов, переосмыслив вторую версию компьютера. Это привело к появлению улучшенного варианта В, ставшего еще более компактным, а также получившего стильный дизайн. Из конструктивных наработок стоит отметить наличие 4 разъемов USB, что в 2 раза превышает число портов данного типа для предыдущей версии.

Читайте также: Безопасен ли ваш дом для окружающей среды

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

Raspberry способен контролировать устройства Z-Wave, облегчающие управление домашней техникой. Установка платы RaZberry в миниПК делает блок управления производительным и надежным. Z-Wave представляет современный стандарт для умного дома, выполненного с помощью беспроводного технологического процесса. В результате владелец имеет возможность отказаться от использования дополнительных элементов и расходных материалов, снижая общие затраты. Управлять Z-Wave легко. Поэтому реализовать умный дом способен человек, не имеющий практического опыта в работе над подобными проектами.

Дополнительным преимуществом является возможность модернизировать существующую плату. Так если наблюдается снижение производительности, которой уже недостаточно для работы модулей, то Z-Wave можно модернизировать, используя вспомогательные элементы, как в случае с улучшением стандартного ПК. Выполнение апгрейда исключает необходимость полностью менять устройство.

Контроллер от компании Z-Wave

Если у пользователя недостаточно опыта или свободного времени для выполнения монтажа, то в Z-Wave могут предложить услуги по настройке или установке оборудования в любом регионе РФ. Любые вопросы можно решить с помощью обширной базы данных, находящейся в свободном доступе, либо используя техническую поддержку. Raspberry зарекомендовала себя с лучшей стороны и в сфере видеонаблюдения. Используя плату и стандартную веб-камеру пользователь получает систему, которая способна транслировать изображение в сеть, вне зависимости от расположения устройства слежения. Следить за объектом становится еще проще, так как нет нужды постоянно мониторить ситуацию. Достаточно отследить основные события в конце работы, чтобы узнать о любых происшествий, зафиксированных видеокамерой.

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

Разработать такой дом не сложно, особенно при тщательном подходе. В итоге владелец становится получателем огромной пользы благодаря своим нововведениям. Определившись в особенностях автоматизации, можно значительно сократить расход времени, а также экономить энергоресурсы и увеличить безопасность для жителей дома. Удобство определяется выбранными компонентами, на которых базируется проект, поэтому Raspberry станет надежным помощником в деле создания умного дома.

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

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

Состав блока управления

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

  • NodeMCU ESP-12E;
  • Объемный сенсор;
  • Сенсоры температуры;
  • Сенсоры влажности
  • модуль реле;
  • карта памяти;
  • RaspberryPi 3.

Сам процессор, а в данной конфигурации это третья модель, выбирается произвольно, поэтому другая версия будет не менее работоспособной и подойдет для умного дома. Выбор в пользу Raspberry Pi 3 вызван тем, что агрегат комплектуется модулями беспроводной связи. Заменить NodeMCU можно Arduino Nano, либо использовать вспомогательный модуль для вай-фай.

Читайте также: Мультирум от Ростелеком – особенности и преимущества

Компоненты, составляющие блок управления, следует соединить и отрегулировать. Чтобы сократить расход времени и усилий будет выгодно приобрести именно готовое решение, вроде NodeMCU. Силовое элементы выбираются в количестве, задействованном в проекте. Для представленной конфигурации потребуется 3 элемента. Конфигурация сенсоров определяется индивидуально. При желании можно отказаться от объемного сенсора, если его применение не будет иметь логической потребности.

Установка Raspbian

Чтобы справиться с установкой ОС, потребуется посетить официальную страницу компании, где можно всегда найти и загрузить самую свежую версию. Далее выполняется форматирования карты в FAT. По указанным предписаниям выполняем сборку образа под используемую ОС. Остается подключить карту к миникомпьютеру, а также присоединить клавиатуру и экран, в роли которого может выступать ТВ. Процесс загрузки обычно занимает немного времени, после чего можно приступать к настройкам.

Так можно задать собственный пароль и другие параметры. Не стоит менять текущую настройку загрузочного экрана, так как во время работы умного дома графическая часть использоваться не будет. Переходим к изменению хоста, расположенного в пункте Hostname, а также задаем SSH, что позволит с большим комфортом управлять устройством в будущем. Когда все настройки будут применены, останется только перезагрузить устройство, нажав Finish.

Корректировка WIFI

Когда устройство будет перезапущено, следует перейти к интерфейсам, где порядок действий следующий:

  • Прописываем команду 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 —

но в вашем случае настройка должна проходить под собственный роутер.

Следующим шагом будет переход к супликанту, где следует указать такую команду

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

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

Пример настроек:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

update_config=1

network={ ssid=» ваш SSID » psk=»ваш пароль» }

sudo ifdown wlan0

Процесс будет выполнен, после чего остается указать

sudo ifup wlan0

ожидаем завершения перезагрузки, вызванной командой

sudo reboot

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

Обновление миникомпьютера

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

  • вводим sudo apt-get update sudo apt-get upgrade;
  • проверяем текущую версию командой g++-4.9 –v и сверяемся с актуальной;
  • если используемая версия устарела, то вводим sudo apt-get install g++.

Переходим к установке NODE.JS. Данная программа, начиная с четвертой версии, поддерживает ARM. Для того, чтобы поставить NODE.JS, потребуется задать последовательность команд:

  • curl -sL https://deb.nodesource.com/setup_6.x;
  • sudo -E bash — sudo apt-get install -y nodejs;
  • для проверки текущей версии вводим nodejs –v.

Устанавливаем HOMEBRIDGE

Первым шагом будет установка Avahi и другие компоненты, которые потребуются для работы MDNS. Переходим в командную строку и начинаем вводить такую последовательность

  • sudo apt-get install avahi-daemon avahi-discover libnss-mdns 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/mdns;
  • sudo node-gyp BUILDENGINE=Release rebuild.

В целях проверки выполняем пробный запуск командой homebridge, а в ответ следует ожидать примерно такую последовательность:

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 │

Homebridge is running on port 44278

Если нечто похожее удалось получить, предыдущие команды были выполнены и применены верно. Как можно видеть из примера, программе не удалось обнаружить config.json, что значит, что его созданием придется заниматься самостоятельно:

  • sudo -i;
  • mkdir /root/.homebridge;
  • touch /root/.homebridge/config.json.

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

1.4 (28.89%) 9 votes

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

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

Если вы хотите минимизировать прилагаемые усилия при выполнении бытовых занятий, таких как стирка, готовка или уборка, проект «Умный дом» просто создан для вас.

Проект «Умный дом»

Концепция работы «Умного дома»

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

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

Raspberry Pi или автоматизация «Умного дома»

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

Изначально было придумано 2 комплектации мини-компьютера Raspberry Pi:

  • модель А;
  • модель В.

Внешний вид Raspberry Pi model B (с установленной flash-картой)

Обе версии работают на основе процессора ARM11 с тактовой частотой 700 МГц, но имеют различную память. Как правило, модель B обладает количеством оперативной памяти, в 2 раза превышающей модель А. Следовательно, А - 256 Мб, а В - 512 Мб. Поэтому модель А не была снята с международного производства, так как обладала ещё одним весомым преимуществом. В ней присутствовала поддержка порта Ethernet, позволяющая выход в интернет. Также компания Raspberry Pi не остановилась на достигнутом и позже выпустила обновлённую версию модели В. Улучшенный вариант обладал более компактным дизайном, а также включал в себя 4 USB-порта, что в 2 раза превышает их количество в предшествующей модели.

Данный девайс прекрасно найдёт себя в вашей разработке проекта «Умный дом». За относительно невысокую стоимость этот компьютер Raspberry Pi может выполнять самые разнообразные задачи, связанные с автоматизацией проекта «Умный дом».

Мини-компьютер Raspberry может управлять , которое облегчит автоматизацию вашего дома или квартиры. С помощью платы RaZberry от фирмы Z-Wave ваш мини-компьютер воистину станет мозгом для всей вашей системы. Z-Wave являет собой стандарт беспроводной автоматизации. Он не требует проведения дополнительных проводов или ремонтных работ, что в лучшую сторону сказывается на экономике вашего проекта. Также Wave невероятно прост в установке. Это позволяет самостоятельно справиться с задачей даже новичку в сфере электроники. Появилась нехватка производительности? Не беспокойтесь, производительность Z-Wave можно наращивать благодаря установке дополнительных устройств, как и в обычном компьютере. Смена комплектующих или их апгрейд послужит улучшению работы устройства. Также Wave регулярно проводит доступные тренинги и обучения для опытных монтажников по темам установки и адаптации под определённые системы Z-Wave.

Контроллер Z-Wave Fibaro Home Center 2

Если вы не уверены в своих возможностях, или же вам не хватает опыта, компания Z-Wave готова предоставить полный спектр услуг по установке, либо же настройке оборудования Z-Wave по всей территории России. Также вы всегда можете воспользоваться их доступной базой знаний или задать интересующие вас вопросы на сайте технической поддержки.

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

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

С помощью системы Raspberry Pi и веб-камеры можно вести видеонаблюдение

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

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

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



Загрузка...