INHOUDSOPGAWE:

R Pi -afstandsbediening PA en beligtingstelsel: 4 stappe (met foto's)
R Pi -afstandsbediening PA en beligtingstelsel: 4 stappe (met foto's)

Video: R Pi -afstandsbediening PA en beligtingstelsel: 4 stappe (met foto's)

Video: R Pi -afstandsbediening PA en beligtingstelsel: 4 stappe (met foto's)
Video: Штукатурка стен - самое полное видео! Переделка хрущевки от А до Я. #5 2024, November
Anonim
R Pi -afstandsbediening PA en beligtingstelsel
R Pi -afstandsbediening PA en beligtingstelsel
R Pi -afstandsbediening PA en beligtingstelsel
R Pi -afstandsbediening PA en beligtingstelsel
R Pi -afstandsbediening PA en beligtingstelsel
R Pi -afstandsbediening PA en beligtingstelsel

Dit is 'n eenvoudige projek om klankaankondigings te maak en die ligte op 'n PI op afstand van 'n webblaaier aan en uit te skakel. Hier is wat u nodig het:

1) Framboos Pi met vooraf geïnstalleerde Apache en PhP. Ek gebruik 'n ou Pi v1 wat ek rondgelê het. Ek neem aan dat u dit via wi-fi of ethernet aan u tuisnetwerk gekoppel het.

2) Klankluidspreker (s) wat via die uitsetluidsprekerverbinding met die Pi verbind kan word. Ek het 'n ou stel luidsprekers van 'n ou stereostelsel gebruik.

3) Stel kersboomligte - ek het myne by Poundland gekoop.

4) Krokodilklemme en broodbordkabels om die Pi aan te sluit op die luidsprekers en ligte (sien 7)

5) PC of skootrekenaar met Putty -terminale emulator vir toegang tot die Raspberry Pi

6) Krimpdraad verhit

7) Warmluggeweer vir die aansluiting van luidspreker- en beligtingskabels

Die basiese idee is dat ek 'n webvorm gebruik om op afstand aankondigings deur my luidspreker (s) te maak en ook die ligte aan en af te skakel. Ek gebruik PHP -skrifte wat op sy beurt Espeak uitvoer vir die teks na spraak -bit en GPIO -opdragte vir die ligte. Ek neem aan dat u weet hoe u Apache en PhP op u Raspberry Pi moet installeer. Dit is baie goed gedokumenteer.

Ek het probeer om hierdie lae koste te behou, en daarom gebruik ek 'n ou stereo luidspreker wat ek gehad het, en nadat ek die verbindings verwyder en die kabels blootgestel het, het ek dit gekoppel aan 'n ou mikrofoonkabel wat ek ook afgesny het. Dit het beteken dat terwyl die luidsprekervolume was laer as 'n eksterne luidspreker, ek kon alles van die Raspberry Pi af aandryf. Dieselfde geld vir die ligte. Ek het die 3.3v -kragbron van hulle verwyder, die drade blootgestel en aan die Pi gekoppel deur middel van 'n vroulike / manlike broodbordverbinding. Ek het dit alles met krokodilknipsels verbind.

Na die toetsing en bevestiging het ek later al die drade met 'n krimpdraad verbind met 'n warmluggeweer.

Stap 1: Stel die hardeware op en toets dit

Stel die hardeware op en toets dit
Stel die hardeware op en toets dit
Stel die hardeware op en toets dit
Stel die hardeware op en toets dit
Stel die hardeware op en toets dit
Stel die hardeware op en toets dit

Ek het die Pi aangedryf en die luidsprekers aan die Pi se klankuitgang gekoppel. Ek het die ligte verbind deur die een kant aan GPIO17 (6de pen op die binnekolom) en GND (3de pen op die buitenste kolom) te koppel - sien die foto hierbo. LET WEL DAT EK 'N PI -weergawe 1 GEBRUIK HET, VERANDER ASSEBLIEF DIE PINS VOLGENS DIE GEBRUIK VAN' N LATER VERSIE VAN DIE PI.

Hierbo is die Heat Shrink Wire en Hot Air -geweer vir die aansluiting van luidspreker- en beligtingskabels

Toe ek alles aangeskakel het, het ek op my Pi aangemeld met Putty vanaf my Windows -skootrekenaar. Om die IP -adres van die Pi te vind, maak u die router se IP -adres oop in u webblaaier (dit is gewoonlik 192.168.1.254) wat die lys met gekoppelde toestelle, insluitend die Pi -gasheernaam en IP -adres, vertoon. U kan een van hierdie twee gebruik om by Putty aan te meld, maar ek gebruik gewoonlik die IP -adres omdat ek 'n aantal PI's het. Alternatiewelik kan u by Putty aanmeld deur 'n gasheernaam soos pi of framboospi te probeer. As u Putty vir die gebruikersnaam en wagwoord vra, probeer dan pi/framboos, wat die standaard is. (Die gebruik van standaard is baie onseker en laat u oop om van hackers af te val, selfs as dit op 'n privaat netwerk is). Volgens my ervaring is die Pi -programme, die Espeak- en GPIO -biblioteke standaard op die meeste Pi -beelde geïnstalleer.

As u toegang tot die opdragreël op die RaspberryPi verkry, probeer die volgende opdragte - sudo alsamixer wat 'n klankkaartkontrole moet openbaar - as u 'n passiewe luidspreker het, soos ek gebruik het, moet u die volume verhoog tot maks. Skakel dan die ligte aan

sudo/usr/local/bin/gpio -g -modus 17 outsudo/usr/local/bin/gpio -g skryf 17 1

skakel dan die ligte af

(Let wel: enige probleme, probeer net sudo gpio, ens. -kyk ook of gpio geïnstalleer is deur gpio -v in te tik -kyk na

sudo/usr/local/bin/gpio -g skryf 17 0

Toets nou dat die espeak werk

~ $ sudo sê "dit is 'n toets"

Ek het selde probleme met Espeak gehad, maar het probleme ondervind wanneer die Alsamixer -volume laag is, en soms het ander programme die klankkaart gekry. U moet ps -ef uitvoer en kyk watter ander mediaprosesse uitgevoer word. U kan iets soos sudo kill -9 $ (sudo ps aux | sudo grep -v grep | sudo grep mplayer | sudo awk '{print $ 2}') gebruik om dit dood te maak -ons gebruik dit later in die PHP -script

Stap 2: Die opstel van die webbediener

Die opstel van die webbediener
Die opstel van die webbediener
Die opstel van die webbediener
Die opstel van die webbediener

Daar is 'n aantal stappe wat ons moet uitvoer

1) Soek die eienaar van die webdiens / bediener apache2 - voer sudo ps aux | egrep '(apache | httpd)' en u moet www-data2 sien) voeg www-data by die sudo-groep-voer sudo nano /etc /sudoers --- voeg reël www-data ALL = (ALL) NOPASSWD: ALL by

3) voeg www-data by die klankgroep-sudo adduser www-data audio

4) 'n Opsionele stap is om 'n phpinfo -lêer te skep wat u alle PHP -funksies en die ligging van

die conf -lêer as u dinge wil verander. Sommige weergawes van PHP blokkeer byvoorbeeld die funksie shell_exec () wat ons nodig het om opdragreëlprogramme soos Espeak vanaf die webbediener uit te voer. Hier is hoe u phpinfo opstel..

Gaan gewoonlik na u standaard webgids/var/www of/var/www/html … dit is die een met die index.html -lêer en tik sudo nano phpinfo.php, tik dan die volgende in die nano -redakteur en druk beheer O om stoor en verlaat

Moenie vergeet om dit uitvoerbaar te maak deur sudo chmod 755 te tik nie phpinfo.php - Om dit te sien, maak die volgende url in u webblaaier oop met u gasheernaam in plaas van myne, dit wil sê raspberrypi -

?>

Stap 3: Die PHP -kode en webskrifte

Die PHP -kode en webskrifte
Die PHP -kode en webskrifte

Ek het hier twee programme gebruik - een vir die webvorm (espeak_form.php) en die ander wat die vormdata verwerk (my_espeak.php). Ek het dit hierbo as tekslêers ingesluit en om dit na u Pi oor te dra, met behulp van Putty, skep beide php lêers en knip en plak dan uit die onderskeie tekslêers hierbo

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

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

Onthou om dit uitvoerbaar te maak deur sudo chmod 755 *.php in te tik

Die PHP -script van die webvorm (espeak_form.php) wat ek geskryf het, wen geen ontwerppryse nie, maar dit het 2 subvorme. Die een om die aankondiging te maak (teks na spraak) en die ander vorm een word gebruik om die ligte een uit te skakel. Met die onderkant vorm kan u verskillende aksente, 'n vroulike stem en 'n fluisterfunksie kies.

Die kern van my_espeak.php is die gebruik van die php -funksie - shell_exec (). Soos u kan sien, laat dit PHP toe om Linux -opdragte uit te voer sonder dat ander biblioteke nodig is, soos u in Python sou sê.

Stap 4: Gevolgtrekking

Dit is 'n redelik komplekse oplossing omdat u baie elemente van die Pi -omgewing gebruik, dit wil sê PHP, kommandorigelfunksies, Apache, GPIO, ens. Ek hoop dat dit illustreer wat u spesifiek met PI's en IOT in die algemeen kan doen. Daar is 'n aantal ander maniere om dit te bereik, en u kan dit selfs vanaf die internet beheer as u poort -aanstuur, firewall en/ of VPN verstaan. Ek hoop dat u dit geniet het, maar hier is my vrywaring:

EK KAN NIE WAARBORG DAT DIT 'N VEILIGE OF VEILIGE STELSEL IS NIE, EN MOET DIT DAAROM ASSEBLIEF NIE GEBRUIK VIR DOELSTELLINGS WAT BEHANDELING VAN PRIVAAT, PERSOONLIKE OF KOMMERSIËLE GEGEVENS INSLUIT NIE. KOOP OOK U KABELLE VEILIG EN AS U TYDELIKE AANSLUITINGS GEBRUIK, E. G. KROKODIELKNIPPERS MOET DAN NIE DIE STELSEL AAN DIE TOESIG VERHOUD NIE OF IN HARDE OMGEWINGS GEBRUIK.

Dit is 'n fantastiese manier om baie oor IOT te leer en net te onthou voordat u na kommersiële toepassings dink met behulp van metodes soos hierdie. Die Raspberry Pi is net so goed soos sy SD -kaart. Ek sou sê 'n jaar in normale gebruik in vergelyking met sommige bedieners wat ek gebruik het, wat 10+ jaar lank werk.

In elk geval, baie geluk.

Aanbeveel: