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

Добавил пользователь Дмитрий К.
Обновлено: 05.10.2024

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

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

    - $42.50 - $2.98 - $1.39 - $2.59 - $1.48x2 - $8.55 - $5.18
  • Провода

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

Установка Raspbian Jessie

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

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

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

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

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

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

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

Установка Homebridge

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

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

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

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

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

Подключение реле к Raspberry Pi

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

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

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

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

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

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

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

Как сделать Хаб для умного дома на основе Z-Wave и Raspberry Pi

В этой статье мы расскажем, как сделать надежную систему умного дома своими руками. Для этого подойдет радиопротокол Z-Wave и серверное ПО Z-Way. Хаб же создадим на основе легкодоступного одноплатника Raspberry Pi, модуля RaZberry и бесплатного софта.

Почему своими руками, когда есть универсальные софтверные хабы, которые поддерживают множество устройств с разными протоколами ( например, openHUB, Home Assistant, Domoticz, ioBrocker, где поддержка Modbus, ZigBee, Z-Wave, 1-Wire и других протоколов обеспечивается с помощью открытых модулей сторонних разработчиков)?

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

Z-Way — ПО для умного дома

Z-Way — ПО для умного дома

Контроллер Z-Way поддерживает любые устройства с Z-Wave и может работать как на мощном сервере, так и на встраиваемой системе. Преимущество Z-Way в возможности добавлять новые протоколы с помощью модулей, написанных на C/C++, или приложений на JavaScript. Уже готовый софт для разных платформ, например, сборку для роутеров Zyxel и накопителей WD, вы найдете на сайте проекта.

Установка Z-Way на Raspberry Pi

Для работы Z-Way установим плату RaZberry в колодку GPIO Raspberry Pi. Плата занимает первые десять пинов, хотя использует только: 3,3 В, GND, RX, TX. Серверное программное обеспечение Z-Way можно установить на любое поколение Raspberry Pi.

Рассмотрим различные способы установки.

Минимальная установка. На последнем Raspbian скачиваем и ставим в систему пакет deb. При этом будет установлен только сервер Z-Wave без удаленного доступа.

Обычная установка. На последнем Raspbian запускаем установочный скрипт. Будет установлен сервер Z-Wave и активирован удаленный доступ.

Максимальная установка. Есть готовый образ системы c уже установленным сервером Z-Wave, активированным удаленным доступом и настроенным Wi-Fi в режиме точки доступа. Это самый простой и быстрый способ поднять полноценный хаб умного дома на Raspberry Pi.

Вот как записать образ на карточку, если у тебя Mac.

В Linux различается разве что команда монтирования. Но если возникнут сложности или у тебя Windows, то можешь воспользоваться сторонним софтом — например, Etcher.

Вверху отображается ID удаленного доступа

Вверху отображается ID удаленного доступа

Добавление беспроводных датчиков Z-Wave

После успешного запуска системы домашней автоматизации можно добавить пару датчиков Z-Wave и посмотреть, на что они способны. В моем распоряжении оказался датчик движения Philio PSP05, работающий от батарейки CR123A, и лампа RGBW Z-Wave.Me ZMR_LBA60 с цоколем E27.

Минимальный комплект для автоматизации освещения

Минимальный комплект для автоматизации освещения

Добавляем устройства

Добавляем устройства

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

Управление устройствами

Управление устройствами

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

Оглавление статьи: Raspberry Pi для управления Умным домом

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

дом

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

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

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

Умный дом

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

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

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

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

Raspberry Pi

На первых порах компания предложила два варианта — это модели A и B. Основное отличие — это количество памяти. В модели B это значение равно 512 Мб, а в модели A всего 256 Мб. Два этих девайса решили выпустить, потому что модель A имеет большое количество других плюсов. Например, наличие порта Ethernet, который имеет доступ в интернет. Но компания не остановилась на достигнутом, а развивала вторую версию.

Со временем модель B была обновлена: уменьшился размер, и на панели появилось 4 usb выхода, что в несколько раз больше, чем было до этого. Данное устройство стало пользоваться еще большей популярностью для разработки умных домов. Полная или частичная автоматизация большинства процессов в доме становится возможной при помощи небольшой платы. Бюджетная стоимость и многофункционально Распберри делает его лидером на рынке. Дополнительное преимущество, которое доступно не во всех моделях — это возможность модернизации в любой удобный момент. Для этого можно внедрить дополнительные элементы, которые позволяют не менять девайс целиком.

Raspberry

Состав блока

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

  • реле,
  • датчики,
  • память,
  • платформа NodeMCU ESP-12E,
  • сама плата Raspberry Pi 3.

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

Платформа NodeMCU — это готовое решение, которое поможет сократить время на производство. Вместо NodeMCU ESP-12E иногда можно применить Arduino. Сенсоры можно заменить или дополнить при необходимости.

Установка

Для начала работы нужно зайти на оф сайт и скачать самую последнюю версию операционной системы. Затем приступаем к форматированию карты в FAT и подключаем её. Для контроля подсоединяем экран и клавиатуру. Загрузка занимает несколько минут, а после нее следует приступить к главному этапу — настройкам. Нужно создать свой пароль и выбрать желаемые параметры: изменить хост и задать SSH. Для сохранения своих данных следует перезагрузить устройство.

Как система работает

Как система работает

По своему наполнению составляющие системы могут отличаться. Зачастую работа происходит благодаря основному звену — серверу. Роль центрально системного сервера играет raspberry pi 3. На нем устанавливается специальный интерфейс. Он помогает связаться с любым электронным девайсом: смартфон, планшет, компьютер или ноутбук.

ОС основана на Linux и имеет расширение Pimatic. Мини-компьютер связывается с датчиками через порт UART, к которому подключают переходник на RS-485. В современных моделях это уже включено в базовую комплектацию, что значительно экономит время при настройке.

Применяя открытую платформу, которая есть в свободном доступе не сложно собрать систему самостоятельно. Часто используются wiButler, SHC и openHab, но можно воспользоваться и другим вариантом.

Для любителей создавать другие варианты выбор модулей огромен для этой системы. Если хочется можно присоединить один любой. Популярный вариант обладает частотой 433 МГц. Он выступает как приемопередатчик.

Особые модули

Установка уже готовой Smart Home системы может стоить значительной суммы денег. Но можно сделать дополнительные модули самостоятельно.

Управление

Чтобы спецсистема работала с необходимой функциональностью, были разработаны специальные устройства. Что дает возможность собрать умный дом на raspberry pi 3 своими руками. Варианты модулей:

  • Камера. После подключения камеры вы получите полноценную систему видеонаблюдение. Пользователь всегда сможет посмотреть, что происходит в определенном помещении. Это устройство работает с этой операционной системой, что позволяет сделать качественные фотографии или записывать видео с максимальным расширением.
  • Температурный датчик, который совместим с raspberry. Он нужен для измерения температуры и влажности. После внедрения этого модуля система становится полностью автоматизированной и самостоятельно обрабатывает все метеоданные.
  • Противопожарный модуль и модуль от протечки воды. Первый поможет выявить наличие дыма, второй нежелательные протечки воды. Это необходимая система, которая позволит уберечь жилое помещение от неприятных ситуаций. Наиболее часто устанавливается в домах и коттеджах с большой площадью.
  • EnOcean — это модуль, который обладает беспроводной технологией, для объединения безбатарейных беспроводных устройств интернета вещей. Она обходится без дополнительно источника питания.
  • Датчик движения. Он используется для работы световых ламп (включение и выключение).

Сравнение Raspberry Pi 3 с более ранними моделями

Дом

Преимущества новой версии по сравнению с другими:

  1. Устройство имеет 4-x ядерный 1.2 ГГц процессор и 1 Гб ОЗУ. Модель Broadcom BCM2837.
  2. Усовершенствованные версии интерфейсов: Wi-Fi 802.11n и Bluetooth версии 4.1. Есть HDMI и несколько USB портов 2.0.
  3. Наличие GSM-модема, который позволит связаться с сетью, через мобильного оператора, который предоставляет услуги в интернет-доступе.
  4. Новая версия может быть совместима с остальными.

Советуем прочитать: об упрощенной версии платы Raspberry Zero W и о проектах, которые можно реализовать на её базе, а также отдельную обзорную статью о последней версии малинки Распберри Пи 4.

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

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

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

Raspberry Pi умный дом — не просто одна плата, а целый компьютер, который работает на различных ОС, таких как Windows 10 IoT или ОС Linux. Основное отличие от Arduino заключается в том, что программы запускаются внутри ОС и работают через программную прослойку. Но это никак не мешает создавать самые простые схемы.

При желании raspberry pi используется не только для управления, но и сделать из него Wi-Fi роутер или цифровую АТС.

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

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

Для того, что бы понять разницу нужно точно понимать, что Raspberry Pi не микроконтроллер, а Arduino не является компьютером.

Преимущества и недостатки Raspberry Pi 3

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

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

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

Raspberry Pi умный дом

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


В этой статье покажу как сделать из Raspberry pi устройство которое добавим в систему умного дома Tuya. Сделаем устройство с реле, которое будет управлять нагрузкой. Наверное это самое очевидное и полезное устройство.

И в первом же окне после того как залогинимся нажмем кнопку “Сreate” . Таким образом мы начнем создание нового устройства.


После того как нажали кнопку “Create” у нас откроется следующая страница в которой нужно выбрать пункт “Can’t find the category?”


И после этого откроется окно. В нем нужно будет дать название устройству, описание, Протокол работ и Тип работы. Под Raspberry pi выглядит следующим образом:


После того как все опишем и нажмем кнопку “Create” у Нас откроется окно настройки устройства. Тут на вкладке “Function definition” нужно описать “Custom Functions” – это функции которые будет выполнять наше создаваемое устройство. В моем случае мы создаем реле. Чтоб создать кастомные функции нажмем кнопку “+ Add”. Выглядит окно вот так:


Параметры для реле в Custom Functions где “DP Name” и “Indentifier” произвольные, выглядят следующим образом:


После этого переходим во вкладку “Device Panel” и там нужно выбрать стиль отображения в приложении Tuya на смартфоне. Тут даже есть свой редактор в котором можете сделать уникальный интерфейс. Но я для пробы решил так не заморачиваться, а выбрал стандартный вариант. Так-же забыл сказать, что нам нужно сохранить PID созданного устройства. Данный пид можно найти в верху под названием нашего устройства. Все описанное в этом абзаце показано на этом скрине.


Так-же здесь нужно нажать кнопку “Edit” и выбрать все так как показано на скрине:


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


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

После оплаты подождав минут 5, так как сразу эта кнопка не появится. В графе Purchase->Purchase у нашей купленой лицензии появится кнопка “Download license List” – это экселевский файл с Uidом и ключем, он нам понадобится как и Pid для работы со скриптом Rascpberry pi.


Ключ выглядит примерно так:


На этом с tuya cloud закончено. Теперь переходим на Raspberry pi.

Настройка Raspberry pi.

На Raspberry pi у меня установлен обычный образ Raspbian ну или как он сейчас называется Raspberry pi OS.

Здесь чтоб постоянно не вводить перед командами слово “sudo” я авторизовался сразу под админом командой “sudo -i”

Ну а теперь делаем следующее:

Эта команду скачает SDK для работы с облаком tuya и у Вас после окончания загрузки появится папка “tuyaos-link-python.git”


Следующей командой мы установим скаченный ранее SDK. Выполняем команду:

python3 -m pip install ./tuyaos-link-sdk-python


Теперь нам нужно отредактировать файл, который находится в tuyaos-link-python/examples/outlet.py Редактировать будем командой “nano” вводим:

nano tuyaos-link-python/examples/outlet.py

И откроется скрипт в котором нам нужно ввести PID, KEY и UID которые мы сохраняли ранее.


Но это еще не все. Теперь нам нужно добавить несколько строк кода, чтоб мы могли управлять реле. Весь отредактированный мной Python скрипт будет выглядеть вот так:

Все, далее сохраняем скрипт нажав Ctrl+X и нажав Y.

Теперь подключаем реле к GPIO19 Raspberry pi. Это вот этот пин:


Далее запускаем скрипт командой:

python3 tuyaos-link-python/examples/outlet.py

У нас запустится скрипт и откроется QR code. Этот QR код нужен для того чтоб добавить устройство в приложение Tuya на смартфоне.


Ну собственно на смартфоне сканируем QR код , произойдет добавление устройства:





Ну вот и все. Мы успешно добавили raspberry pi в tuya cloud и можем управлять малинкой из смартфона.

Также мы можем использовать малинку в сценариях и автоматизациях Tuya. Но к сожалению, в Home Assistant устройство появляется, но никаких объектов оно не имеет.

Демонстрация работы показана в видео:

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

Внешний вид проекта автоматизации дома на Raspberry Pi с управлением с веб-страницы

Ранее на нашем сайте мы рассматривали различные проекты автоматизации дома на основе платы Arduino:

Здесь же, на основе платы Raspberry Pi, появляется возможность реализовать более "продвинутый" проект автоматизации дома, чем указанные проекты на основе платы Arduino.

Внешний вид веб-страницы для проекта автоматизации дома

Необходимые компоненты

  1. Плата Raspberry Pi (купить на AliExpress).
  2. Реле на 5 В.
  3. Транзисторы 2n222.
  4. Диоды.
  5. Светодиоды (купить на AliExpress).
  6. Резисторы 220 или 100 Ом (купить на AliExpress).
  7. Электрические лампы переменного тока.
  8. Макетная плата.
  9. Соединительные провода.

Для данного проекта не понадобится код программы на python поскольку фреймворк WebIOPi сделает за нас всю работу.

Подготовка платы Raspberry Pi

Для подготовки платы Raspberry Pi к данному проекту необходимо будет установить фреймворк WebIOPi, который упростит взаимодействие между веб-страницей и платой Raspberry Pi. Данный фреймворк легче всего установить с помощью фреймворка Flask на python, но в данном проекте мы сделаем это вручную чтобы посмотреть "изнутри" как это выглядит.

Но вначале необходимо установить самые свежие обновления для платы Raspberry Pi и перезагрузить плату чтобы изменения вступили в силу:

После этого можно будет приступать к установке фреймворка (framework) WebIOPi. Но перед этим убедитесь, что вы находитесь в домашнем каталоге:

Используем wget чтобы загрузить необходимые нам файлы WebIOPi из сети интернет:

Когда скачивание завершится, извлеките файлы из архива и смените каталог на папку с WebIOPi:

Поскольку в данном проекте мы использовали плату Raspberry Pi 3 нам понадобилось установить специальный патч поскольку скачанная нами версия WebIOPi не могла должным образом работать с платой Raspberry Pi 3. Для установки данного патча мы использовали следующие команды:

После этого необходимо запустить процесс установки с помощью WebIOPi:

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

Тестирование WebIOPi

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

Выполните следующую команду:

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

После авторизации у вас откроется страница, показанная на следующем рисунке. Нажмите на ней на ссылку с GPIO header.

Главное меню WebIOPi

Для тестирования WebIOPi мы подключим к GPIO 17 светодиод и сконфигурируем GPIO 17 в качестве цифрового выхода.

Конфигурирование GPIO 17 в качестве цифрового выхода

Подключите светодиод с помощью токоограничивающего резистора к контакту GPIO 17 как показано на следующей схеме:

Схема для тестирования работы WebIOPi

После сборки этой схемы вернитесь снова на выше показанную страницу и нажимайте на кнопку напротив контакта 11 (GPIO 17) чтобы включать и выключать светодиод, подключенный к данному контакту. Таким образом можно проверить как осуществляется управление контактами GPIO платы Raspberry Pi с помощью фреймворка WebIOPi.

Если все работает нормально, вернитесь к терминалу и остановите выполнение программы нажав CTRL + C. После этого можно переходить к основной программе нашего проекта.

Разработка веб-приложения для нашего проекта автоматизации дома

В данном разделе мы будем изменять конфигурацию по умолчанию WebIOPi и добавлять в него свой собственный код чтобы он запускался при вызове этой службы. Первое дело, которое нам необходимо сделать, это установить filezilla или другое программное обеспечение, которое способно работать по FTP/SCP. Нам кажется, что вы уже прочувствовали, что программирование Raspberry Pi через терминал является достаточно нелегким делом, поэтому filezilla или другое программное обеспечение работающее через SCP, значительно облегчит нам работу на данном этапе.

Но перед тем, как переходить к написанию html, css и java кодов для нашего проекта автоматизации дома, давайте вначале создадим на компьютере папку, где все это будет храниться. Убедитесь, что вы находитесь в домашнем каталоге, после этого создайте в нем каталог с названием " webapp ", а в нем каталог с названием "html".

Читайте также: