Оглавление:
- Шаг 1. Что вам понадобится
- Шаг 2: Настройте розетки
- Шаг 3. Создайте учетную запись PubNub
- Шаг 4: подготовьте Raspberry Pi
- Шаг 5: Создание схемы
- Шаг 6: Получите коды RF
- Шаг 7: Запуск программы
- Шаг 8: Запуск при запуске
- Шаг 9: добавление дополнительных переключателей
- Шаг 10: Двигайтесь дальше
- Шаг 11: кредиты
Видео: Дешевая и эффективная домашняя автоматизация с Raspberry Pi: 11 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Я всегда хотел иметь возможность управлять освещением по беспроводной сети, но коммерческие варианты обычно дороги. Светильники Philips Hue стоят около 70 долларов, и светильники с подключением к Wi-Fi тоже дороги. Это руководство расскажет вам, как управлять до пяти огней / ламп / ниток рождественских огней примерно за 50 долларов, и его можно расширить, чтобы включить больше огней.
Шаг 1. Что вам понадобится
Материалы:
Raspberry Pi Zero W (беспроводная версия)
Карта Micro SD (минимум 4 ГБ)
Кабель / конвертер Mini HDMI в HDMI (есть разница между mini и micro, убедитесь, что выбрали правильный!)
Кабель / конвертер Micro USB в USB
USB-клавиатура
Примечание: у меня есть стартовый комплект Raspberry Pi Zero W от Amazon, который поставляется с Raspberry Pi Zero W, SD-картой, футляром, кабелем питания, конвертером HDMI и конвертером USB. Всего за 30 долларов это неплохой вариант (ссылка)
Вы можете использовать другую модель Raspberry Pi, но у Raspberry Pi должна быть какая-то форма подключения к Интернету, а Pi Zero W - самый дешевый вариант.
Удаленные розетки - я использовал эти
Радиочастотный передатчик и приемник (Примечание: частота передатчика / приемника должна совпадать с частотой удаленных розеток) - я использовал эти
Провод для антенны (я использовал сплошной медный провод 22 калибра, другой провод может подойти)
Макетная плата, перемычки, 40-контактный разъем типа папа-вилка
Программное обеспечение:
ОС Raspberry Pi (Загрузить рабочий стол Raspbian)
Изображение диска Etcher (для записи ОС Pi на SD-карту)
Инструменты:
Паяльник
Компьютер для загрузки Pi OS и Etcher
Шаг 2: Настройте розетки
Начните с подключения розеток к розетке. Следуйте прилагаемым инструкциям, чтобы установить их, и подключите свет / приборы. Убедитесь, что ваш пульт правильно спарен и управляет розетками.
Шаг 3. Создайте учетную запись PubNub
PubNub - это бесплатный интернет-сервер, который позволяет вам общаться между устройствами в любой точке мира. Сценарий python получает сообщения с веб-страницы и использует информацию в сообщении для включения или выключения света. Вы можете зарегистрировать свою бесплатную учетную запись здесь. После регистрации войдите в свою учетную запись. Вы попадете на страницу управления приложением. Щелкните «Создать новое приложение». Дайте вашему приложению имя, затем выберите его из списка приложений (если это ваше первое приложение, оно будет единственным). Это приведет вас на страницу ключей приложения. Щелкните «Demo Keyset», и вы должны увидеть три разных ключа. Держите эту страницу вверх, эти ключи понадобятся вам позже. Теперь, когда у вас есть учетная запись PubNub, вы можете настроить raspberry pi.
Шаг 4: подготовьте Raspberry Pi
Загрузите Etcher и ОС Raspberry Pi на свой компьютер (ссылки в списке деталей)
Установите Etcher на свой компьютер и разархивируйте (при необходимости) ОС Raspberry Pi. Вставьте карту Micro SD в компьютер и откройте Etcher. Нажмите «Выбрать изображение» и перейдите к разархивированному файлу ОС Raspberry Pi. Выберите его, затем нажмите «Выбрать диск» и выберите свою карту micro SD из списка. Нажмите «Flash» и дождитесь завершения Etcher. После завершения работы Etcher извлеките SD-карту из компьютера (Etcher автоматически извлекает ее) и вставьте ее в Raspberry Pi. На этом этапе вам нужно будет подключить Raspberry Pi к монитору с преобразователем HDMI. Подключите клавиатуру (и мышь, если у вас есть концентратор с несколькими USB) и подключите кабель питания. Есть два порта micro USB. Один предназначен для питания, другой - это фактический порт USB. Ближайший к концу Pi - это питание, а ближе к середине - USB. Теперь ваш raspberry pi начнет загружаться. Он может перезапуститься несколько раз во время первой загрузки, но это нормально. После запуска raspberry pi подключите его к Wi-Fi. После подключения к Wi-Fi вы можете использовать SSH-сервер, но я считаю, что сейчас проще использовать графический интерфейс. Откройте окно терминала и введите следующие команды:
sudo pip3 install 'pubnub == 3.9.0'
cd git clone git: //git.drogon.net/wiringPi git clone
sudo git clone https://github.com/timleland/rfoutlet.git / var / www / rfoutlet
sudo chown root.root / var / www / rfoutlet / codesend sudo chmod 4755 / var / www / rfoutlet / codesend
cd wiringPi
./строить
Теперь откройте файловый браузер Raspberry Pi, и вы должны увидеть папку pi-home-automation. Дважды щелкните по нему, и вы должны увидеть файл с именем RFControl.py. Скопируйте его (щелкните напротив него и выберите «Копировать»), затем вернитесь в папку pi и вставьте его туда.
Выключите raspberry pi (из меню или запустив sudo poweroff из командной строки) и отключите его, как только зеленый свет перестанет мигать.
Шаг 5: Создание схемы
Пришло время создать схему. Я использовал макетную плату, но вы можете делать это как хотите.
Во-первых, мы должны создать антенну для радиопередатчика. В этом обучающем руководстве рассказывается, как сделать антенну для радиопередатчика. Следуйте инструкциям, затем припаяйте его к контакту антенны передатчика (на том, который я использовал, он был помечен как ANT) более короткой стороной, ближайшей к передатчику.
Подключите передатчик
Передатчик использует эти контакты:
ДАННЫЕ: GPIO 17, физический контакт 11
VCC: Raspberry Pi 5 В, физический контакт 2
GND: Raspberry Pi GND, физический контакт 6
Подключите приемник
Приемник использует эти контакты:
GND: Raspberry Pi GND, физический контакт 9
VCC: Raspberry Pi 5 В, физический контакт 4
ДАННЫЕ: GPIO 27, физический контакт 13 (на приемнике, который я использовал, есть два контакта данных, и я использовал тот, который ближе всего к VCC)
Шаг 6: Получите коды RF
После того, как ваша схема подключена к Raspberry Pi, дважды проверьте ее, чтобы убедиться, что все на месте, а затем снова включите. После включения откройте терминал и введите
sudo / var / www / rfoutlet / RFSniffer
Затем откройте программу RFControl. Размещение окна терминала и окна программы рядом может быть полезно на следующем шаге.
Теперь вам понадобится пульт, который был включен в комплект розетки. Держите его близко к приемнику и нажимайте каждую отдельную кнопку. Когда вы нажимаете кнопку, вы видите два числа, напечатанных на экране. Один из них будет шестизначным или семизначным кодом, а другой - трехзначным. Вам нужно будет отредактировать словарь кодов в программе. Введите 7-значный код в соответствующее место переключателя в программе и для каждой кнопки включения / выключения вставьте 3-значный код (это длина) в соответствующий переключатель в программе.
Например, если переключатель 1 имеет код 1234567, код выключения 7654321 и длину 890, код будет выглядеть следующим образом:
коды = {
'switch1': {'on': 1234567, # Это выключатель 1 on 'off': 7654321, # это выключатель 1 off 'len': 890, # это длина кода переключателя 1}, 'switch2': {… },…}
Повторите это для каждой кнопки. Пока вы редактируете этот файл, измените строки, которые говорят «YOUR-SUB-KEY», на свой ключ подписки PubNub, и «YOUR-PUB-KEY» на свой ключ публикации.
После того, как каждая кнопка будет записана, вы можете перейти к следующему разделу.
Шаг 7: Запуск программы
Теперь, когда у вас есть все коды, перейдите на эту страницу GitHub (на вашем компьютере, а не на Raspberry Pi) и нажмите зеленую кнопку с надписью «Клонировать или загрузить», затем нажмите «Загрузить ZIP». После загрузки этого файла разархивируйте его и откройте папку. Откройте файл с именем main.js. Вам нужно будет ввести свои ключи подписки и публикации в программе, заменив «YOUR-PUB-KEY» на свой ключ публикации и «YOUR-SUB-KEY» на свой ключ подписки.
Затем вернитесь к своему Raspberry Pi и введите
python3 RFControl.py
После того, как он напечатает «Готово», вернитесь к своему компьютеру и откройте файл index.html в веб-браузере, щелкнув напротив него, выберите «Открыть с помощью» и выберите предпочтительный браузер. Вы должны увидеть 2 столбца по 5 кнопок с названиями переключателей между ними. Нажмите любую из кнопок. Если он правильно управляет розеткой, отлично! Если нет, попробуйте следующее:
- Убедитесь, что Raspberry Pi получает сообщения. Он должен печатать на экране всякий раз, когда получает сообщение с веб-страницы. Если нет, убедитесь, что ваши ключи подписки / публикации верны.
- Если Raspberry Pi получает сообщения, убедитесь, что ваши коды RF верны. Убедитесь, что ваши розетки сопряжены с вашим пультом дистанционного управления, ваш пульт может управлять ими, и что коды, которые вы ввели в программу, верны.
- Если коды RF верны, убедитесь, что ваш Raspberry Pi находится в пределах досягаемости розеток. Если они начнут работать после того, как пододвинули ее ближе, возможно, вам придется переделать антенну.
- Если они по-прежнему не работают, сообщите мне о своей проблеме в комментариях, и я постараюсь помочь с этим.
Шаг 8: Запуск при запуске
Чтобы ваша программа python запускалась при запуске, введите это в свой терминал raspberry pi:
crontab -e
Затем перейдите в конец файла и введите следующее:
@reboot python3 /home/pi/RFControl.py &
Это заставит ваш скрипт Python запускаться каждый раз при запуске. Теперь перезагрузите Raspberry Pi.
Шаг 9: добавление дополнительных переключателей
Если вы хотите добавить больше розеток, следуйте этим инструкциям:
Откройте RFControl.py на своем Raspberry Pi и добавьте новый переключатель в словарь переключателей.
Пример:
переключатели = {
… Другие переключатели… 'NAME-OF-SWITCH': {'on': xxxxxxx, 'off': yyyyyyy, 'len': zzz,},}
Затем добавьте новую кнопку в свое веб-приложение, отредактировав переменную переключателей в main.js на своем компьютере.
Пример:
var Switches = [… Старые переключатели… ['NAME-TO-DISPLAY', 'NAME-OF-SWITCH'],];
Замените NAME-TO-DISPLAY на имя, которое вы хотите, чтобы оно отображалось на веб-странице, а NAME-OF-SWITCH в обоих файлах на любое другое. Но он должен отличаться от других!
Шаг 10: Двигайтесь дальше
PubNub поддерживается на многих различных платформах, а это значит, что вы можете отправлять сообщения практически с любого устройства! Я использовал голосовой комплект Raspberry Pi AIY и PubNub для отправки команд своим голосом, но это может быть темой более поздних инструкций. Спасибо, что прочитали мою инструкцию, надеюсь, она была вам полезна!
Шаг 11: кредиты
Спасибо Тиму Лиланду за руководство по настройке радиопередатчика: руководство
Спасибо diy_bloke за руководство по созданию антенны: руководство
Спасибо также всем, кто разместил в Интернете учебные пособия, которые я просматривал за помощь!
Рекомендуемые:
Домашняя автоматизация Infinity Gauntlet Controlled: 8 шагов (с изображениями)
Infinity Gauntlet Controlled Home Automation: в моем предыдущем проекте я сделал бесконечную перчатку, которая управляет выключателем света. Я хотел использовать шесть камней, и каждый камень мог управлять прибором, дверным замком или освещением, поэтому я создал систему домашней автоматизации, используя перчатку бесконечности. В этом проекте
Эффективная разработка на Java для Raspberry Pi: 11 шагов (с изображениями)
Эффективная разработка Java для Raspberry Pi: это руководство описывает очень эффективный подход к разработке программ Java для Raspberry Pi. Я использовал этот подход для разработки возможностей Java, начиная от поддержки устройств низкого уровня и заканчивая многопоточными и сетевыми программами. Примерно
Инфракрасная домашняя автоматизация с использованием реле: 6 шагов (с изображениями)
Инфракрасная домашняя автоматизация с использованием реле: инфракрасная система удаленной домашней автоматизации (Предупреждение: копируйте проект на свой страх и риск! Этот проект включает в себя высокое напряжение)
Автомобильный GPS-трекер с SMS-уведомлением и загрузкой данных Thingspeak, на основе Arduino, домашняя автоматизация: 5 шагов (с изображениями)
Автомобильный GPS-трекер с SMS-уведомлением и загрузкой данных Thingspeak, на основе Arduino, домашняя автоматизация: я сделал этот GPS-трекер в прошлом году, и, поскольку он хорошо работает, я публикую его сейчас на Instructable. Он подключен к разъему для аксессуаров в моем багажнике. GPS-трекер загружает данные о местоположении, скорости, направлении и измеренной температуре автомобиля через мобильный телефон
Простая домашняя автоматизация с использованием Raspberry Pi3 и Android Things: 5 шагов (с изображениями)
Простая домашняя автоматизация с использованием Raspberry Pi3 и Android. Идея состоит в том, чтобы создать «умный ДОМ». при этом управлять бытовыми устройствами можно с помощью Android Things и Raspberry Pi. Проект состоит из управления домашними устройствами, такими как свет, вентилятор, двигатель и т. Д. Необходимые материалы: Raspberry Pi 3HDMI Ca