Съдържание:

Евтина и ефективна домашна автоматизация с Raspberry Pi: 11 стъпки (със снимки)
Евтина и ефективна домашна автоматизация с Raspberry Pi: 11 стъпки (със снимки)

Видео: Евтина и ефективна домашна автоматизация с Raspberry Pi: 11 стъпки (със снимки)

Видео: Евтина и ефективна домашна автоматизация с Raspberry Pi: 11 стъпки (със снимки)
Видео: Broadlink RM plus - интегриране в Domoticz, създаване на база данни с IR и RF кодове 2024, Декември
Anonim
Евтина и ефективна домашна автоматизация с Raspberry Pi
Евтина и ефективна домашна автоматизация с Raspberry Pi
Евтина и ефективна домашна автоматизация с Raspberry Pi
Евтина и ефективна домашна автоматизация с Raspberry Pi
Евтина и ефективна домашна автоматизация с Raspberry Pi
Евтина и ефективна домашна автоматизация с Raspberry Pi

Винаги съм искал да мога да управлявам светлините безжично, но търговските опции обикновено са скъпи. Светлините Philips Hue струват около 70 долара, а свързаните с WiFi светлини също са скъпи. Този урок ще ви каже как да контролирате до пет лампи/лампи/коледни светлинни нишки за около $ 50 и може да бъде разширен, за да включва и повече светлини.

Стъпка 1: Какво ще ви трябва

Какво ще ви трябва
Какво ще ви трябва

Материали:

Raspberry Pi Zero W (безжично издание)

Micro SD карта (поне 4gb)

Мини HDMI към HDMI кабел/конвертор (Има разлика между мини и микро, не забравяйте да вземете правилния!)

Микро USB към USB кабел/конвертор

USB клавиатура

Забележка: Получих стартов комплект Raspberry Pi Zero W от Amazon, който се доставя с Raspberry Pi Zero W, SD карта, калъф, захранващ кабел, HDMI конвертор и USB конвертор. Само за 30 долара това е доста добър вариант (връзка)

Можете да използвате различен модел на Raspberry Pi, но Raspberry Pi трябва да има някаква форма на интернет връзка, а Pi Zero W е най -евтиният вариант.

Дистанционни контакти - използвах тези

RF предавател и приемник (Забележка: честотата на предавателя/приемника трябва да съответства на честотата на отдалечените контакти) - използвах тези

Тел за антена (използвах медна жица с твърда жила 22 габарита, друг проводник може да работи)

Платка, джъмперни проводници, 40-пинов хедър за мъжки към мъжки

Софтуер:

Raspberry Pi OS (Изтеглете Raspbian Desktop)

Etcher диск за изображения (за запис на Pi OS на SD картата)

Инструменти:

Поялник

Компютър за изтегляне на Pi OS и Etcher

Стъпка 2: Настройте контактите

Настройте контактите
Настройте контактите
Настройте контактите
Настройте контактите

Започнете, като включите контактите си в контакт. Следвайте приложените инструкции, за да ги настроите, и включете светлините/уредите си. Уверете се, че вашето дистанционно е сдвоено правилно и контролира ли контактите.

Стъпка 3: Създайте акаунт в PubNub

PubNub е безплатен интернет сървър, който ви позволява да комуникирате между устройства, навсякъде по света. Скриптът на python получава съобщения от уеб страница и използва информацията в съобщението, за да включва или изключва светлините. Можете да се регистрирате за безплатния си акаунт тук. След като се регистрирате, влезте в акаунта си. Това ще ви отведе до страница за управление на приложения. Кликнете върху „Създаване на ново приложение“. Дайте ви име на приложение, след което го изберете от списъка с приложения (Ако това е първото ви приложение, то ще бъде единственото) Това ще ви отведе до страницата с ключове на приложението. Кликнете върху „Демонстрационен набор от клавиши“и трябва да видите три различни клавиша. Продължавайте тази страница, тези клавиши ще ви трябват по -късно. Сега, когато имате своя акаунт в PubNub, можете да настроите своя малинов pi.

Стъпка 4: Подгответе Raspberry Pi

Изтеглете Etcher и Raspberry Pi OS на вашия компютър (връзки в списъка с части)

Инсталирайте Etcher на компютъра си и разархивирайте (ако е необходимо) Raspberry Pi OS. Поставете вашата Micro SD карта в компютъра си и отворете Etcher. Щракнете върху „Избор на изображение“и отидете до разархивирания файл на Raspberry Pi OS. Изберете го, след това щракнете върху „Избор на устройство“и изберете вашата микро SD карта от списъка. Кликнете върху „Flash“и изчакайте Etcher да завърши. След като Etcher приключи, извадете SD картата от компютъра си (Etcher автоматично я изважда) и я поставете във вашия Raspberry Pi. В този момент ще трябва да свържете вашия Raspberry Pi към монитор с HDMI конвертора. Включете клавиатурата (и мишката, ако имате мулти-USB хъб) и включете захранващия кабел. Има два микро USB порта. Единият е за захранване, другият е действителен USB порт. Най -близкият до края на Pi е захранването, докато този по -близо до средата е USB. Вашето малиново пи сега ще започне да се зарежда. Може да се рестартира няколко пъти по време на първото зареждане, но това е нормално. След като вашият малинов пи стартира, свържете го с WiFi. След като го свържете към WiFi, може да използвате SSH сървър, но за мен е по -лесно да използвам графичния интерфейс засега. Отворете терминален прозорец и въведете тези команди:

sudo pip3 install 'pubnub == 3.9.0'

cd git clone git: //git.drogon.net/wiringPi git clone

sudo git clone

sudo chown root.root/var/www/rfoutlet/codesend sudo chmod 4755/var/www/rfoutlet/codesend

cd окабеляванеPi

./ изграждане

Сега отворете браузъра за файлове на Raspberry Pi и трябва да видите папката pi-home-automation. Щракнете двукратно върху него и трябва да видите файл с име RFControl.py. Копирайте го (кликнете срещу него и изберете „Копиране“), след това се върнете в папката pi и го поставете там.

Изключете вашия малинов пи (или от менюто, или като стартирате sudo poweroff от командния ред), и го изключете, след като зелената светлина спре да мига.

Стъпка 5: Създаване на верига

Създаване на верига
Създаване на верига
Създаване на верига
Създаване на верига
Създаване на верига
Създаване на верига

Сега е време да създадете веригата. Използвах макет, но можете да го направите както искате.

Първо, трябва да създадем антена за RF предавателя. Този урок с инструкции разказва как да направите антена за RF предавател. Следвайте инструкциите, след това го запоявайте към щифта на антената на предавателя (На този, който използвах, беше означен с ANT) с по -късата страна, най -близо до предавателя

Свържете предавателя

Предавателят използва тези щифтове:

ДАННИ: GPIO 17, Физически щифт 11

VCC: Raspberry Pi 5v, Физически щифт 2

GND: Raspberry Pi GND, физически щифт 6

Свържете приемника

Приемникът използва тези щифтове:

GND: Raspberry Pi GND, физически щифт 9

VCC: Raspberry Pi 5v, Физически щифт 4

ДАННИ: GPIO 27, Физически пин 13 (Има два пина за данни на приемника, който използвах, и използвах този, който е най -близо до VCC)

Стъпка 6: Вземете вашите RF кодове

Вземете вашите RF кодове
Вземете вашите RF кодове

След като веригата ви е свързана към вашия Raspberry Pi, проверете я два пъти, за да се уверите, че всичко е на мястото си и след това я включете отново. След като се включи, отворете терминал и въведете

sudo/var/www/rfoutlet/RFSniffer

След това отворете програмата RFControl. Поставянето на прозореца на терминала и прозореца на програмата един до друг може да бъде полезно в следващата стъпка.

Ще ви трябва дистанционното, което сега е включено в комплекта за контакт. Дръжте го близо до приемника и натиснете всеки отделен бутон. Когато натиснете бутон, ще видите две числа, отпечатани на екрана. Единият от тях ще бъде шест или седемцифрен код, а другият - трицифрен. Ще трябва да редактирате речника на кодовете в програмата. Въведете 7-цифрения код на мястото на съответния превключвател в програмата и за всеки бутон за включване/изключване вмъкнете 3-цифрения код (това е дължината) в дължината на съответния превключвател в програмата.

Например, ако ключът за включване 1 има код 1234567, код за изключване 7654321 и дължина 890, кодът ще изглежда така:

кодове = {

'switch1': {'on': 1234567, #This is switch 1 on 'off': 7654321, #this is switch 1 off 'len': 890, #this is switch 1 code length}, 'switch2': {… },…}

Повторете това за всеки бутон. Докато редактирате този файл, променете низовете, които казват „YOUR-SUB-KEY“на вашия ключ за абониране за PubNub, и „YOUR-PUB-KEY“на вашия ключ за публикуване.

След като всеки бутон е записан, можете да продължите към следващия раздел.

Стъпка 7: Стартиране на програмата

Стартиране на програмата
Стартиране на програмата

Сега, когато имате всичките си кодове, отидете на тази страница на GitHub (На вашия компютър, а не на малиново пи) и щракнете върху зеления бутон, който казва „Клониране или изтегляне“, след което щракнете върху „Изтегляне на ZIP“. След като този файл бъде изтеглен, разархивирайте го и отворете папката. Отворете файла с име main.js. Ще трябва да въведете вашите абонаменти и да публикувате ключове в програмата, като замените „YOUR-PUB-KEY“с вашия ключ за публикуване и „YOUR-SUB-KEY“с вашия ключ за абониране.

След това се върнете към вашия Raspberry Pi и влезте

python3 RFControl.py

След като отпечата „Готов“, върнете се на компютъра си и отворете файла index.html в уеб браузър, като направите обратното щракване, изберете „Отваряне с“и изберете предпочитания от вас браузър. Трябва да видите 2 колони от 5 бутона, с имената на превключвателите между тях. Натиснете някой от бутоните. Ако контролира правилно контакта, страхотно! Ако не, ето някои неща, които да опитате:

  1. Уверете се, че Raspberry Pi получава съобщения. Той трябва да отпечатва на екрана, когато получи съобщение от уеб страницата. Ако не, уверете се, че ключовете ви за абониране/публикуване са правилни.
  2. Ако Raspberry Pi получава съобщения, уверете се, че вашите RF кодове са правилни. Уверете се, че вашите контакти са сдвоени с вашето дистанционно, вашето дистанционно може да ги контролира и че кодовете, които сте въвели в програмата, са правилни.
  3. Ако RF кодовете са правилни, уверете се, че вашият Raspberry Pi е в обхвата на контактите. Ако те започнат да работят, след като го преместите по-близо, може да се наложи да направите отново антената си.
  4. Ако те все още не работят, моля, кажете ми проблема си в коментарите и аз ще се опитам да помогна с него.

Стъпка 8: Стартирайте при стартиране

За да накарате вашата програма на python да се стартира при стартиране, въведете това във вашия малинов pi терминал:

crontab -e

След това отидете в долната част на файла и въведете това:

@reboot python3 /home/pi/RFControl.py &

Това ще накара вашия Python скрипт да се изпълнява при стартиране всеки път. Сега рестартирайте вашия Raspberry Pi.

Стъпка 9: Добавяне на още превключватели

Добавяне на още превключватели
Добавяне на още превключватели

Ако искате да добавите още търговски обекти, следвайте тези инструкции:

Отворете RFControl.py на вашия Raspberry Pi и добавете нов превключвател към речника на превключвателите.

Пример:

превключватели = {

… Други превключватели… „ИМЕ НА ПЕРЕКЛЮЧВАНЕ“: {„включено“: xxxxxxx, „изключено“: гггггггг, „лен“: zzz,},}

След това добавете нов бутон във вашето уеб приложение, като редактирате променливата превключватели в main.js на вашия компютър.

Пример:

var превключватели = [… стари превключватели … ['ИМЕ НА ДИСПЛЕЙ', 'ИМЕ НА ПЕРЕКЛЮЧВАТЕЛ'],];

Заменете NAME-TO-DISPLAY с името, което искате да се показва на уеб страницата, и NAME-OF-SWITCH на двата файла с всичко, което искате. Трябва обаче да е уникален от другите!

Стъпка 10: По -нататък

Вземайки го по -нататък
Вземайки го по -нататък

PubNub се поддържа на много различни платформи, което означава, че можете да изпращате съобщения от почти всяко устройство! Използвах Raspberry Pi AIY Voice комплект и PubNub, за да изпращам команди с гласа си, но това може да е темата на по -късен Instructable. Благодаря ви, че прочетохте моя Instructable, надявам се да е бил полезен!

Стъпка 11: Кредити

Благодаря на Тим Леланд за урока по настройка на радиочестотния предавател: урок

Благодарение на diy_bloke за урока за създаване на антена: tutorial

Благодаря и на всички други, които публикуваха уроци онлайн, които видях за помощ!

Препоръчано: