Оглавление:
- Шаг 1. Вещи, которые вам нужны
- Шаг 2: подготовьте Raspberry Pi к частоте 433 МГц
- Шаг 3. Настройте сервер умного дома
- Шаг 4: Настройка клиентов
- Шаг 5: Заключение
Видео: Умный дом от Raspberry Pi: 5 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:47
Уже существует несколько продуктов, которые делают вашу квартиру умнее, но большинство из них являются собственными решениями. Но зачем вам подключение к Интернету, чтобы включать свет с помощью смартфона? Это была одна из причин, по которой я создал свое собственное решение «Умный дом».
Я запрограммировал серверное приложение, работающее на Raspberry Pi. Это проект с открытым исходным кодом на основе Java, который позволяет вам настроить вашу квартиру и подключить несколько клиентов и «управляемые устройства». Я показываю решение, которое обрабатывает переключатели питания RC, воспроизводит музыку и видео на Raspberry Pi, показывает состояние на интеллектуальном зеркале и может управляться приложением для Android и двумя приложениями Pebble. Источник размещен на github
Шаг 1. Вещи, которые вам нужны
Для создания Умного дома вам понадобятся следующие «ингредиенты»
- Raspberry Pi не ниже модели 2 B
- Отправитель 433 МГц, примерно так
- 3 соединительных кабеля, соединяющих Raspberry Pi и отправителя
- Некоторые разъемы для радиоуправления на 433 МГц
- Смартфон Android для запуска клиентского приложения
Кроме того, вы можете расширить Умный дом дополнительными клиентами и модулями, подобными этому.
- Умные часы Pebble
- Smart Mirror, см. Этот проект
- Светодиодная лента с управляемой частотой 433 МГц, см.
Шаг 2: подготовьте Raspberry Pi к частоте 433 МГц
В следующих шагах вам понадобится доступ к командной строке Raspberry Pi. Чтобы получить доступ, вы можете прочитать эту инструкцию
Подключите отправитель 433 МГц к Raspberry Pi, как показано на рисунке выше.
- GND (отправитель) 6 GND (распи)
- VCC (отправитель) 2 + 5V (распи)
- ДАННЫЕ (отправитель) 11 GPIO 17 (распи)
Также подключите 17-сантиметровую антенну к контакту ANT (отправитель). Это значительно увеличивает сигнал.
Поскольку нам нужны библиотеки из других репозиториев git, мы должны установить git
sudo apt-get install git-core -y
Чтобы настроить Raspberry Pi для связи 433 МГц, нам понадобится библиотека Pi для подключения для лучшей обработки GPIO.
git clone git: //git.drogon.net/wiringPi
cd wiringPi./build
Затем нам понадобится библиотека, которая обычно реализует протоколы питания RC.
git clone git: //github.com/dabastynator/rcswitch-pi.git
cd rcswitch-pi сделать cp send / usr / bin /
Исполняемый файл send позволяет отправлять коды для переключения большинства доступных источников питания.
В моей настройке Умного дома у меня также есть светодиодная лента с радиоуправлением, описанная в этом руководстве: https://www.instructables.com/id/RC-controlled-LED … Чтобы установить цвета для этой светодиодной ленты, вам понадобится другой исполняемый файл отправки, который позволяет вам для отправки любого целочисленного значения (кодирует цвет).
Поэтому скомпилируйте sendInt.cpp в репозитории rcswitch-pi и переместите его в / usr / bin / sendInt.
sudo g ++ sendInt.cpp -o / usr / bin / sendInt /home/pi/rcswitch-pi/RCSwitch.o -I / home / pi / rcswitch-pi -lwiringPi
Теперь вы должны иметь возможность отправлять команды rc с двумя исполняемыми файлами / usr / bin / send и / usr / bin / sendInt.
Шаг 3. Настройте сервер умного дома
Прежде всего вам необходимо установить несколько пакетов. Приложение Smart Home основано на java и отлично работает с openjdk-11. Я не уверен в других средах выполнения Java. Mplayer - это минималистичный музыкальный проигрыватель с командной строкой. Omxplayer использует графику Raspberry Pi для кодирования видео, поэтому его следует использовать для видео. Программа ant необходима для сборки Java-приложения.
sudo apt-get установить mplayer omxplayer openjdk-11-jdk ant -y
Каталоги установки для файла jar и журналов.
судо mkdir / opt / neo
sudo chown pi: pi / opt / neo mkdir / home / pi / журналы
Настройте сценарий запуска для автоматического запуска приложения при загрузке. Поэтому скопируйте прикрепленный сценарий smart-home в каталог /etc/init.d/. Я также создал сценарий в / usr / bin /, который передает команды прикрепленному сценарию, поэтому я просто ввожу smart-home в консоль для выполнения команд..
sudo cp умный дом /etc/init.d/smart-home
sudo chmod + x /etc/init.d/smart-home sudo sh -c "echo '#! / bin / bash'> / usr / bin / smart-home" sudo sh -c "echo '/ etc / init. d / smart-home / $ 1 '>> / usr / bin / smart-home "sudo chmod + x / usr / bin / smart-home sudo update-rc.d значения по умолчанию для умного дома
Пришло время проверить репозиторий и собрать приложение. Если вы не хотите компилировать его самостоятельно, вы можете просто загрузить прикрепленный smarthome.jar и переместить его в / opt / neo /
git clone [email protected]: dabastynator / SmartHome.git
ant -f SmartHome / de.neo.smarthome.build / build.ant build_remote cp SmartHome / de.neo.smarthome.build / build / jar / * / opt / neo /
Попробуйте запустить умный дом и проверьте файл журнала. Чтобы получить доступ к GPIO, приложение должно быть запущено с помощью sudo.
sudo начало умного дома
журналы кошек / smarthome.log
Вы должны увидеть сообщение об ошибке "Файл конфигурации не существует", которое указывает нам на следующий шаг. Репозиторий содержит файл readme, который объясняет файл конфигурации. Вы можете увидеть, как это красиво отрисовано на github:
Скопируйте этот xml в /home/pi/controlcenter.xml, затем установите местоположение для вашего медиа-сервера и измените содержимое по своему усмотрению. После того, как вы закончили настройку и перезапустили умный дом (sudo smart-home restart), вы должны увидеть следующее содержимое в smarthome.log
24.05-08: 26 УДАЛЕННАЯ ИНФОРМАЦИЯ от de.neo.smarthome.cronjob. CronJob@15aeb7ab: Запланировать задание cron
24.05-08: 26 УДАЛЕННАЯ ИНФОРМАЦИЯ от [trigger.light]: Ожидание 79391760 мс для выполнения 24.05-08: 26 ИНФОРМАЦИЯ RMI от добавления веб-обработчика (5061 / ledstrip) 24.05-08: 26 ИНФОРМАЦИЯ RMI от добавления веб-обработчика (5061 / action) 24.05-08: 26 ИНФОРМАЦИЯ RMI от Add web-handler (5061 / mediaserver) 24.05-08: 26 RMI INFORMATION by Add web-handler (5061 / switch) 24.05-08: 26 ИНФОРМАЦИЯ RMI от Add web-handler (5061 / controlcenter) 24.05-08: 26 ИНФОРМАЦИЯ RMI от Start webserver с 5 обработчиком (localhost: 5061) 24.05-08: 26 УДАЛЕННАЯ ИНФОРМАЦИЯ от Controlcenter: Добавьте 1. блок управления: MyUnit (xyz)…
Веб-сервер запущен:-)
Шаг 4: Настройка клиентов
Клиент Android для смартфона
Репозиторий git для приложения умного дома также содержит исходный код для клиента Android, так что вы можете скомпилировать его самостоятельно. Но я прикрепил APK для этого шага, это упростило задачу. При первом запуске приложение запрашивает сервер, как на первом изображении выше. Введите URL-адрес сервера и токен безопасности.
Так и должно быть. Теперь у вас есть доступ к серверу и вы управляете своей квартирой, проигрываете музыку и смотрите видео удаленно на Raspberry Pi. Обратите внимание, что вы можете добавлять виджеты на домашний экран, что делает переключатели и управление музыкой более доступными.
Клиент Smartwatch Pebble
Исходный код для двух клиентов Pebble размещен на github. Одно приложение показывает текущий проигрываемый музыкальный файл: https://github.com/dabastynator/PebbleRemoteMusic… Это также позволяет приостанавливать / воспроизводить и увеличивать / уменьшать громкость.
Второе приложение запускает три действия: https://github.com/dabastynator/PebbleControl Имена триггеров: mobile.come_home mobile.leaving и mobile.go_to_bed. Если вы определяете правила событий для этого триггера в файле конфигурации-xml, вы запускаете их по часам.
Это все с открытым исходным кодом, но вам не нужно компилировать его самостоятельно, я также прикрепил приложения pebble. Загрузите PBW на свой смартфон, ваш телефон должен установить их на ваши часы. Приложениям Pebble нужны настройки для взаимодействия с сервером. Прикрепил скриншот, как выглядят мои настройки.
Клиент SmartWatch Garmin
Также доступен клиент для умных часов Garmin. Приложение доступно в магазине приложений garmin connect и может быть установлено здесь:
apps.garmin.com/en-US/apps/c745527d-f2af-4…
Клиент Smart Mirror
Я уже создал инструкции, объясняющие, как создать Smart Mirror, см. Https://www.instructables.com/id/Smart-Mirror-by-R…. Исходный код также размещен на github: https:// github.com/dabastynator/SmartMirror. Программное обеспечение Smart Mirror считывает конфигурацию из файла smart_config.js, который не является частью репозитория git. Содержимое файла конфигурации должно выглядеть следующим образом:
var mOpenWeatherKey = 'ваш-открытый-ключ-погода';
var mSecurity = 'ваш-токен-безопасности';
Вам также необходимо настроить первые две строки файла smart_mirror.js, чтобы указать IP-адрес сервера Smart Home и местоположение, чтобы получить правильную погоду.
Больше клиентов
Серверное приложение - это простой веб-сервер. Это позволяет вам запускать действия от любого клиента, который вы хотите, с помощью простых веб-вызовов. В демонстрационном видео я показываю программу задач для Android в сочетании с AutoVoice. Это позволяет мне запускать события с помощью простых голосовых команд. Например, "Окей, Google, пора спать" может вызвать mobile.go_to_bed. Но вы также можете делать веб-звонки, например, из IFTTT. Как насчет мигающей желтой светодиодной ленты для уведомлений по электронной почте?
Вы можете запросить сервер о возможных веб-вызовах, например, по следующим ссылкам (замените ip, порт и токен своей конфигурацией)
localhost: 5061 / controlcenter / api? token = secu…
localhost: 5061 / action / api? token = security-to…
localhost: 5061 / mediaserver / api? token = securi…
localhost: 5061 / switch / api? token = security-to…
localhost: 5061 / ledstrip / api? token = security-…
Шаг 5: Заключение
Есть еще некоторые функции, которые нужно реализовать: Поскольку сервер предоставляет только простой веб-API, клиенты выполняют много опросов. Чтобы уменьшить количество опросов, мне нужна интеграция MQTT для лучшего уведомления. Кроме того, блоки питания Wi-Fi должны работать более надежно, чем блоки питания RC, поскольку RC - это только односторонняя связь.
Разработка этого проекта доставляет массу удовольствия. А управлять квартирой с нескольких устройств - это круто, даже если интернет не работает.
Рекомендуемые:
Как сделать умный дом с помощью модуля реле управления Arduino - Идеи домашней автоматизации: 15 шагов (с изображениями)
Как сделать умный дом с помощью модуля реле управления Arduino | Идеи домашней автоматизации: в этом проекте домашней автоматизации мы разработаем релейный модуль для умного дома, который сможет управлять 5 бытовыми приборами. Этим релейным модулем можно управлять с мобильного телефона или смартфона, ИК-пульта дистанционного управления или пульта дистанционного управления телевизором, ручного переключателя. Это интеллектуальное реле также может определять р
Умный дом с Arduino: 11 шагов (с изображениями)
Умный дом с Arduino: Здравствуйте, я покажу вам, как построить собственный умный дом. Он показывает температуру как внутри, так и снаружи, если окно открыто или закрыто, показывает, когда идет дождь, и подает сигнал тревоги, когда датчик PIR обнаруживает движение. Сделал приложение на андроиде, чтобы
Умный будильник: умный будильник на Raspberry Pi: 10 шагов (с изображениями)
Умный будильник: умный будильник на Raspberry Pi: вы когда-нибудь хотели умные часы? Если да, то это решение для вас! Я сделал Smart Alarm Clock, это часы, в которых вы можете менять время будильника в соответствии с веб-сайтом. При срабатывании будильника раздастся звуковой сигнал (зуммер) и загорятся 2 лампочки
Raspberry Pi - Умный дом: 5 шагов
Raspberry Pi - Умный дом: проект Raspberry Pi Smart House оснащен множеством различных функций, которые позволяют пользователю отслеживать свой дом из любого места (конечно, с Интернетом!) На любом компьютере / мобильном устройстве. Возможности Умного дома позволяют пользователю т
Самый дешевый умный дом за 38 долларов: 8 шагов (с изображениями)
Самый дешевый умный дом за 38 долларов: слышали ли вы о новом Raspberry Pi Zero? При цене всего 5 долларов (или 10 долларов за версию W) он производит революцию в умном доме, делая его дешевле, чем когда-либо, и доступным для любого бюджета. Еще одна часть того, чтобы сделать умный дом более доступным, - это подключение