Innehållsförteckning:
- Steg 1: Konfigurera och testa hårdvaran
- Steg 2: Konfigurera webbservern
- Steg 3: PHP -koden och webbskript
- Steg 4: Slutsats
Video: R Pi -fjärrkontroll PA och belysningssystem: 4 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
Detta är ett enkelt projekt för att göra ljudmeddelanden och tända och släcka lampor på en PI på distans från en webbläsare. Så här är vad du behöver:
1) Raspberry Pi med Apache och PhP förinstallerat. Jag använde en gammal Pi v1 som jag hade liggande. Jag antar att du har den ansluten till ditt hemnätverk via wi-fi eller ethernet.
2) Ljudhögtalare som kan anslutas till Pi via utgångshögtalaranslutningen. Jag använde en gammal uppsättning högtalare från ett gammalt stereosystem.
3) Uppsättning av julgransljus - jag köpte mina från Poundland.
4) Krokodilklämmor och paneler för anslutning / testning av Pi till högtalarna och lamporna. (Se 7)
5) PC eller laptop med Putty terminalemulator för åtkomst till Raspberry Pi
6) Krymptråd
7) Varmluftspistol för anslutning av högtalare och belysningskablar
Grundtanken är att jag använder ett webbformulär för att göra fjärrmeddelanden via mina högtalare och även tända och släcka lamporna. Jag använder PHP -skript som i sin tur kör Espeak för text till tal -bit och GPIO -kommandon för lamporna. Jag antar att du vet hur du installerar Apache och PhP på din Raspberry Pi. Det är mycket väl dokumenterat.
Jag försökte hålla denna låga kostnad och så jag använde en gammal stereohögtalare jag hade, och efter att ha tagit bort anslutningarna och exponerat kablarna kopplade jag den till en gammal mikrofonkabel som jag också hade klippt av. Detta innebar att medan högtalarvolymen var lägre än en externt driven högtalare, jag kunde driva allt från Raspberry Pi. Detsamma gällde lamporna. Jag tog bort 3.3v nätaggregat från dem, exponerade ledningarna och kopplade dem till Pi med hjälp av hona / manliga paneler. Jag kopplade alla dessa med krokodilklämmor.
Efter testning och validering kopplade jag senare alla trådar med värmekrymptråd med hjälp av en varmluftspistol.
Steg 1: Konfigurera och testa hårdvaran
Jag drev Pi och kopplade högtalarna till Pi: s ljudutgång. Jag kopplade lamporna genom att ansluta ena änden till GPIO17 (6: e stiftet ner på den inre kolonnen) och GND (3: e stiftet ner på den yttre kolonnen) - se bilden ovan. OBSERVERA ATT JAG ANVÄNDE EN PI -version 1 SÅ VÄNDIG ATT ÄNDRA PIN -KNAPPARNA OM DU ANVÄNDER EN SENARE VERSION AV PI.
Ovan visas värmekrymptråden och varmluftspistolen för anslutning av högtalare och belysningskablar
Därefter loggade jag in på Pi med hjälp av Putty från min Windows -bärbara dator. För att hitta Pi: s IP -adress öppnar du routerns IP -adress i din webbläsare (det brukar vara ungefär 192.168.1.254) som visar listan över anslutna enheter inklusive Pi -värdnamn och IP -adress. Du kan använda någon av dessa för att logga in på Putty men jag brukar använda IP -adressen eftersom jag har ett antal PI: er. Alternativt kan du logga in på Putty genom att prova ett värdnamn som pi eller raspberrypi. När du uppmanas att använda Putty för användarnamn och lösenord, försök med pi/hallon som är standardvärdena. (ANVÄNDNING AV STANDARDER ÄR MYCKET osäkert och lämnar dig öppen för att attackera från hackare även om de är i ett privat nätverk). Enligt min erfarenhet är Pi -programmen, Espeak- och GPIO -biblioteken installerade som standard på de flesta Pi -bilder.
Okej, när du öppnar kommandoraden på RaspberryPi försök med följande kommandon - sudo alsamixer som ska avslöja ett ljudkortskontroller - om du har en passiv högtalare, som jag har använt, måste du öka volymen till max. Slå sedan på lamporna
sudo/usr/local/bin/gpio -g -läge 17 outsudo/usr/local/bin/gpio -g skriv 17 1
släck sedan lamporna
(Observera eventuella problem, försök bara sudo gpio etc -kolla också om gpio är installerat genom att skriva gpio -v -om du behöver installera, titta på
sudo/usr/local/bin/gpio -g skriva 17 0
Testa nu att espeak fungerar
~ $ sudo espeak "det här är ett test"
Jag har sällan haft problem med Espeak men har stött på problem när Alsamixer -volymen är låg och ibland har andra program tagit tag i ljudkortet. Du måste köra ps -ef och se vilka andra medieprocesser som körs. Du kan använda något som sudo kill -9 $ (sudo ps aux | sudo grep -v grep | sudo grep mplayer | sudo awk '{print $ 2}') för att döda dem -Vi använder detta senare i PHP -skriptet
Steg 2: Konfigurera webbservern
Det finns ett antal steg vi måste utföra
1) Hitta ägaren till webbtjänsten / servern apache2 - kör sudo ps aux | egrep '(apache | httpd)' och du bör se www-data2) lägg till www-data i sudogruppen-kör sudo nano /etc /sudoers --- lägg till rad www-data ALL = (ALL) NOPASSWD: ALL
3) lägg till www-data i ljudgruppen-sudo adduser www-data audio
4) Ett valfritt steg är att skapa en phpinfo -fil som berättar alla PHP -funktioner du har och platsen för
conf -filen om du vill ändra saker. Till exempel blockerar vissa versioner av PHP funktionen shell_exec () som vi behöver för att köra kommandoradsprogram som Espeak från webbservern. Så här konfigurerar du phpinfo..
Gå till din standardwebbkatalog vanligtvis/var/www eller/var/www/html ….. det är den med index.html -filen och skriv sudo nano phpinfo.php, skriv sedan följande i nano -redigeraren och tryck på kontroll O för att spara och avsluta
Glöm inte att göra den körbar genom att skriva sudo chmod 755 phpinfo.php - För att se den, öppna följande webbadress i din webbläsare med ditt värdnamn istället för mitt, dvs raspberrypi -
?>
Steg 3: PHP -koden och webbskript
Jag har använt två program här - Ett för webbformuläret (espeak_form.php) och det andra som bearbetar formulärdata (my_espeak.php) Jag har inkluderat dessa ovan som textfiler och för att överföra dem till din Pi, med Putty skapa både php filer och klipp sedan ut och klistra in från respektive textfiler som visas ovan
pi@raspberrypi/var/www $ sudo nano /var//www/my_espeak.php
pi@raspberrypi/var/www $ sudo nano /var//www/espeak_form.php
Kom ihåg att göra dem körbara genom att skriva sudo chmod 755 *.php
Webbformulärets PHP -skript (espeak_form.php) som jag skrev kommer inte att vinna några designpriser men det har 2 delformulär. Den ena för att göra meddelandet (text till tal) och den andra formen en används för att växla lamporna en och från. Underformatet espeak gör att du kan välja olika accenter, en kvinnlig röst och en viskningsfunktion, Kärnan i my_espeak.php är användningen av php -funktionen - shell_exec (). Som du kan se tillåter detta PHP att utföra Linux -kommandon utan att behöva andra bibliotek, som du skulle behöva säga i Python.
Steg 4: Slutsats
Detta är en ganska komplex lösning genom att du använder många element i Pi -miljön, dvs PHP, kommandoradsfunktioner, Apache, GPIO etc. Jag hoppas att det illustrerar vad du kan göra med PI specifikt och IOT i allmänhet. Det finns ett antal andra sätt att uppnå detta och du kan till och med styra det från internet om du förstår portvidarebefordran, brandvägg och/ eller VPN. Jag hoppas att du tyckte om det men här är min ansvarsfriskrivning:
JAG KAN INTE GARANTIERA ATT DETTA ÄR ETT SÄKERT ELLER SÄKERT SYSTEM OCH ANVÄND DET INTE DET FÖR SYFTE SOM INKLUDERAR BEHANDLING AV PRIVAT, PERSONLIGA ELLER KOMMERSIELL KÄNSLIGA DATA. ANSLUT OCKSÅ Dina kablar på ett säkert sätt och om du använder tillfälliga anslutningar, E. G. KROKODILKLIPP DÅ LÄMMER DU INTE SYSTEMET OBEHANDLAT ELLER ANVÄNDER DET I HARRA MILJÖER.
Detta är ett fantastiskt sätt att lära sig mycket om IOT och bara komma ihåg innan du tänker på kommersiella applikationer med metoder som detta. Raspberry Pi är bara lika bra som sitt SD -kort. Jag skulle säga ett år vid normal användning jämfört med vissa servrar jag använde som körde i 10+ år.
Hur som helst, lycka till.
Rekommenderad:
Persienner med ESP8266, Google Home och Openhab -integration och webbkontroll: 5 steg (med bilder)
Kontroll av persienner med ESP8266, Google Home och Openhab -integration och webbkontroll: I den här instruktionsboken visar jag dig hur jag lade automatisering till mina persienner. Jag ville kunna lägga till och ta bort automatiseringen, så all installation är klämd på. Huvuddelarna är: Stegmotor Stegdrivrutinstyrd vid ESP-01 Växel och montering
Övervaka och registrera temperatur med Bluetooth LE och RaspberryPi: 9 steg (med bilder)
Övervaka och registrera temperatur med Bluetooth LE och RaspberryPi: Den här instruerbara handlingen handlar om hur man sätter ihop ett temperaturövervakningssystem med flera noder med Bluetooth LE-sensorbugg från Blue Radios (BLEHome) och RaspberryPi 3B Tack vare utvecklingen av standarden Bluetooth LE finns det nu tillgängligt
Gör en Air Raid Siren med motstånd och kondensatorer och transistorer: 6 steg (med bilder)
Gör en Air Raid Siren med motstånd och kondensatorer och transistorer: Detta prisvärda Air Raid Siren DIY-projekt är lämpligt för att undersöka självoscillationskrets som består av bara motstånd och kondensatorer och transistorer som kan berika din kunskap. Och den är lämplig för National Defense Education for Kids, i
2D -konst med programmerbara lysdioder och anpassningsbar bas och logotyp: 5 steg (med bilder)
2D -konst med programmerbara lysdioder och anpassningsbar bas och logotyp: Välkommen till den instruerbara! Idag kommer jag att visa dig hur du gör ett 2D -konstprojekt med en logotyp och övergripande design efter eget val. Jag gjorde det här projektet eftersom det kan lära människor om många färdigheter som programmering, kabeldragning, 3D -modellering och andra. Detta
Temperatur och fuktighet Display och datainsamling med Arduino och bearbetning: 13 steg (med bilder)
Temperatur- och luftfuktighetsvisning och datainsamling med Arduino och bearbetning: Intro: Detta är ett projekt som använder ett Arduino -kort, en sensor (DHT11), en Windows -dator och ett bearbetningsprogram (ett gratis nedladdningsbart) för att visa temperatur, luftfuktighetsdata i digital och stapeldiagramform, visa tid och datum och kör en räkningstid