Sadržaj:
- Korak 1: Postavljanje servera i zavisnosti na Raspberry Pi
- Korak 2: Instalirajte Web Framework i konfiguraciju za NGiNX
- Korak 3: Postavljanje Python skripti koje će imati interakciju s GPIO -om
- Korak 4: Završite na Php strani stvari
- Korak 5: Kreiranje kruga
- Korak 6: Završno testiranje
- Korak 7: Bonus dio: Trikger Clapper stare škole
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
U ovom projektu ću dati primjer kako stvoriti potpuno bežični sistem upravljanja svjetlom s dodatnim bonusom na kraju. Pratite kompletan vodič.
Zahtjevi:
- Raspberry Pi (bilo koji ukus je u redu, ali koristio sam model 3B+)
- Dva 2n2222 tranzistora (preporučujem da kupite najmanje pet jer postoje velike šanse da ćete ih greškom kratiti)
-Muški na muški i muški na ženski kratkospojni kablovi
- Oglasna ploča
- (opcionalno, ali preporučeno) Napajanje od 5V za matičnu ploču
- Dva od 1k i 10k otpornika
- Modul sa dva releja
- Dvije stare kućne lampe ili drugi uređaji za osvjetljenje (koristite LED sijalice jer žarulje sa žarnom niti imaju tendenciju izgaranja tokom testiranja)
- Ljepljiva traka i rezač kabela za spajanje
Korak 1: Postavljanje servera i zavisnosti na Raspberry Pi
Za svoj projekat koristio sam NGiNX, iako možete koristiti bilo koji server koji želite (Apache2, itd.). Instalacija vanilije s upraviteljem paketa je u redu, nema potrebe za sastavljanjem vlastitog izvora ili bilo čega sličnog. Trebat će nam i PHP, Python3 i Composer.
- SSH u svoj PI i upišite $ sudo nano /etc/dhcpcd.conf
- Konfigurirajte statičke IP parametre
- Ponovo pokrenite PI
- Provjerite radi li sve upisivanjem {the_ip_you_chose} u adresnu traku vašeg preglednika (trebali biste vidjeti stranicu dobrodošlice nginxa)
Korak 2: Instalirajte Web Framework i konfiguraciju za NGiNX
Želimo imati web stranicu kojoj možemo pristupiti iz našeg mobilnog ili stolnog preglednika, a kako bismo se riješili pisanja običnog php/html koda koji nije obuhvaćen ovim vodičem, umjesto toga ćemo koristiti PHP okvir nazvan Yii2 za rukovanje osnovnim usmjeravanje i oblikovanje za nas.
- Idite na stranicu za instaliranje Yii2 i pomoću kompozitora instalirajte je u/var/www/html/light-switch
- Još nećemo vidjeti ništa jer još uvijek nismo unijeli našu konfiguracijsku datoteku za poslužitelj
- Priložio sam datoteku (zadano) ovom koraku
- Upotrijebite ga kao što je s ovim okvirom ili potražite drugi na mreži ako više volite drugi pozadinski okvir
- Morate staviti ovu datoteku u/etc/nginx/sites-available/
- Ponovo učitajte NGiNX sa $ sudo systemctl reload nginx
- U slučaju da nešto ne radi, možete pokrenuti $ sudo nginx -t za otklanjanje grešaka u konfiguracijskim datotekama
Korak 3: Postavljanje Python skripti koje će imati interakciju s GPIO -om
Kako se PHP ne voli tako dobro igrati sa skriptama tipa izvođenja, poput GPIO API-ja, a python nije baš prijateljski nastrojen prema web aplikacijama, mi ćemo ih koristiti u njihovom povoljnom kontekstu. U prilogu ovog koraka pronaći ćete 4 potrebne python skripte koje stupaju u interakciju sa pinovima i pokreću svjetla. Postavite skripte gdje god želite, ali zabilježite njihovu lokaciju jer će nam trebati u sljedećem koraku kada postavimo php stranu stvari.
Korak 4: Završite na Php strani stvari
Sve što trebamo učiniti je ukloniti neke od zadanih staza i stranica iz glavnog izgleda i dodati nekoliko redova koda u SiteController plus novu metodu pod nazivom actionLightswitch (). Nakon toga će izvršiti python skripte iz prethodnog koraka koje će zauzvrat narediti GPIO pinove.
Korak 5: Kreiranje kruga
Zbog prirode ovog specifičnog relejnog modula (on se prebacuje kada je spojen na GND) moramo izgraditi krug pomoću tranzistora. PI će otvoriti samo tranzistor koji će propustiti struju iz relejnih podatkovnih pinova u GND čime se aktivira zavojnica i zatvara krug za lampe. Slijedite sheme na priloženim slikama i bit ćete spremni.
Za ovaj sljedeći dio morate biti jako oprezni jer je vrijeme za povezivanje releja. Prvo isključite sve iz utičnice! Relej ima 3 priključka po priključku. Priključit ćemo kabele naših uređaja na srednji i onaj s oznakom otvorenosti na njemu. Pažljivo spojite kabel kako biste otkrili bakrene vodiče i umetnite ih u gore navedene priključke releja. Redoslijed nije bitan jer sada radimo s alternativnom strujom.
Korak 6: Završno testiranje
Provjerite svoj krug i dodijeljene pinove najmanje dva puta, a zatim spojite PI na napajanje i upišite {the_chosen_ip} u adresnu traku preglednika. Prva stranica će imati naša dva prekidača. Kliknite na njih i gledajte kako se svjetla pale/gase.
Korak 7: Bonus dio: Trikger Clapper stare škole
Zahtjevi:
- bilo koji USB mikrofon (ne mora biti kvalitetan)
- ALSA paket (način instalacije će se razlikovati ovisno o vašoj distribuciji)
- PyAudio modul
Kopirajte priloženu python skriptu i priključite mikrofon. Ponovo pokrenite PI. Izvršite skriptu i slijedite upute konzole. Približite se mikrofonu i pljesnite rukama dva puta. Trebali biste vidjeti da se klapne registriraju u izlazu konzole, a ako su uspješne, oba svjetla će se upaliti nakon 2 sekunde.