R Pi -Daljinski upravljač PA i sistem osvjetljenja: 4 koraka (sa slikama)
R Pi -Daljinski upravljač PA i sistem osvjetljenja: 4 koraka (sa slikama)
Anonim
R Pi -Daljinski upravljač PA i sistem osvetljenja
R Pi -Daljinski upravljač PA i sistem osvetljenja
R Pi -Daljinski upravljač PA i sistem osvetljenja
R Pi -Daljinski upravljač PA i sistem osvetljenja
R Pi -Daljinski upravljač PA i sistem osvetljenja
R Pi -Daljinski upravljač PA i sistem osvetljenja

Ovo je jednostavan projekt za davanje audio najava i uključivanje i isključivanje svjetla na PI daljinski iz web preglednika. Pa evo šta vam treba:

1) Raspberry Pi sa unapred instaliranim Apache -om i PhP -om. Koristio sam stari Pi v1 koji sam ležao. Pretpostavljam da ste ga povezali sa kućnom mrežom putem wi-fi-ja ili etherneta.

2) Audio zvučnici (i) koji se mogu spojiti na Pi preko veze izlaznog zvučnika. Koristio sam stari set zvučnika iz drevnog stereo sistema.

3) Set božićnih svjetala - ja sam svoje kupio od Poundlanda.

4) Krokodilske kopče i kablovi za povezivanje / testiranje Pi na zvučnike i svjetla. (Vidi 7)

5) Računalo ili laptop sa Putty terminalskim emulatorom za pristup Raspberry Pi

6) Termoskupljajuća žica

7) Pištolj sa toplim vazduhom za povezivanje zvučnika i kablova za osvetljenje

Osnovna ideja je da koristim web obrazac za davanje daljinskih objava kroz zvučnike, kao i da palim i gasim svjetla. Koristim PHP skripte koje zauzvrat izvršavaju Espeak za bit za pretvaranje teksta u govor i GPIO naredbe za svjetla. Pretpostavljam da znate kako instalirati Apache i PhP na svoj Raspberry Pi. Vrlo je dobro dokumentovano.

Pokušao sam zadržati ovu nisku cijenu pa sam upotrijebio stari zvučnik stereo sistema koji sam imao, a nakon što sam uklonio veze i razotkrio kabele, spojio sam ga sa starim kablom za mikrofon koji sam također presjekao. To je značilo da je glasnoća zvučnika bila je niža od zvučnika sa vanjskim napajanjem, mogao sam napajati sve iz Raspberry Pi. Isto je bilo i sa svetlima. Uklonio sam kutiju za napajanje od 3.3v, izložio žice i spojio ih na Pi pomoću ženskih / muških konektora za matičnu ploču. Sve sam to povezao krokodilskim isječcima.

Nakon ispitivanja i validacije, kasnije sam sve žice spojio termoskupljajućom žicom pomoću pištolja za topli zrak.

Korak 1: Postavite i testirajte hardver

Postavite i testirajte hardver
Postavite i testirajte hardver
Postavite i testirajte hardver
Postavite i testirajte hardver
Postavite i testirajte hardver
Postavite i testirajte hardver

Napajao sam Pi i spojio zvučnike na Pi izlaznu audio utičnicu. Spojio sam svjetla spajanjem jednog kraja na GPIO17 (6. pin prema dolje u unutrašnjoj koloni) i GND (3. pin down prema vanjskom stupu) - pogledajte gornju fotografiju. MOLIMO VAM ZNAMINU DA SAM KORISTIO PI verziju 1, MOLIMO VAS DA PROMJENITE PINOVE PREMA tome ako koristite kasniju verziju PI -ja.

Gore su prikazane termoskupljajuća žica i pištolj za topli zrak za povezivanje zvučnika i žica za osvjetljenje

Zatim, sa svim uključenim, prijavio sam se na Pi koristeći Putty sa svog Windows laptopa. Da biste pronašli Pi -jevu IP adresu, otvorite IP adresu usmjerivača u svom web pregledniku (obično je to nešto poput 192.168.1.254) koji će prikazati popis povezanih uređaja, uključujući ime i IP adresu hosta Pi. Možete koristiti bilo koji od ovih načina za prijavu na Putty, ali ja obično koristim IP adresu jer imam nekoliko PI -ova. Alternativno, možete se prijaviti na Putty pokušavajući ime hosta, poput pi ili raspberrypi. Kada se na Putty -u zatraži korisničko ime i lozinka, pokušajte sa pi/raspberry -om koji su zadane vrijednosti. (KORIŠĆENJE ZADANIH PODATAKA JE VRLO NESIGURNO I OSTAVLJAVATE OTVORENE NAPADE OD HAKERA ČAK I U PRIVATNOJ MREŽI). Prema mom iskustvu, Pi programi, Espeak i GPIO biblioteke su standardno instalirani na većini Pi slika.

U redu, kada pristupite naredbenoj liniji na RaspberryPi -u, pokušajte sa sljedećim naredbama - sudo alsamixer koji bi trebao otkriti kontrole zvučne kartice - ako imate pasivni zvučnik, kao što sam već koristio, morat ćete povećati glasnoću na maks. Zatim upalite svjetla

sudo/usr/local/bin/gpio -g način rada 17 outsudo/usr/local/bin/gpio -g pisanje 17 1

zatim isključite svjetla

(Napomena: ako imate problema, samo pokušajte sudo gpio itd. -također provjerite je li gpio instaliran upisivanjem gpio -v -ako trebate instalirati, pogledajte

sudo/usr/local/bin/gpio -g piši 17 0

Sada provjerite radi li espeak

~ $ sudo espeak "ovo je test"

Rijetko sam imao problema s Espeakom, ali nailazio sam na probleme kada je glasnoća Alsamixera niska, a ponekad su i drugi programi ugrabili zvučnu karticu. Morate pokrenuti ps -ef i vidjeti koji drugi medijski procesi rade. Možete upotrijebiti nešto poput sudo kill -9 $ (sudo ps aux | sudo grep -v grep | sudo grep mplayer | sudo awk '{print $ 2}') da ih ubijete -Ovo ćemo koristiti kasnije u PHP skripti

Korak 2: Postavljanje web servera

Postavljanje web servera
Postavljanje web servera
Postavljanje web servera
Postavljanje web servera

Postoji niz koraka koje moramo provesti

1) Pronađite vlasnika web usluge / servera apache2 - pokrenite sudo ps aux | egrep '(apache | httpd)' i trebali biste vidjeti www-data2) dodajte www-podatke u sudo grupu-pokrenite sudo nano /etc /sudoers --- dodajte red www-data ALL = (ALL) NOPASSWD: ALL

3) dodajte www-podatke u audio grupu-sudo adduser www-data audio

4) Neobavezni korak je stvaranje phpinfo datoteke koja vam govori o svim PHP funkcijama koje imate i lokaciji

conf datoteku ako želite promijeniti stvari. Na primjer, neke verzije PHP -a blokiraju funkciju shell_exec () koja nam je potrebna za pokretanje programa naredbenog retka poput Espeaka s web servera. Evo kako postavljate phpinfo..

Idite na vaš zadani web direktorij obično/var/www ili/var/www/html….. to je onaj s datotekom index.html i upišite sudo nano phpinfo.php, a zatim upišite sljedeće u nano editor i pritisnite kontrolu O da sačuvaj i izađi

Ne zaboravite učiniti ga izvršnim upisivanjem sudo chmod 755 phpinfo.php - Da biste ga vidjeli, otvorite sljedeći url u svom web pregledniku koristeći svoje ime hosta umjesto mog, tj. Raspberrypi -

?>

Korak 3: PHP kôd i web skripte

PHP kod i web skripte
PHP kod i web skripte

Ovdje sam koristio dva programa - jedan za web obrazac (espeak_form.php) i drugi koji obrađuje podatke obrasca (my_espeak.php) Uključio sam ih gore kao tekstualne datoteke i za prijenos na vaš Pi, koristeći Putty stvorite oba php -a datoteke, a zatim izrežite i zalijepite iz odgovarajućih tekstualnih datoteka prikazanih gore

pi@raspberrypi/var/www $ sudo nano /var//www/my_espeak.php

pi@raspberrypi/var/www $ sudo nano /var//www/espeak_form.php

Ne zaboravite ih učiniti izvršnim upisivanjem sudo chmod 755 *.php

PHP skripta web obrasca (espeak_form.php) koju sam napisao neće osvojiti nagrade za dizajn, ali ima 2 pod obrasca. Jedan se daje za najavu (tekst u govor), a drugi se koristi za uključivanje i isključivanje svjetla. Podobrazac espeak dopušta vam da odaberete različite akcente, ženski glas i funkciju šapata, Jezgro my_espeak.php je upotreba php funkcije - shell_exec (). Kao što vidite, ovo dozvoljava PHP -u izvršavanje naredbi Linuxa bez potrebe za drugim bibliotekama, što biste trebali reći u Pythonu.

Korak 4: Zaključak

Ovo je prilično složeno rješenje jer koristite mnoge elemente Pi okruženja, npr. PHP, funkcije komandne linije, Apache, GPIO itd. Nadam se da ilustrira šta možete učiniti s PI -ovima posebno i IOT -om u općenito. Postoje brojni drugi načini za postizanje toga, pa čak možete kontrolirati i s interneta ako razumijete prosljeđivanje portova, vatrozid i/ ili VPN. Nadam se da ste uživali, ali evo mog odricanja od odgovornosti:

NE MOGU JAMČITI DA JE OVO SIGURAN ILI SIGURAN SISTEM I ZATO MOLIMO DA GA NE KORISTITE U SVRHE KOJE UKLJUČUJU OBRADU PRIVATNIH, OSOBNIH ILI KOMERCIJALNO OSJETLJIVIH PODATAKA. TAKOĐE, SIGURNO SPOJITE KABLOVE I AKO KORISTITE PRIVREMENE VEZE, Npr. KROKODILSKE OGLASE ONDA NE OSTAVLJAJTE SISTEM BEZ NADZORA ILI KORISTITE U TEŠKOM OKOLIŠU.

Ovo je fantastičan način da naučite mnogo o IOT -u i samo se sjetite prije nego razmislite o komercijalnim aplikacijama koristeći ovakve metode. Raspberry Pi je dobar koliko i njegova SD kartica. Rekao bih godinu dana u normalnoj upotrebi u odnosu na neke servere koje sam koristio i koji su radili više od 10 godina.

U svakom slučaju, sretno.

Preporučuje se: