Raspberry pi умный дом решение. Raspberry Pi = Умный дом. Что в посылке

Для Windows 05.04.2019
Для Windows
  • Tutorial

В данном проекте запускаем своё iOS, Android или Web приложение, а также пишем (вернее, чуть дописываем) чат бот на питоне, который управляет розетками через радио модуль, подключенный к Raspberry Pi.

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

Интересно?

А зачем?

Вопрос “а зачем это нужно?” не всегда остро стоит для проектов из серии «умный дом» и всяческих Internet of Things, здесь часто тратится куча времени и денег на автоматизацию чего-то, что на практике удобнее переключать по старинке обычным настенным выключателем:-) Но при этом получаешь кучу удовольствия и полезного опыта в процессе и далее радуешься исправной работе механизма, который сделал сам.

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

  • Человеческий язык - довольно легко заставить чат бот общаться с вами на человеческом языке, что довольно удобно, особенно для менее технических членов семьи. Также это позволяет в перспективе подключить голосовое управление.
  • Универсальный удаленный доступ - к XMPP чат серверу можно подключаться откуда угодно и из любого Jabber совместимого IM клиента. Людям удобно, а как подключить устройства описано в данной статье.
  • Удобное управление для всей семьи - подключите домашних в единый групповой чат, где сидят боты, отвечающие за дом или приборы в доме. Вы можете обсуждать свои семейные вопросы и одновременно управлять домом. Все видят, кто какие команды подал приборам, можно видеть их (ботов) ответы и отчеты, просмотреть предыдущую историю и т.п. Это удобно.
  • Система независимых распределенных агентов . Каждый прибор или набор датчиков, которые имеют представительство (по сути, пользователя) в чате, соответственно являются независимыми агентами и могут общаться с другими приборами и быть управляемыми ими или вами напрямую. Единый сервер не обязателен. Можно поднять свой чат бот для каждого важного прибора или датчика, а также настроить главного бота с элементами AI, такой себе “дворецкий” или “majordomo”, который будет всеми девайсами управлять, причем они будут общаться в доступном вам и другим членам семьи чате на понятном вам языке, так что вы всегда можете отследить что происходило или вмешаться в процесс.

Реквизит

Для данного мини-проекта нам потребуются следующие компоненты:

1. Raspberri P.
У меня модель B, заказал буквально за день до объявления о выходе B+, но в принципе, любая модель тут подойдет, главное смотрите, чтоб GPIO пины были совместимы с управляющим модулем, который вы выберете. Об этом ниже.
Ну а так, главное требование - запустить чат бот на питоне.

2. Аксессуары к вашему Pi.
WiFi модуль, простые USB клавиатура и мышь, карточка SD памяти с дистрибутивом Raspbian, блок питания, по желанию - пластиковый корпус.
Это стандарт для “малинки”, но т.к. я покупал её впервые, специально под этот проект, то не знал, что WiFi и SD карта не входят в стандартный комплект, и пришлось дозаказывать, так что имейте в виду. Также для настройки вам потребуется монитор или телевизор с HDMI кабелем.

3. Управляющий модуль (RF transmitter) и розетки или другие приборы с приёмником (RF receiver).
Здесь нужно сказать, что я пошел по быстрому или ленивому пути, и заказал готовый RF модуль для Pi и набор радиоуправляемых розеток от Energenie . В комплекте идет готовый RF передатчик, который подключается на GPIO пины вашей малинки. Кому этот путь не по душе, есть альтернативы, в инете куча гайдов о том, как к существующим радиоуправляемым приборам подобрать код и управлять ими через простой дешевый китайский RF передатчик. В качестве альтернативы можно через Pi управлять приборами непосредственно прямым проводным подключением с GPIO, а также через WiFi и по другим каналам.

Вот фото моего Energenie комплекта:

4. Чат-клиент.
В данном туториале используется Q-municate , это мессенджер с открытым исходным кодом от нашей платформы QuickBlox, который можно скачать с github и забилдить под iOS, Android или запустить Web версию на десктоп и других платформах. Преимущество использования Q-municate в том, что вы можете кастомизировать интерфейс под себя и сделать своё собственное приложение, например, только для своей семьи.
Но это совершенно не обязательно. Вы можете использовать любой Jabber/XMPP совместимый клиент, например Adium.

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

Устанавливаем дистрибутивы / dependencies для Raspbian

Логинимся на малинку и ставим следующие вещи под рутом:
apt-get install python-dev pip install sleekxmpp pip install dnspython pip install pyasn1 pyasn1-modules apt-get install python-rpi.gpio
Нам собственно нужен sleekxmpp, это базовый проект для чат бота, а остальное решает вопросы с различными зависимостями для этого проекта. Ну и плюс python-rpi.gpio позволит контролировать GPIO пины малинки из нашего питон скрипта.

Подключаем и проверяем модуль радиоуправления

Если вы используете другой модуль, не от Energenie, то эту часть вам придется исследовать самостоятельно.

При использовании же готового Pi-mote модуля всё просто и хорошо описано в официальной инструкции от производителя: energenie4u.co.uk/res/pdfs/ENER314%20UM.pdf

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

Итак, обучаем. Согласно инструкции, запускаем скрипт

Sudo python ENER002.py
вставляем розетки в розетки) и если лампочки на них не мигают, то переводим в режим обучения нажатием кнопки выключения в течение 5 секунд. Лампочки замигали, нажимаем “Enter” на клавиатуре чтобы подать сигнал из скрипта и видим быстрое мигание лампочки, это значит что обучение прошло успешно. Повторяем то же самое с остальными розетками. Один Pi-mote модуль может подавать 4 разных кода, т.е. управлять можно 4 разными наборами Energenie розеток, при этом никто не мешает использовать один код для нескольких розеток одновременно.

Поднимаем чат сервер

Нам нужен XMPP / Jabber совместимый чат сервер с возможностью создания MUC (группового чата или чат комнаты) в нём, чтобы подключить туда наш чат бот и человеков-пользователей.

В принципе, на Pi можно поднять свой чат сервер, например вот здесь http://box.matto.nl/raspberryjabberd.html описывается установка ejabberd на Raspberri Pi.

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

Шаги ниже описывают регистрацию и заодно создание пользователя для нашего чат бота и MUC комнаты для общения.

Дальше нам нужно взять и модифицировать это под свои нужды.
Если вы тоже используете Energenie для управляемых розеток и QuickBlox для чат сервера, то вы можете взять мой готовый скрипт здесь: https://github.com/QuickBlox/sample-powerbot-python-rpi .
Вам нужно будет только поменять credentials в начале скрипта, прописав туда свои ключи приложения и пользователя (того, что мы создали выше).

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

1. Добавлено авто-присоединение по приглашению в другие чат комнаты.

2. Подправлена совместимость с QuickBlox и Q-municate (мелочи типа формата названия чат комнат и т.п.)

3. Добавлен собственно парсинг команд для управления приборами - в нашем случае это «lamp on», «lamp off», «all on» и «all off» - и вызов функций switch_on / switch_off из питон модуля energenie, который уже отдает команды на плату радиопередатчика через GPIO.
Кто работает напрямую с GPIO, посмотрите в energenie.py как реализована работа с GPIO.

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

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

В нашем случае мы используем платформу QuickBlox и конкретное приложение Q-municate, в нём приглашение в новый групповой чат выглядит примерно так:
RECV: Taras Filatov created new chat<_id>53b78c0c535c12798d0050551234040,1258466,126535021404538064Yanus Poluektovich, Sergey Fedunets[email protected]1

Отслеживаем фразу “created new chat” в XMPP станзах, и если она встречается, то парсим оттуда xmpp_room_jid, это и будет id вновь созданной комнаты.
Дальше запускаем процесс с этим же скриптом
Имейте в виду, для того чтоб это работало, нужно сделать скрипт исполняемым:

Chmod +x powerbot.py
Код реализации представлен ниже:

If msg["mucnick"] != self.nick and "Create new chat" in msg["body"]: from bs4 import BeautifulSoup y = BeautifulSoup(str(msg)) roomToJoin = y.xmpp_room_jid.string print ("Got an invite to join room") botId = subprocess.Popen(, shell=True) print "spawned new bot ID=" print botId self.send_message(mto=msg["from"].bare, mbody="Thank you for your kind invitation, joining your new room now!", mtype="groupchat")

Приветствие + инструкции
Определяем кодовое слово, в данном случае “powerbot”, и выдаем в ответ приветствие и подсказку о том, как пользоваться / общаться с нашим ботом.
Проверка “if msg["from"] != self.nick” нужна чтобы бот не реагировал на сообщения от себя самого.

# # Reply to help request (any message containing "powerbot" in it) # if msg["mucnick"] != self.nick and "powerbot" in msg["body"]: reply_test_message = self.make_message(mto=msg["from"].bare, mbody="Powerbot is greeting you, %s! Usage: lamp to control socket 1, all to control all sockets. Example: "lamp on" switched socket 1 on." % msg["mucnick"], mtype="groupchat") self.copy_dialog_id(msg, reply_test_message) reply_test_message.send() print "Sent help text: " + str(reply_test_message)

Включение / выключение лампы и других приборов
Отслеживаем команду “lamp on” (включить лампу), если команда получена, то включаем розетку switch_on(lampSocket) и отчитываемся о выполнении.

# # Handle "lamp on" command # if msg["mucnick"] != self.nick and "lamp on" in msg["body"]: switch_on(lampSocket) confirmation_message = self.make_message(mto=msg["from"].bare, mbody="Lamp has been switched on, %s." % msg["mucnick"], mtype="groupchat") self.copy_dialog_id(msg, confirmation_message) confirmation_message.send() print "Lamp switched on, sent confirmation: " + str(confirmation_message)
Аналогичным образом реализованы “lamp off”, “all on” и “all off” (последние отвечают за включение или выключение всех управляемых розеток).

Запускаем чат бот
Из bash на малинке выполняем нехитрую команду:

Sudo python powerbot.py -d -r <адрес начальной MUC комнаты>
Sudo нужно для доступа к GPIO. Если вы использовали QuickBlox, то в качестве адреса MUC комнаты просто скопируйте JID адрес из таблички Chat Dialogs.

В результате на экране появятся логи аутентификации и обмена XMPP статусами с сервером:

Всё, бот готов и ждет ваших указаний в чат-комнате.

Кстати, вы могли обратить внимание, что функции реакции на команды продублированы одновременно в
def message(self, msg):
и
def muc_message(self, msg):
первый блок обрабатывает приватные сообщения 1:1, а второй - групповые.
То есть управлять ботом можно и в приватном чате, хотя на мой взгляд, это менее интересно.

Собираем чат клиент под iOS (варианты: Android, Web)

Как я писал выше, можно общаться с ботом через любой Jabber / XMPP - совместимый чат клиент.
Мы легких путей не ищем, поэтому собираем своё приложение - клиент для управления ботом ну и заодно для общения с домашними и друзьями.
Свой собственный мессенджер с ботом и групповыми чатами:-)

Однако, как вы увидите, мы здесь тоже идем по быстрому и ленивому пути и берем готовый open-source проект нашей собственно разработки,
который называется Q-municate.

1. Тянем с гита проект для соответствующей платформы.

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

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

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

Платформа Raspberry Pi 3 – главные особенности

В феврале 2016 компания Raspberry Pi выпустила в широкую продажу новую версию микрокомпьютера Raspberry Pi 3, модель «В».

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

Структурная схема системы «Умный Дом» на базе Raspberry Pi 3

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

Основные характеристики Raspberry Pi 3

Новый микрокомпьютер получил:

  1. процессор ARM Cortex-A53;
  2. оперативную память в один гигабайт;
  3. встроенные WiFi и Bluetooth 4.1;
  4. полную совместимость с предыдущими моделями.

Процессор имеет четыре ядра, разрядность 64 бита, частоту 1.2 ГГц, что в 10 раз превышает производительность первой модели.

WiFi стандарта 802.11b/g/n с возможностью передачи данных со скоростью до 600 Мб/сек на частоте 5.0 ГГц.

По заказу «Raspberry Pi» компания «Broadcom» разработала и выпустила новый монокристалл BCM2837 с архитектурой, аналогичной кристаллам BCM2835 и BCM2836, что обеспечило совместимость с предыдущими моделями.

Одноплатные компьютеры Raspberry Pi 3 и Arduino – главные отличия

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

Raspberry Pi 3 оснащен мощным четырёхъядерным процессором, частота которого в 40 раз выше тактовой частоты Arduino. Оперативная память Raspberry Pi 3 имеет емкость, в 128000 раз превышающую емкость оперативной памяти Arduino.

Но эти показатели говорят не о том, что Raspberry Pi 3 превосходит Arduino, а о том, что эти устройства предназначены для решения разных задач.

Задачи, решаемые Raspberry Pi 3 с помощью ПО, не под силу решать простому Arduino. Но он превосходно справляется с задачами сугубо аппаратных проектов, со считыванием и обработкой аналоговых сигналов.

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

Реализация проекта «Умный дом» на базе Raspberry Pi 3

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

Периферийные устройства «умного дома»

Для реализации проекта Raspberry Pi 3 «Умный дом» понадобятся такие модули:

  • модуль ;
  • модуль поддержки беспроводной связи;
  • датчик измерения влажности и ;

Кроме этого, для системы Raspberry Pi 3 «Умный дом» потребуются карта памяти MicroSD емкостью 32 ГГб, блок питания, пятивольтовое реле.

Одним из важнейших дополнительных устройств для реализации проекта Raspberry «Умный дом» является модуль NodeMCU ESP-12E с радиоинтерфейсом Wi-Fi и интегрированной в плату модуля микрополосковой антенной.

Операционные системы

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

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

Этот процесс выполняется в несколько этапов. Вначале необходимо выбрать и загрузить для Raspberry Pi 3 «Умный дом» iOS – мобильную операционную систему.

В качестве носителя для ОС и размещения на нем программ в Raspberry Pi 3 используется микрокарта памяти SD. Для установки ОС можно выбрать один из трех способов:

  1. купить SD-карту, на которую уже была предварительно установлена ОС;
  2. загрузить на карту памяти NOOBS (New Out Of the Box Software) – установщик ОС, и затем устанавливать ОС прямо с карты;
  3. монтировать образ ОС прямо на карту SD.

Для системы Raspberry «Умный дом» разработано более 40 различных ОС. Чаще всего используются ОС Raspbian OS, Ubuntu Mate, Windows 10 IoT, RICS OS.

Наиболее адаптированной под аппаратные средства Raspberry Pi 3 явл

яется операционная система Raspbian OS, устанавливаемая с загруженного на SD-карту установщика NOOBS.

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

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

Для самого первого запуска понадобятся:

  • микрокарта SD, емкостью не менее четырех гигабайт (предпочтительно 32 гигабайта);
  • блок питания на пять вольт;
  • кабель с разъемами HDMI;
  • монитор с HDMI-подключением;
  • клавиатура и мышь с USB-подключением;
  • компьютер с разъемом для SD-карты;
  • подключение к интернету – Ethernet.

Следующие действия таковы:

  1. форматирование SD-карты;
  2. скачивание архива установщика NOOBS и распаковка его в корневую директорию SD-карты;
  3. карта вставляется в слот микрокомпьютера, подключаются все устройства, включается блок питания;
  4. при первом запуске из списка выбирается нужная ОС и запускается ее установка;
  5. по завершении установки установить и настроить программы Raspberry Pi 3 «Умный дом».

Установка сервера Homebridge и настройка модулей

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

Сервер Homebridge выполняет роль своеобразного мостика между всеми устройствами дома и Home Kit. Этот сервер эмулирует Home Kit API.

Серверу доступны сотни самых различных плагинов, благодаря которым стало возможным осуществлять управление всеми домашними устройствами, которые даже конструктивно не предназначены для работы с Home Kit. Главное преимущество Homebridge то, что он может работать на любом компьютере, в том числе и на Raspberry Pi 3.

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

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

Заключение

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

Видео: Raspberry Pi Model 3 B — устанавливаем систему управления умным домом Domoticz

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

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

Каков принцип работы умного дома? Какие характеристики и возможности актуальны? Что учесть при настройке и подготовке к работе? Как собрать систему умный дом на базе Raspberry Pi 3? Эти и другие вопросы рассмотрим ниже.

Принцип работы

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

Первоначально компания продавала две комплектации прибора - модели А и В. Первая отличалась объем памяти размером в 256 МБ, а вторая в два раза большим ее размером.

Модель А какое-то время была в продаже, благодаря наличию доступа к глобальной сети, но после обновления до версии «В» в первом варианте отпала необходимость. Новая версия отличалась компактностью и наличием четырех портов USB.

Построение умного дома на основе Raspberry Pi 3 зависит от предпочтений владельца. Вне зависимости от этого, принцип работы остается неизменным:


При желании система умный дом может быть собрана на платформе «открытого» типа, к примеру, Fhem, openHAB, SHC. Не менее востребованный вариант - применение платформы wiBulter.

Где применяется Raspberry Pi 3 Model B

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


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

Особенности и характеристики Raspberry Pi 3 Model B

Устройство представляет собой компактный компьютер, имеющий размеры пластиковой карты банка. На чипе установлено необходимое оборудование для работы - CPU, «оперативка», HDMI-разъем, USB и композитный выход. Также имеется Ethernet-разъем, беспроводная связь и блютуз.

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

Базовая ОС для умного дома на Raspberry Pi 3 - Linux. Операционная система инсталлируется на карту памяти типа microSD, которая устанавливаемся в специальном разъеме платы.

Многие ранее работали только с Windows и бояться Linux. В этой ОС нет ничего необычного. Она проста в пользовании и отличается высоким уровнем безопасности. Если при установке допущены ошибки в настройке, их легко исправить путем восстановления образа.

Версия Raspberry Pi 3 Model - более продвинутый вариант второй модели. Новая плата отличается полной совместимостью с прошлой версией, но отличается большей производительностью и дополнительными средствами для подключения:

  1. Появилась беспроводная связь Wi-Fi серии 802.11n и блютуз 4.1.
  2. Предусмотрен процессор с четырьмя ядрами (тип - ARM Cortex-A53). Частота работы составляет 1,2 гигагерца. В основе лежит однокристальный чип типа Broadcom BCM

В CPU предусмотрена архитектура ARM v53. Это позволяет использовать любую операционную систему, к примеру, Ubuntu или Windows 10.

Применение 4-ядервного чипа гарантирует рост мощности изделия на 50-60 процентов (если сравнивать со второй модель) и на 1000 процентов в сравнении с первым Raspberry Pi.

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

Новая модель Raspberry Pi 3 наделена «оперативкой» на 1 ГБ. Часть этой памяти применяется графической подсистемой. Что касается графической части, здесь установлен 2-ядерный CPU VideoCore IV.

Система поддерживает разные стандарты типа OpenGL ES 2.0, VC-1, OpenVG, MPEG-2. Дополнительные возможности - способность кодировать, раскодировать и выводить полноэкранное видео формата HD на экран. Параметры видео - 1080p, 60 FPS, H.264.

Периферия

Неизменный плюс системы заключается в возможности подключения ТВ или дисплея с помощью HDMI-выхода. Разрешение можно менять в диапазоне от 640*350 до 1920*1200. Выход композитного типа имеет два режима работы - NTSC и PAL. Для коммутации колонок и наушников предусмотрено 3,5-миллиметровое гнездо.

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

На устройстве предусмотрена возможность экономии ресурсов ЦП. Для этого на Raspberry Pi 3 модели имеются 15-пнинковые разъемы. Среди них - CSI-2, используемый для подключения камеры, и DSI для коммутации экрана.

Имеется ряд интерфейсов низкого уровня, а именно питающие пины (3 и 5 Вольт, а также «земля), 40 портов для общего ввода и вывода, SPI с возможностью выбора, серийный UART и I 2 C/TWI.

Для подключения к умному дому на базе Raspberry Pi 3 модели B предусмотрен блютуз 4.1, Wi-Fi 802.1 n и Ethernet (10/100 Мбит). В последнем случае выход обустроен на обычном разъеме типа RJ-45.

Питающая часть и размеры

На изделие подается напряжение 5 В, поступающее от специального адаптера через питающие пины или microUSB-разъем. Для надежности лучше применять источник, имеющий I от 2-х ампер и более. В этом случае появляется возможность для подключения к портам USB более мощных изделий.

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

Размеры платы всего 8,5*5,4 см. В ней помещаются необходимые порты, часть из которых слегка выступает за общие габариты (на несколько миллиметров).

ПО

В умном доме на базе Raspberry Pi 3 Model B отсутствует привычный жесткий диск, поэтому «операционка» устанавливается на выносном носителе (карте памяти). Ее необходимо заранее подготовить и поставить.

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

Базовые параметры:

  • CPU: 64 бита 4 ядра. Тип - ARM Cortex-A53. Частота - 1,2 ГГц. Чип однокристаллический BCM2837;
  • Оперативка - один гигабайт LPDDR2 SDRAM;
  • цифровой HDMI-выход на видео;
  • аудио-выход на 3,5 мм (4 pin);
  • порты USB типа 2.0×4;
  • сетевое обеспечение - Wi-Fi11n, 10/100 мегабайт RJ45 Ethernet;
  • для подключения дисплея - Display Serial Interface (DSI);
  • блютуз - Bluetooth 4.1, Low Energy;
  • для подключения видеокамеры - MIPI Camera Serial Interface (CSI-2);
  • слот для MicroUSD;
  • 40 портов ввода-вывода;
  • размеры - 8,6*5,6*1,7 см.

Преимущества Raspberry Pi 3 Model B

Умный дом на базе Raspberry Pi 3 Model B имеет ряд неоспоримых плюсов:

  1. Наличие большого выбора интерфейсов, позволяющих максимально расширить возможности системы. Здесь предусмотрен блютуз, имеется Wi-Fi, порты HDMI и USB.
  2. Возможность подключения модема GSM для выхода на связь с оператором, предоставляющим услуги глобальной сети.
  3. Наличие мощного процессора с четырьмя ядрами на 1,2 ГГц, способного решать серьезные задачи.
  4. Полная совместимость новой и предыдущей версии.
  5. Компактность. Устройство имеет небольшие размеры, а весит всего 45 грамм.
  6. Доступность разгона. При желании доступно увеличение производительности системы.
  7. Легкость применения. Программирование Raspberry Pi 3 Model B можно осуществлять на разных языках.

Также стоит выделить ряд преимуществ умного дома, построенного на базе Raspberry Pi 3 Model B:

  1. Возможность обезопасить здание путем защиты от потопа, установки видеонаблюдения, создания противопожарной и охранной систем.
  2. Установка систем, повышающих комфорт. Речь идет об электрических приборах, а также специальных устройствах, управляющих шторками.
  3. Возможность инсталляции системы, обеспечивающей дополнительную экономию. Применяются сенсорные смесители, датчики движения, а также датчики, фиксирующие перемещение человека или животных.
  4. Доступность инсталляции развлекательных специальных систем. К примеру, к умному дому на Raspberry Pi 3 Model B можно подключить мультирум или домашний кинотеатр.

Для полноты картины стоит учитывать и ряд минусов, характерных для умного дома на Raspberry Pi 3 Model B:

  1. Монтаж таких устройств подойдет для крупных особняков, расположенных вне черты города и имеющих большую площадь.
  2. Для установки нужно знать особенности и правила применения каждого из элементов. В крайнем случае, под рукой желательно иметь квалифицированного специалиста, готового в любой момент помочь в интересующем вопросе.
  3. Со временем умный дом, построенный на Raspberry Pi 3 Model B, устареет. По этой причине возможны трудности с поиском необходимых компонентов (в случае поломки).

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

Модули, которые можно использовать

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

  1. ВИДЕОКАМЕРА . Подключение этого модуля позволяет дополнить умный дом системой видеонаблюдения. Камера совмещается с операционной системой небольшого ПК Raspberry Pi 3 Model B. После установки устройства можно фиксировать видео в разрешении Full HD и делать фотографии с разрешением в 5 МП.
  2. ДАТЧИКИ ДЫМА И ВОДЫ . Установка этих модулей позволяет защитить имущество от пожара и протечки соответственно. Для владельцев больших домов это полезная опция, позволяющая избежать неприятностей. В случае задымления или потопа система оперативно информирует владельца о наличии проблем.
  3. ИЗМЕРИТЕЛЬ ТЕМПЕРАТУРЫ И ВЛАЖНОСТИ ВОЗДУХА . С помощью таких модулей можно превратить умный дом на базе Raspberry Pi 3 Model B в метеостанцию с подробными сведениями о ситуации за окном и внутри помещения.
  4. ДАТЧИК ДВИЖЕНИЯ . Подключение устройства позволяет автоматически включать и отключать свет в помещениях. Датчик движения полезен на улице, в гараже, в коридоре и других нежилых помещениях.
  5. МОДУЛЬ БЕСПРОВОДНОЙ СВЯЗИ . Для объединения внешних устройств и контроллера можно использовать приемник и передатчик, работающие на частоте 433 Гц. При наличии средств можно купить более прогрессивный вариант устройства - Z-Wave Fibaro Home Center

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

Первые настройки и подготовка к работе

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

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

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

Есть и другие решения.

Для первого пуска потребуется карта памяти, с установленной на нее операционной системой. Минимальный размер флешки должен быть от 4 Гб и более. Образ ОС доступен в Интернете (ссылка на скачивание ниже). Также потребуется программа Win32 Disc Imager.

После скачивания образа на ноутбук его необходимо распаковать из архива, после чего вставить карту памяти в кардридер. Далее запускается уже установленная программа Win32 Disc Imager.

Как только работа завершена, с помощью программы выбирается образ и записывается на флеш-накопитель.

Сборка системы умный дом

Во избежание проблем приведем подробную инструкцию по сборке системы и подготовки ее к работе. Алгоритм действий имеет следующий вид:

  1. Вход на официальный сайт устройства Raspberry Pi 3 Model B и скачивание требуемой версии ОС.
  2. Покупка и форматирование карты памяти Micro SD. Загрузка на ее образа ОС.
  3. Установка карты в разъем материнской платы для установки ОС.

На этом настройка Raspberry Pi 3 Model B завершена.

  1. Инсталляция Node JS. Прохождение этого этапа потребуется для полноценной работы NodeMCU ESP-12E.
  2. Установка Homebridge и настройка автоматического пуска с Root-правами (устройство должно запускаться после включения Raspberry Pi 3 Model B).
  3. Подключение внешних модулей по специальной схеме.

После завершения указанных работ необходимо зайти в мобильный телефон и открыть приложение Home. После этого стоит добавить платформу Raspberry Pi.

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

Это лишь часть возможностей умного дома на Raspberry Pi 3 Model B, которые получает владелец.

Перейдя посылке можно ознакомиться с полной .

Что может получиться смотрите на видео.

Итоги

Умный дом на базе Raspberry Pi 3 Model B - удобная альтернатива уже существующих и более дорогостоящих устройств. Особенность платформы заключается в компактности, возможности расширения функционала и небольшой цене. К ней можно подключить разные внешние модули, не переживая о проблемах с совместимостью.

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

Перечень достижений человека постоянно пополняется новыми разработками. Выдающейся можно назвать разработанную человеком популярную сегодня опцию «Умный дом» на мини-компьютере 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 3 по сравнению с ранее выпущенными версиями

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

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

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

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

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

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

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

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

Контроллеры заготовлены, датчики развешаны, провода затянуты. Дело за малым - выбрать «мозг» умного дома. Устройство, которое сможет решать ряд задач по управлению всеми умными функциями. Конечно, есть Arduino Tian или . Но есть и монстры микрокомпьютерного мира вроде чрезвычайно популярного Raspberry Pi, который способен на все, что требуется от современного интеллектуального жилища.

В чем отличия Raspberry Pi от Arduino

Прежде всего, стоит оговориться, что Arduino - это не компьютер, а Raspberry Pi - не микроконтроллер. С этими двумя терминами постоянно возникает путаница.

Это плата с электрической «обвязкой» и контроллером ATmega. Она позволяет работать с цифровыми и аналоговыми входами/выходами на очень низком уровне, не имеет операционной системы как таковой и выполняет загруженный в нее код непрерывно. Arduino потребляет смешное количество электроэнергии и может месяцами работать от блока пальчиковых батареек при условии отсутствия значительной нагрузки. Но реальной вычислительной мощности у Arduino крайне мало, а реализовывать многие функции и протоколы приходится с нуля.

Raspberry Pi - это уже целый компьютер на одной плате, имеющий на борту вместо микроконтроллера SoC (Систему на кристалле) на базе архитектуры ARM, прямо как в современных мобильных устройствах. «Малина» может работать под управлением различных дистрибутивов ОС Linux или Windows 10 IoT. Она имеет множество распаянных пинов GPIO (ввода/вывода), обращаться к которым можно при помощи готовых библиотек. И, в отличие от Arduino, программы здесь запускаются внутри ОС и работают с пинами уже через программную прослойку. В большинстве случаев это абсолютно не мешает создавать простые схемы, но иногда может оказаться критичным. Важно отметить, что у Raspberry Pi нет аналоговых пинов, зато цифровых - хоть отбавляй.

Новая облачная «Малина»
Старая «Малина»

Что умеет Raspberry Pi

Существует несколько версий компьютера: первого, второго и третьего поколения, а также мини-версия Zero. К нам на обзор попала старшая модель Raspberry Pi 3 Model B в составе набора «Малина» от наших друзей из «Амперки».

Технические характеристики модели третьего поколения:

  • 4-ядерный 64-битный процессор Broadcom BCM2837 1,2 ГГц;
  • 1ГБ ОЗУ;
  • Wi-Fi и BT LE модуль BCM43438;
  • 4 USB порта стандарта 2.0.

Это позволяет не только установить на одноплатный компьютер полноценную ОС с графическим интерфейсом, но и подключить его к FullHD монитору и использовать в качестве рабочего ПК, а также запускать на нем, например, Quake III.

Набор «Малина» от «Амперки»

Для успешной работы Raspberry Pi потребуются несколько комплектующих:

  • сама плата;
  • блок питания 5В micro-USB;
  • HDMI-кабель для подключения монитора;
  • microSD карта памяти, на которую будет установлена ОС.

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

В комплекте имеется красочное 88-страничное руководство, дающее базовое представление о самом компьютере, штатной ОС Raspbian, основах работы с командной строкой и файловой системой Linux, а также написании кода на Python. Python - относительно простой объектно-ориентированный язык программирования, который снискал немалую популярность на платформе Raspberry Pi. Руководство из набора научит основам синтаксиса и работе в IDE Thonny.

Плата с расширением для экспериментов

« » - это прокачанная версия набора « ». Если в «Матрешке» с Arduino было много очень простых экспериментов с базовыми электрическими элементами вроде конденсаторов и светодиодов, то в «Малине» главенство отдано интеграции с интернет-сервисами. Предлагаемые «Амперкой» эксперименты помогут поднять свой веб-сервер и написать небольшой сайт для управления пинами платы. Комплектная текстолитовая плата в форме облачка с кнопками и светодиодами в этом обязательно поможет.

А дальше начинается самое интересное. Вторая половина книжки подскажет, как создать бота в «ВКонтакте» и подключить его к Raspberry Pi, чтобы плате можно было отдавать команды прямо из соц. сети. А затем предлагается настроить на Raspberry торрент-качалку и написать к ней веб-интерфейс для управления, например, с телефона, подключенного к домашнему Wi-Fi.

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

Raspberry Pi для умного дома

Умельцы уже приспособили Raspberry Pi для множества задач помимо использования в качестве рабочей машины. Из него можно сделать Wi-Fi роутер или даже собственную цифровую АТС. Правда, и в том, и в другом он будет уступать специализированным аналогам, но сильная сторона «Малины» - в возможности создавать что-то свое. И нам интересно прежде всего, как его можно использовать для создания умного дома.

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

Как обычно, руководства у «Амперки» на высоте

В первом случае вся работа ложится на собственные пины Raspberry Pi. Отсутствие аналоговых пинов компенсируется наличием недорогих цифровых датчиков вроде ds18b20 или использованием специальных ADC плат расширения. Среди стандартных пинов (см. схему ниже) можно найти контакты с ШИМ, I²C, SPI и UART. Таким образом, к плате можно подключить большинство современных датчиков, а также управлять цепями через силовые ключи или блоки реле. Создавать решения для умного дома на Raspberry Pi довольно просто, тем более что в плату уже встроено множество полезных инструментов, например WiFi модуль.

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

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

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

Заключение

Не стоит забывать, что Raspberry Pi - устройство для энтузиастов. И именно в этом его сильная сторона. Задавшись целью разобраться, с помощью этого микрокомпьютера можно собрать множество интересных решений, и не только для умного дома. А встроенные сетевой интерфейс и WiFi модуль позволяют легко подключить плату к локальной сети или Интернету. Удобно, что наборы вроде « » от «Амперки» уже включают все необходимое, в том числе грамотное руководство, позволяющее легко познакомиться с основами работы с Raspberry Pi.

В сложных схемах на помощь могут прийти платы-аналоги Arduino, например семейства ESP: 8266 или 32. Компактные, быстрые, со встроенным WiFi. О них мы обязательно расскажем в одном из следующих материалов.

А вы уже начали делать свой умный дом? Или только собираетесь? Поделитесь своими проектами в комментариях.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter .



Рекомендуем почитать

Наверх