Talaan ng mga Nilalaman:

Mura at Epektibong Pag-aautomat ng Bahay Sa Raspberry Pi: 11 Hakbang (na may Mga Larawan)
Mura at Epektibong Pag-aautomat ng Bahay Sa Raspberry Pi: 11 Hakbang (na may Mga Larawan)

Video: Mura at Epektibong Pag-aautomat ng Bahay Sa Raspberry Pi: 11 Hakbang (na may Mga Larawan)

Video: Mura at Epektibong Pag-aautomat ng Bahay Sa Raspberry Pi: 11 Hakbang (na may Mga Larawan)
Video: 20 товаров для автомобиля с Алиэкспресс, автотовары №31 2024, Nobyembre
Anonim
Mura at Epektibong Pag-aautomat ng Bahay Sa Raspberry Pi
Mura at Epektibong Pag-aautomat ng Bahay Sa Raspberry Pi
Mura at Epektibong Pag-aautomat ng Bahay Sa Raspberry Pi
Mura at Epektibong Pag-aautomat ng Bahay Sa Raspberry Pi
Mura at Epektibong Pag-aautomat ng Bahay Sa Raspberry Pi
Mura at Epektibong Pag-aautomat ng Bahay Sa Raspberry Pi

Palagi kong nais na makontrol ang mga ilaw nang wireless, ngunit ang mga pagpipilian sa komersyo ay karaniwang mahal. Ang mga ilaw ng Philips Hue ay nagkakahalaga ng halos $ 70, at ang mga ilaw na nakakonekta sa WiFi ay mahal din. Sasabihin sa iyo ng tutorial na ito kung paano makontrol ang hanggang sa limang mga ilaw / lampara / Christmas light strands na humigit-kumulang na $ 50, at maaaring mapalawak upang maisama din ang maraming mga ilaw.

Hakbang 1: Ano ang Kakailanganin Mo

Ano ang Kakailanganin Mo
Ano ang Kakailanganin Mo

Mga Materyales:

Raspberry Pi Zero W (Wireless edition)

Micro SD card (Hindi bababa sa 4gb)

Mini HDMI sa HDMI cable / converter (Mayroong pagkakaiba sa pagitan ng mini at micro, tiyaking makuha ang tama!)

Micro USB sa USB cable / converter

USB Keyboard

Tandaan: Nakuha ko ang isang Raspberry Pi Zero W starter kit mula sa Amazon na kasama ng Raspberry Pi Zero W, SD card, case, power cable, HDMI converter, at USB converter. Sa halagang $ 30 lamang, ito ay isang magandang pagpipilian (link)

Maaari kang gumamit ng ibang modelo ng Raspberry Pi, ngunit ang Raspberry Pi ay dapat magkaroon ng ilang uri ng koneksyon sa internet, at ang Pi Zero W ang pinakamurang pagpipilian.

Mga Remote Outlet - Ginamit ko ang mga ito

RF Transmitter at receiver (Tandaan: ang dalas ng transmiter / receiver ay dapat na tumutugma sa dalas ng mga malalayong outlet) - Ginamit ko ito

Wire para sa antena (Gumamit ako ng 22 gauge solidong core wire na tanso, maaaring gumana ang iba pang kawad)

Breadboard, Jumper wires, 40 pin male-to-male header

Software:

Raspberry Pi OS (I-download ang Raspbian Desktop)

Etcher disk imager (Para sa pagsusulat ng Pi OS sa SD Card)

Mga tool:

Panghinang

Computer para sa pag-download ng Pi OS at Etcher

Hakbang 2: I-set up ang Outlet

I-set up ang Outlet
I-set up ang Outlet
I-set up ang Outlet
I-set up ang Outlet

Magsimula sa pamamagitan ng pag-plug ng iyong mga outlet sa isang socket. Sundin ang mga kasamang tagubilin upang i-set up ang mga ito, at i-plug ang iyong mga ilaw / gamit sa bahay. Tiyaking ang iyong remote ay ipinares nang tama at kinokontrol ang mga socket.

Hakbang 3: Mag-set up ng isang PubNub Account

Ang PubNub ay isang libreng internet server na nagbibigay-daan sa iyo upang makipag-usap sa pagitan ng mga aparato, saanman sa mundo. Tumatanggap ang python script ng mga mensahe mula sa isang webpage, at ginagamit ang impormasyon sa mensahe upang i-on o i-off ang mga ilaw. Maaari kang mag-sign up para sa iyong libreng account dito. Kapag nag-sign up ka, mag-log in sa iyong account. Dadalhin ka nito sa isang pahina ng pamamahala ng app. Mag-click sa "Lumikha ng bagong app". Bigyan ka ng isang app ng isang pangalan, pagkatapos ay piliin ito mula sa listahan ng mga app (Kung ito ang iyong unang app, ito lamang ang iisa) Dadalhin ka nito sa pahina ng mga key ng app. Mag-click sa "Demo Keyset", at dapat mong makita ang tatlong magkakaibang mga key. Panatilihin ang pahinang ito, kakailanganin mo ang mga key na ito sa paglaon. Ngayon na mayroon ka ng iyong PubNub account, maaari mong i-set up ang iyong raspberry pi.

Hakbang 4: Ihanda ang Raspberry Pi

I-download ang Etcher at ang Raspberry Pi OS sa iyong computer (mga link sa mga bahagi ng listahan)

I-install ang Etcher sa iyong computer, at i-unzip (kung kinakailangan) ang Raspberry Pi OS. Ipasok ang iyong Micro SD card sa iyong computer, at buksan ang Etcher. I-click ang "Piliin ang Imahe" at mag-navigate sa hindi naka-zip na Raspberry Pi OS file. Piliin ito, pagkatapos ay i-click ang "Piliin ang Drive" at piliin ang iyong micro SD card mula sa listahan. I-click ang "Flash", at hintaying makumpleto ni Etcher. Kapag nakumpleto na ni Etcher, alisin ang iyong SD card mula sa iyong computer (Awtomatiko itong tinatanggal ni Etcher) at ipasok ito sa iyong Raspberry Pi. Sa puntong ito, kakailanganin mong ikonekta ang iyong Raspberry Pi sa isang monitor sa HDMI converter. Mag-plug sa isang keyboard (at mouse kung mayroon kang isang multi-USB hub) at isaksak ang power cable. Mayroong dalawang mga micro USB port. Ang isa ay para sa lakas, ang iba pa ay isang aktwal na USB port. Ang pinakamalapit sa dulo ng Pi ay kapangyarihan, habang ang malapit sa gitna ay USB. Ang iyong raspberry pi ay magsisimulang mag-boot. Maaari itong i-restart ng ilang beses sa panahon ng unang boot, ngunit normal iyon. Kapag nasimulan na ang iyong raspberry pi, ikonekta ito sa iyong WiFi. Matapos ikonekta ito sa WiFi, maaari kang gumamit ng isang SSH server, ngunit mas madali kong gamitin ang GUI sa ngayon. Buksan ang isang window ng terminal at ipasok ang mga utos na ito:

sudo pip3 i-install ang '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 mga kablePi

./itayo

Ngayon, buksan ang browser ng Raspberry Pi file, at dapat mong makita ang folder ng pi-home-automation. I-double click ito, at dapat mong makita ang isang file na tinatawag na RFControl.py. Kopyahin ito (sa tapat ng pag-click at piliin ang "Kopyahin"), pagkatapos ay bumalik sa folder ng pi at i-paste ito doon.

Patayin ang iyong raspberry pi (Alinman sa menu o sa pamamagitan ng pagpapatakbo ng sudo poweroff mula sa linya ng utos), at i-unplug ito sa sandaling tumigil ang pag-flash ng berdeng ilaw.

Hakbang 5: Paglikha ng Circuit

Paglikha ng Circuit
Paglikha ng Circuit
Paglikha ng Circuit
Paglikha ng Circuit
Paglikha ng Circuit
Paglikha ng Circuit

Ngayon ay oras na upang lumikha ng circuit. Gumamit ako ng isang breadboard, ngunit magagawa mo ito subalit nais mo.

Una, dapat kaming lumikha ng isang antena para sa RF transmitter. Ang tutorial na ito na itinuturo ay nagsasabi kung paano gumawa ng isang antena para sa isang RF transmitter. Sundin ang mga tagubilin, pagkatapos ay solder ito sa antenna pin ng transmitter (Sa isang ginamit ko na may label na ANT) na may mas maikling bahagi na pinakamalapit sa transmitter

Wire ang transmitter

Ginagamit ng transmiter ang mga pin na ito:

DATA: GPIO 17, Physical pin 11

VCC: Raspberry Pi 5v, Physical pin 2

GND: Raspberry Pi GND, Physical pin 6

Wire ang tatanggap

Ginagamit ng tatanggap ang mga pin na ito:

GND: Raspberry Pi GND, Physical pin 9

VCC: Raspberry Pi 5v, Physical pin 4

DATA: GPIO 27, Physical pin 13 (Mayroong dalawang mga data pin sa ginamit kong receiver, at ginamit ko ang pinakamalapit sa VCC)

Hakbang 6: Kunin ang Iyong Mga RF Code

Kunin ang Iyong Mga RF Code
Kunin ang Iyong Mga RF Code

Matapos ang iyong circuit ay naka-attach sa iyong Raspberry Pi, suriin ito nang dalawang beses upang matiyak na ang lahat ay nasa lugar at pagkatapos ay i-power ito muli. Kapag napagana na ito, buksan ang isang terminal at uri

sudo / var / www / rfoutlet / RFSniffer

Susunod, buksan ang programa ng RFControl. Ang paglalagay ng window ng terminal at window ng programa sa tabi-tabi ay maaaring maging kapaki-pakinabang sa susunod na hakbang.

Kakailanganin mo ang remote na isinama sa outlet kit ngayon. Hawakan ito malapit sa tatanggap, at pindutin ang bawat indibidwal na pindutan. Kapag pinindot mo ang isang pindutan, makikita mo ang dalawang numero na nakalimbag sa screen. Ang isa sa mga ito ay magiging isang anim o pitong digit na code, at ang isa ay isang 3 digit na code. Kakailanganin mong i-edit ang mga diksyonaryo ng mga code sa programa. Ipasok ang 7 digit na code sa lugar ng kaukulang switch sa programa, at para sa bawat on / off na pindutan, ipasok ang 3-digit na code (ito ang haba) sa len ng kaukulang switch sa programa.

Halimbawa, kung ang switch 1 on ay may code na 1234567, isang off code na 7654321, at isang haba ng 890, ganito ang hitsura ng code:

mga code = {

'switch1': {'on': 1234567, #Ito ang switch 1 na 'off': 7654321, #th is is switch 1 off 'len': 890, #th is is switch 1 code length}, 'switch2': {… },…}

Ulitin ito para sa bawat pindutan. Habang ini-edit mo ang file na ito, baguhin ang mga string na nagsasabing "IYONG-SUB-KEY" sa iyong PubNub subscribe key, at "IYONG-PUB-KEY" sa iyong susi ng pag-publish.

Kapag naitala ang bawat pindutan, maaari kang magpatuloy sa susunod na seksyon.

Hakbang 7: Pagpapatakbo ng Programa

Pagpapatakbo ng Program
Pagpapatakbo ng Program

Ngayon na mayroon ka ng lahat ng iyong mga code, pumunta sa pahinang GitHub na ito (Sa iyong computer, hindi raspberry pi) at mag-click sa berdeng pindutan na nagsasabing "I-clone o i-download", pagkatapos ay i-click ang "I-download ang ZIP". Kapag na-download na ang file na ito, i-unzip ito at buksan ang folder. Buksan ang file na pinangalanang main.js. Kakailanganin mong ipasok ang iyong pag-subscribe at i-publish ang mga susi sa programa sa pamamagitan ng pagpapalit ng "IYONG-PUB-KEY" sa iyong publish key at "IYONG SUB-KEY" sa iyong susi sa pag-subscribe.

Susunod, bumalik sa iyong Raspberry Pi at ipasok

python3 RFControl.py

Kapag na-print na ang "Ready", bumalik sa iyong computer at buksan ang index.html file sa isang web browser sa pamamagitan ng paggawa ng isang kabaligtaran na pag-click, piliin ang "Buksan gamit", at piliin ang iyong ginustong browser. Dapat mong makita ang 2 haligi ng 5 mga pindutan, na may mga pangalan ng mga switch sa pagitan nila. Pindutin ang anuman sa mga pindutan. Kung tama nitong kinokontrol ang socket, mahusay! Kung hindi, narito ang ilang mga bagay na susubukan:

  1. Tiyaking tumatanggap ng mga mensahe ang Raspberry Pi. Dapat itong mai-print sa screen tuwing nakakatanggap ito ng isang mensahe mula sa webpage. Kung hindi, tiyaking tama ang iyong mga susi sa pag-subscribe / pag-publish.
  2. Kung ang Raspberry Pi ay tumatanggap ng mga mensahe, tiyaking tama ang iyong mga RF code. Siguraduhin na ang iyong mga outlet ay ipinares sa iyong remote, ang iyong remote ay maaaring makontrol ang mga ito, at na ang mga code na ipinasok mo sa programa ay tama.
  3. Kung ang mga RF code ay tama, tiyaking ang iyong Raspberry Pi ay nasa saklaw ng mga saksakan. Kung nagsisimulang magtrabaho pagkatapos ilipat ito nang malapit, maaaring kailanganin mong gawin muli ang iyong antena.
  4. Kung hindi pa rin sila gumagana, mangyaring sabihin sa akin ang iyong problema sa mga komento at susubukan ko at tumulong dito.

Hakbang 8: Tumatakbo sa Startup

Upang mapatakbo ang iyong programa sa python sa pagsisimula, ipasok ito sa iyong terminal ng raspberry pi:

crontab -e

Susunod, pumunta sa ilalim ng file at ipasok ito:

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

Gagawin nito ang iyong Python script na tatakbo sa pagsisimula sa bawat oras. Ngayon i-reboot ang iyong Raspberry Pi.

Hakbang 9: Pagdaragdag ng Higit pang Mga switch

Pagdaragdag ng Higit pang Mga switch
Pagdaragdag ng Higit pang Mga switch

Kung nais mong magdagdag ng higit pang mga outlet, sundin ang mga tagubiling ito:

Buksan ang RFControl.py sa iyong Raspberry Pi, at magdagdag ng bagong switch sa diksyunaryo ng mga switch.

Halimbawa:

switch = {

… iba pang mga switch … 'NAME-OF-SWITCH': {'on': xxxxxxx, 'off': yyyyyyy, 'len': zzz,},}

Susunod, magdagdag ng isang bagong pindutan sa iyong web app sa pamamagitan ng pag-edit ng variable ng switch sa main.js sa iyong computer.

Halimbawa:

var switch = [… Mga lumang switch… ['NAME-TO-DISPLAY', 'NAME-OF-SWITCH'],];

Palitan ang NAME-TO-DISPLAY ng pangalan na nais mong ipakita sa webpage, at NAME-OF-SWITCH sa parehong mga file sa anumang nais mo. Ito ay dapat na natatangi mula sa iba pa!

Hakbang 10: Kinukuha Pa Ito

Kinukuha Pa Ito
Kinukuha Pa Ito

Sinusuportahan ang PubNub sa maraming iba't ibang mga platform, na nangangahulugang maaari kang magpadala ng mga mensahe mula sa halos anumang aparato! Gumamit ako ng isang kit ng Raspberry Pi AIY Voice at PubNub upang magpadala ng mga utos gamit ang aking boses, ngunit maaaring iyon ang paksa ng isang masunod na Makatuturo. Salamat sa pagbabasa ng aking Instructable, sana ay kapaki-pakinabang ito!

Hakbang 11: Mga Kredito

Salamat kay Tim Leland para sa tutorial sa pag-set up ng RF transmitter: tutorial

Salamat sa diy_bloke para sa tutorial sa paglikha ng isang antena: tutorial

Salamat din sa anumang iba pa na nag-post ng mga tutorial sa online na tiningnan ko para sa tulong!

Inirerekumendang: