Satura rādītājs:

Lēta un efektīva mājas automatizācija ar Raspberry Pi: 11 soļi (ar attēliem)
Lēta un efektīva mājas automatizācija ar Raspberry Pi: 11 soļi (ar attēliem)

Video: Lēta un efektīva mājas automatizācija ar Raspberry Pi: 11 soļi (ar attēliem)

Video: Lēta un efektīva mājas automatizācija ar Raspberry Pi: 11 soļi (ar attēliem)
Video: Leap Motion SDK 2024, Decembris
Anonim
Lēta un efektīva mājas automatizācija ar Raspberry Pi
Lēta un efektīva mājas automatizācija ar Raspberry Pi
Lēta un efektīva mājas automatizācija ar Raspberry Pi
Lēta un efektīva mājas automatizācija ar Raspberry Pi
Lēta un efektīva mājas automatizācija ar Raspberry Pi
Lēta un efektīva mājas automatizācija ar Raspberry Pi

Es vienmēr esmu vēlējies spuldzes vadīt bezvadu režīmā, taču komerciālās iespējas parasti ir dārgas. Philips Hue gaismas maksā aptuveni 70 USD, un ar WiFi savienotās gaismas ir arī dārgas. Šī apmācība jums pateiks, kā kontrolēt līdz piecām gaismām/lampām/Ziemassvētku gaismas pavedieniem par aptuveni 50 USD, un to var paplašināt, iekļaujot arī vairāk gaismas.

1. darbība. Kas jums būs nepieciešams

Kas jums būs nepieciešams
Kas jums būs nepieciešams

Materiāli:

Raspberry Pi Zero W (bezvadu izdevums)

Micro SD karte (vismaz 4 GB)

Mini HDMI uz HDMI kabelis/pārveidotājs (starp mini un mikro ir atšķirība, pārliecinieties, ka esat izvēlējies pareizo!)

Mikro USB uz USB kabeli/pārveidotāju

USB tastatūra

Piezīme. Es saņēmu Raspberry Pi Zero W sākuma komplektu no Amazon, kas bija komplektā ar Raspberry Pi Zero W, SD karti, futrāli, barošanas kabeli, HDMI pārveidotāju un USB pārveidotāju. Tikai par 30 ASV dolāriem tā ir diezgan laba iespēja (saite)

Jūs varat izmantot citu Raspberry Pi modeli, taču Raspberry Pi jābūt kaut kādam interneta savienojumam, un Pi Zero W ir lētākais risinājums.

Attālās kontaktligzdas - es tās izmantoju

RF raidītājs un uztvērējs (piezīme: raidītāja/uztvērēja frekvencei jāatbilst attālināto kontaktligzdu frekvencei) - es izmantoju šos

Antenas vads (es izmantoju 22 gabarīta cieta serdes vara stiepli, cits vads var darboties)

Maizes dēlis, džemperu vadi, 40 kontaktu galvene no vīrieša līdz vīrietim

Programmatūra:

Raspberry Pi OS (lejupielādēt Raspbian Desktop)

Etcher diska attēlveidotājs (Pi OS ierakstīšanai SD kartē)

Rīki:

Lodāmurs

Dators Pi OS un Etcher lejupielādei

2. darbība: iestatiet kontaktligzdas

Iestatiet kontaktligzdas
Iestatiet kontaktligzdas
Iestatiet kontaktligzdas
Iestatiet kontaktligzdas

Sāciet, pievienojot kontaktligzdas kontaktligzdai. Izpildiet pievienotos norādījumus, lai tos uzstādītu, un pievienojiet gaismas/ierīces. Pārliecinieties, vai tālvadības pults ir pareizi savienota pārī un kontrolē kontaktligzdas.

3. darbība: izveidojiet PubNub kontu

PubNub ir bezmaksas interneta serveris, kas ļauj sazināties starp ierīcēm jebkurā vietā pasaulē. Python skripts saņem ziņojumus no tīmekļa lapas un izmanto ziņojumā esošo informāciju, lai ieslēgtu vai izslēgtu apgaismojumu. Šeit varat reģistrēties bezmaksas kontam. Kad esat reģistrējies, piesakieties savā kontā. Tiks atvērta lietotņu pārvaldības lapa. Noklikšķiniet uz "Izveidot jaunu lietotni". Piešķiriet lietotnei nosaukumu, pēc tam atlasiet to no lietotņu saraksta (ja šī ir jūsu pirmā lietotne, tā būs vienīgā). Tādējādi jūs nonāksit lietotņu atslēgu lapā. Noklikšķiniet uz "Demo Keyset", un jums vajadzētu redzēt trīs dažādus taustiņus. Turpiniet šo lapu, šīs atslēgas jums būs vajadzīgas vēlāk. Tagad, kad jums ir PubNub konts, varat iestatīt savu aveņu pi.

4. solis: sagatavojiet Raspberry Pi

Lejupielādējiet datorā Etcher un Raspberry Pi OS (saites detaļu sarakstā)

Instalējiet Etcher savā datorā un izpakojiet (ja nepieciešams) Raspberry Pi OS. Ievietojiet Micro SD karti datorā un atveriet Etcher. Noklikšķiniet uz "Atlasīt attēlu" un dodieties uz neizsaiņoto Raspberry Pi OS failu. Atlasiet to, pēc tam noklikšķiniet uz “Atlasīt disku” un sarakstā atlasiet savu micro SD karti. Noklikšķiniet uz "Flash" un gaidiet, līdz Etcher tiks pabeigts. Kad Etcher ir pabeidzis, izņemiet SD karti no datora (Etcher to automātiski izstumj) un ievietojiet to savā Raspberry Pi. Šajā brīdī Raspberry Pi būs jāpievieno monitoram, izmantojot HDMI pārveidotāju. Pievienojiet tastatūru (un peli, ja jums ir vairāku USB centrmezgls) un pievienojiet strāvas kabeli. Ir divi mikro USB porti. Viens ir paredzēts strāvas padevei, otrs ir faktiskais USB ports. Tuvākais Pi beigām ir jauda, bet tuvāk vidum ir USB. Jūsu aveņu pi tagad sāks ielādēt. Pirmās sāknēšanas laikā tas var restartēties vairākas reizes, bet tas ir normāli. Kad jūsu aveņu pi ir startēts, pievienojiet to savam WiFi. Pēc savienojuma ar WiFi jūs varat izmantot SSH serveri, taču man šķiet, ka pagaidām ir vieglāk izmantot GUI. Atveriet termināļa logu un ievadiet šīs komandas:

sudo pip3 instalēt 'pubnub == 3.9.0'

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

sudo git klons

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

cd elektroinstalācijaPi

./būvēt

Tagad atveriet failu pārlūkprogrammu Raspberry Pi, un jums vajadzētu redzēt mapi pi-home-automatization. Veiciet dubultklikšķi uz tā, un jums vajadzētu redzēt failu ar nosaukumu RFControl.py. Kopējiet to (pretēji noklikšķiniet un izvēlieties "Kopēt"), pēc tam atgriezieties mapē pi un ielīmējiet to tur.

Izslēdziet savu aveņu pi (vai nu no izvēlnes, vai palaižot sudo poweroff no komandrindas), un atvienojiet to, kad zaļā gaisma pārstāj mirgot.

5. darbība: shēmas izveide

Ķēdes izveide
Ķēdes izveide
Ķēdes izveide
Ķēdes izveide
Ķēdes izveide
Ķēdes izveide

Tagad ir pienācis laiks izveidot ķēdi. Es izmantoju maizes dēli, bet jūs varat to darīt, kā vēlaties.

Pirmkārt, mums ir jāizveido RF raidītāja antena. Šī pamācību apmācība stāsta par to, kā izveidot RF raidītāja antenu. Izpildiet norādījumus, pēc tam pielodējiet to pie raidītāja antenas tapas (manā izmantotajā tas tika apzīmēts ar ANT) ar īsāko pusi, kas ir vistuvāk raidītājam

Pievienojiet vadu raidītājam

Raidītājs izmanto šādas tapas:

DATI: GPIO 17, fiziskā tapa 11

VCC: Raspberry Pi 5v, fiziskā tapa 2

GND: Raspberry Pi GND, fiziskā tapa 6

Pievienojiet uztvērēju vadam

Uztvērējs izmanto šādas tapas:

GND: Raspberry Pi GND, fiziskā tapa 9

VCC: Raspberry Pi 5v, fiziskā tapa 4

DATI: GPIO 27, fiziskā tapa 13 (manā uztvērējā ir divas datu tapas, un es izmantoju to, kas ir vistuvāk VCC)

6. darbība: iegūstiet savus RF kodus

Iegūstiet savus RF kodus
Iegūstiet savus RF kodus

Kad ķēde ir pievienota Raspberry Pi, pārbaudiet to divreiz, lai pārliecinātos, ka viss ir savās vietās, un pēc tam atkal ieslēdziet to. Kad tas ir ieslēgts, atveriet termināli un ierakstiet

sudo/var/www/rfoutlet/RFSniffer

Pēc tam atveriet RFControl programmu. Termināla loga un programmas loga novietošana blakus var būt noderīga nākamajā darbībā.

Jums būs nepieciešama tālvadības pults, kas tagad bija iekļauta kontaktligzdas komplektā. Turiet to tuvu uztvērējam un nospiediet katru pogu. Nospiežot pogu, ekrānā redzēsit divus ciparus. Viens no tiem būs sešu vai septiņu ciparu kods, bet otrs - 3 ciparu kods. Programmā jums būs jārediģē kodu vārdnīca. Ievadiet 7 ciparu kodu atbilstošajā slēdža vietā programmā un katrai ieslēgšanas/izslēgšanas pogai ievietojiet 3 ciparu kodu (tas ir garums) atbilstošajā slēdža len programmā.

Piemēram, ja ieslēgšanas 1. kodam ir kods 1234567, izslēgšanas kods 7654321 un garums 890, kods izskatīsies šādi:

kodi = {

'switch1': {'on': 1234567, #Tas ir 1. slēdzis ieslēgts 'izslēgts': 7654321, #tas ir 1. slēdzis izslēgts 'len': 890, #tas ir 1. slēdža koda garums}, 'switch2': {… },…}

Atkārtojiet to katrai pogai. Kamēr rediģējat šo failu, nomainiet virknes ar tekstu “YOUR-SUB-KEY” uz savu PubNub abonēšanas atslēgu un “YOUR-PUB-KEY” uz publicēšanas atslēgu.

Kad katra poga ir ierakstīta, varat turpināt nākamo sadaļu.

7. darbība: programmas palaišana

Programmas palaišana
Programmas palaišana

Tagad, kad jums ir visi jūsu kodi, dodieties uz šo GitHub lapu (datorā, nevis aveņu pi) un noklikšķiniet uz zaļās pogas ar uzrakstu "Klonēt vai lejupielādēt", pēc tam noklikšķiniet uz "Lejupielādēt ZIP". Kad šis fails ir lejupielādēts, izpakojiet to un atveriet mapi. Atveriet failu ar nosaukumu main.js. Jums programmā būs jāievada abonēšanas un publicēšanas atslēgas, aizstājot “YOUR-PUB-KEY” ar publicēšanas atslēgu un “YOUR-SUB-KEY” ar abonēšanas atslēgu.

Pēc tam atgriezieties savā Raspberry Pi un ievadiet

python3 RFControl.py

Kad tiek izdrukāts uzraksts “Gatavs”, atgriezieties datorā un tīmekļa pārlūkprogrammā atveriet failu index.html, veicot pretēju klikšķi, atlasiet “Atvērt ar” un atlasiet vēlamo pārlūkprogrammu. Jums vajadzētu redzēt 2 kolonnas ar 5 pogām ar slēdžu nosaukumiem starp tām. Nospiediet jebkuru no pogām. Ja tas pareizi kontrolē kontaktligzdu, lieliski! Ja nē, izmēģiniet dažas lietas:

  1. Pārliecinieties, vai Raspberry Pi saņem ziņas. Tam vajadzētu drukāt uz ekrāna ikreiz, kad tiek saņemts ziņojums no tīmekļa lapas. Ja nē, pārliecinieties, vai abonēšanas/publicēšanas atslēgas ir pareizas.
  2. Ja Raspberry Pi saņem ziņojumus, pārliecinieties, vai jūsu RF kodi ir pareizi. Pārliecinieties, vai jūsu kontaktligzdas ir savienotas pārī ar tālvadības pulti, tālvadības pults var tās vadīt un vai programmā ievadītie kodi ir pareizi.
  3. Ja RF kodi ir pareizi, pārliecinieties, vai Raspberry Pi atrodas kontaktligzdu diapazonā. Ja tie sāk darboties pēc tam, kad tie ir pārvietoti tuvāk, jums, iespējams, būs jāpārveido antena.
  4. Ja tie joprojām nedarbojas, lūdzu, pastāstiet man savu problēmu komentāros, un es centīšos palīdzēt.

8. darbība: Darbojas startēšanas laikā

Lai startēšanas laikā palaistu savu python programmu, ievadiet to savā aveņu pi terminālī:

crontab -e

Pēc tam dodieties uz faila apakšdaļu un ievadiet šo:

@pārstartējiet python3 /home/pi/RFControl.py &

Tādējādi jūsu Python skripts katru reizi tiks palaists startēšanas laikā. Tagad pārstartējiet Raspberry Pi.

9. solis: papildu slēdžu pievienošana

Citu slēdžu pievienošana
Citu slēdžu pievienošana

Ja vēlaties pievienot vairāk tirdzniecības vietu, izpildiet šos norādījumus:

Raspberry Pi atveriet RFControl.py un slēdžu vārdnīcai pievienojiet jaunu slēdzi.

Piemērs:

slēdži = {

… Citi slēdži… 'NAME-OF-SWITCH': {'ieslēgts': xxxxxxx, 'izslēgts': gggyyyy, 'len': zzz,},}

Pēc tam pievienojiet jaunu pogu savā tīmekļa lietotnē, rediģējot slēdžu mainīgo savā datorā main.js.

Piemērs:

var slēdži = [… Vecie slēdži… ['NAME-TO-DISPLAY', 'NAME-OF-SWITCH'],];

Aizstājiet NAME-TO-DISPLAY ar nosaukumu, kuru vēlaties, lai tas tiktu parādīts tīmekļa vietnē, un NAME-OF-SWITCH abos failos ar visu, kas jums patīk. Tam tomēr jābūt unikālam no citiem!

10. solis: turpiniet

Ņemot to tālāk
Ņemot to tālāk

PubNub tiek atbalstīts daudzās dažādās platformās, kas nozīmē, ka varat sūtīt ziņojumus no gandrīz jebkuras ierīces! Es izmantoju Raspberry Pi AIY Voice komplektu un PubNub, lai ar balsi nosūtītu komandas, taču tas varētu būt vēlāk Instructable tēma. Paldies, ka izlasījāt manu pamācību, es ceru, ka tā bija noderīga!

11. darbība. Kredīti

Paldies Timam Lelandam par apmācību par RF raidītāja iestatīšanu: apmācība

Paldies diy_bloke par apmācību par antenas izveidi: apmācība

Paldies arī visiem citiem, kuri tiešsaistē ievietoja pamācības, kuras es apskatīju, lai saņemtu palīdzību!

Ieteicams: