Умный дом на raspberry

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

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

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

Arduino — это плата с электрической «обвязкой» и контроллером 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. О них мы обязательно расскажем в одном из следующих материалов.

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

Этот обзор будет посвящен аппаратной платформе на базе одноплатного компьютера Raspberry Pi 4B, которую я собрал для сервера управления умным домом Home Assistant. Я расскажу полностью о всех ее частях, вплоть до выбора кабеля питания, а о установке операционной системы и сервера Home Assistant — можно будет узнать из видеоурока на моем канале youtube

Ссылки на все компоненты показанные в обзоре —

  • Raspberry Pi 4 Модель B 4GB — цена на дату публикации $ 59.87
  • Корпус — цена на дату публикации $ 12,72
  • EMMC to microSD — цена на дату публикации $ 26.32 за 32 Гб
  • Кабель — цена на дату публикации $ 2.39 за вариант из обзора

Raspberry Pi 4B

Начну с главного — с одноплатника. На сегодняшний день существует 3 версии, отличающиеся объемом оперативной памяти, 1, 2 и 4 GB. Я выбрал максимальную версию — на 4 GB, сэкономить несколько долларов на более легких версиях не видел смысла.

В базовой поставке имеется только одноплатник размером 88 x 58 мм и инструкции, все остальные компоненты, про которые я расскажу далее, нужно покупать отдельно.

Сердцем устройства является 64х разрядный, 4х ядерный процессор Broadcom BCM2711, частотой 1,5 ГГц, графический процессор VideoCore VI с OpenGL ES 1.1, 2.0, 3.0 Как я уже сказал — в моей версии установлено 4 GB оперативной памяти. Одноплатник оснащен интерфейсами CSI и DSI для подключения камеры и дисплея, а также 40 пиновым разъемом GPIO

Разъем питания — в формате USB Type C, что облегчает покупку кабеля, к которой нужно отнестись внимательно — устройство достаточно мощное. Разъемов для видео — теперь два, в формате microHDMI (до 4Kp60). Так же имеется композитный 3.5 jack для вывода звука/видео

Четыре порта USB, два из которых стандарта 3.0 и гигабитный порт Ethernet, беспроводные коммуникации представлены двухдиапазонным Wi-Fi адаптером (2.4GHz / 5GHz) стандарта IEEE 802.11 b/g/n/ac, и Bluetooth 5.0 BLE

Встроенной памяти, к сожалению, в устройстве нет, штатный способ установки носителя — слот формата micro SD. На данный момент, напомню, поддержки загрузки с USB — нет. Хотя можно использовать карту памяти только для загрузки, а операционную систему устанавливать на внешний диск, либо, так поступил я, использовать EMMC память с разъемом под micro SD

Мой личный опыт, показывает, что корпус и охлаждение лучше совмещать, это весьма эффективно, к тому же позволяет обходится без активных элементов — вентиляторов. Такой корпус я и приобрел для своей платформы. Цвет выбрал черный, он лучше смотрится в моих условиях.

Этот вариант корпуса — полностью закрытый, сделан из металла, отверстия имеются только для интерфейсных разъемов.

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

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

Благодаря специальным выступам совпадающих с отверстиями на плате миникомпа — он отлично фиксируется на одном месте

Вид со стороны Ethernet и USB портов — все совпадает с точностью до миллиметра.

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

Стоит ли говорить о том, что в этом случае тоже все совпадает идеально.

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

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

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

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

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

Теперь мини компьютер в сборе и почти готов к установке операционной системы и сервера умного дома

EMMC to micro SD

Вместо ненадежной карты памяти, я приобрел более надежный модуль EMMC с адаптером для установки в слот micro SD. Упакован он был во много слоев пузырьковой пленки.

Модуль памяти и адаптер под micro SD — сделаны раздельно, в комплекте еще есть пара крепежных винтов, правда они мне не пригодились

Соединяются они между собой через 20 контактный разъем, на модуле с памятью есть наклейка где указан его объем

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

Еще один момент, для записи на этот модуль нужно иметь внешний USB картридер. У меня нашелся вот такой, все подошло замечательно.

Через встроенный в ноутбук картридер — увидеть память не получилось. C USB — все отлично.

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

Кабель питания

Я не поленился купить и отдельный кабель питания для одноплатника, обратившись к многократно проверенному производителю — Ugreen

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

Я специально выбрал вариант с Г образным разъемом, кстати точно такие же кабеля но micro USB используется у меня для 3х версий raspberry

В случае с USB Type C — все гораздо удобнее, так как разъем симметричен и может подключаться любой стороной.

Например если нужны разъемы micro HDMI — то его можно развернуть его таким образом

Я их не использую поэтому развернул кабель в сторону Ethernet и USB портов.

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

Видеоверсия обзора

«Умный дом» — система, которая позволяет контролировать всё: от включения света или отопления щелчком пальцев до активации систем имитации присутствия.
Работа систем управления основана на датчиках и контроллерах, которые реагируют на тепловую энергию, шум и движения. К ним относятся датчики движения, включающие свет или открывающие двери, удаленное включение отопления и т.п.
Можно приобрести готовые системы, которые представлены у разных брендов, а можно самостоятельно собрать систему-конструктор, которая будет работать на том или другом ядре. Один из довольно доступных вариантов — система, построенная на базе 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 раза превышает их количество в предшествующей модели.
Этот мини-компьютер прекрасно подойдет в качестве ядра системы «Умный дом».
В качестве операционной системы можно использовать Raspbian, основанную на ядре Linux, вместе с такими расширениями, как Pimatic. Еще проще собрать «умный дом» можно с помощью комплексных программно-аппаратных решений на «открытой платформе», например openHAB, Fhem, SHC (SmartHome Control) или wiButler.
Модули Smart Home для Raspberry Pi
Построение системы «умный дом» на Raspberry Pi имеет смысл только тогда, когда с ее помощью можно управлять различными устройствами, а для этого необходимы соответствующие модули.
Так как Raspberry Pi — популярный продукт для любителей мастерить, в продаже имеется огромный выбор модулей для Smart Home. Вот некоторые из них.
433 МГц — приемник и передатчик для Raspberry Pi
Частота 433 МГц часто используется в компонентах доступных систем Smart Home, например, переключателях и термостатах радиаторов отопления, которые можно найти в строительных магазинах.
Контроллер Z-Wave Fibaro Home Center 2
Такие передатчики и приемники идеально подходят для установки в систему «умный дом», построенную на Raspberry Pi. Бандл из этих двух модулей можно легко приобрести примерно за 600 рублей.

Модуль камеры для Raspberry Pi
Камера: снимает в разрешении Full-HD
С подключенным модулем камеры Raspberry Pi можно использовать в качестве системы видеонаблюдения.
Камера совместима с операционной системой Raspbian, она способна записывать видео в разрешении Full HD и делать 5-мегапиксельные фотографии.
Этот модуль доступен как с инфракрасным фильтром, так и без него по цене от 2000 рублей.
Датчик движения для Raspberry Pi
Если вы хотите, чтобы лампы освещения и другие электронные устройства (например, камера) включалось при появлении движения в какой-то области вашего дома, понадобится датчик движения, подключенный к системе умного дома.
Особенно привлекательным по цене является упаковка из пяти «пироэлектрических инфракрасных PIR датчиков движения».
Этот пакет стоит около 480 рублей.
Датчик влажности и температуры воздуха для Raspberry Pi
Функционал метеостанции относится к базовому для Smart Home. Получать и обрабатывать метеоданные с помощью Raspberry Pi очень легко. Вам понадобится всего лишь один дешевый датчик, который вы подключите к мини-компьютеру: идеально подойдет DHT11, который стоит менее чем 600 рублей.

Модуль для Raspberry Pi: измеряет температуру и влажность воздуха.
Модуль Enocean для Rapsberry Pi
Enocean — это беспроводная технология, которая обходится без источника питания. Суть вот в чем: энергия, необходимая для совершения того или иного действия, возникает из-за изменения состояния (нажатие на кнопку, разница температур, появление солнечного света, дуновение ветра и т. д.).

Соответственно, часто сопутствующими модулями являются переключатели или датчики температуры.
Чтобы управлять устройствами с помощью технологии Enocean через Rapsberry Pi, вам понадобится подходящий модуль, приобрести который можно всего за 3600 рублей.
Пожарная сигнализация для Raspberry Pi
Часто система умного дома используется для повышения уровня домашнего комфорта, но одной из важных функций может стать и защита жилища. Помимо охранной сигнализации и камер видеонаблюдения можно установить датчики дыма и протечки воды.

С помощью датчика дыма, который стоит всего 500 рублей, вы построите собственную пожарную сигнализацию. Однако при конструировании такой важной охранной части «умного дома» вы должны дважды проверять надежность работы системы.
Модуль Homematic для Rapsberry Pi

CCU2Homematic является одной из самых популярных систем Smart Home в Европе. Для взаимодействия всех ее компонент, как правило, необходим центральный модуль управления CCU2 (MATIC Home Gateway).
Теперь вы можете соединить соответствующий модуль беспроводной связи с Raspberry. Один из таких, от компании ELV, стоит около 1700 рублей.
Для Rapsberry Pi существуют еще множество других модулей, например, для работы с беспроводными стандартами Z-Wave и Zigbee.
С представленными модулями можно построить многофункциональную систему Smart Home, причем при желании можно строить ее постепенно, подключая дополнительные возможности по мере необходимости.

2) Прописать статические настройки в системе. Для этого редактируем файл /etc/network/interfaces(это делается командой sudo nano /etc/network/interfaces)

В файле находим строку, которую меняли при настройке wifi, а именно

«iface wlan0 inet manual»

и меняем manual на static, а сразу после этой строки дописываем

«address 192.168.123.254 # ip-address

netmask 255.255.255.0 # маска подсети

network 192.168.123.0 # подсеть

broadcast 192.168.123.255 #широковещательный адрес

gateway 192.168.123.1 # шлюз»

Я, тем не менее, рекомендую вам использовать первый метод, так как он практически исключает возможность конфликта адресов в сети.

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

Если вы захотели посидеть за вашим компьютером, то подключитесь к Raspberry Pi по SSH. В линуксовых системах введите команду ssh pi@192.168.1.231(Вместо него статический ip, который вы дали микрокомпьютеру. В windows скачайте ssh-клиент PUTTY(или какой-нибудь другой) и подключитесь подобным образом к Raspberry Pi.

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

Для поддержки NTFS необходимо установить пакет ntfs-3g. Для этого в консоли набираем команду:

sudo apt-get install ntfs-3g

Создаем каталог, в который будем монтировать наш USB HDD

sudo mkdir /mnt/usbdrive

Устанавливаем права на запись на этот каталог

sudo chmod 777 /mnt/usbdrive

Прописываем в конец файла /etc/fstab команду авто монтирования нашего USB HDD:

/dev/sda1 /mnt/usbdrive ntfs-3g defaults,rw 0 1

Перезагружаем устройство:

sudo reboot

После перезагрузки вы сможете увидеть все файлы с диска, зайдя в папку /mnt/usbdrive

Установим драйвер звуковой карты:

sudo apt-get update

sudo apt-get install alsa-utils -y

sudo modprobe snd_bcm2835

sudo amixer cset numid=3 1

В самый конец файла /etc/modules добавим строку snd_bcm2835

Проверим звук. Не забудьте воткнуть наушники/колонки

Скачаем аудиофайл с интернета:

sudo apt-get install mplayer -y

mplayer 7128

Как вы можете слышать, звук не очень качественный. Объясняется это тем, что звуковая карта Raspberry Pi работает по очень своеобразной схеме: вместо стандартного преобразователя цифрового сигнала в аналоговый там установлен широтно-импульсный модулятор, управляемый непосредственно процессором. Эта технология значительно уступает обычной по качеству. Выход — подключение внешней audio карты.

Далее — настройка плеера. Я выбрал плеер mpd, поскольку им можно управлять практически с любого устройства, в частности с android смартфона.

sudo apt-get install mpd -y

Далее необходимо отредактировать файл конфигурации mpd( /etc/mpd.conf)

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

Оставьте комментарий