Talaan ng mga Nilalaman:

R Pi -Remote Control PA at Lighting System: 4 na Hakbang (na may Mga Larawan)
R Pi -Remote Control PA at Lighting System: 4 na Hakbang (na may Mga Larawan)

Video: R Pi -Remote Control PA at Lighting System: 4 na Hakbang (na may Mga Larawan)

Video: R Pi -Remote Control PA at Lighting System: 4 na Hakbang (na may Mga Larawan)
Video: A Brief History of the Nissan Z 2024, Nobyembre
Anonim
R Pi -Remote Control PA at Lighting System
R Pi -Remote Control PA at Lighting System
R Pi -Remote Control PA at Lighting System
R Pi -Remote Control PA at Lighting System
R Pi -Remote Control PA at Lighting System
R Pi -Remote Control PA at Lighting System

Ito ay isang simpleng proyekto para sa paggawa ng mga audio anunsyo at pag-on at pag-off ng mga ilaw sa isang PI mula sa isang web browser. Kaya narito ang kailangan mo:

1) Raspberry Pi na may Apache at PhP na paunang naka-install. Gumamit ako ng isang lumang Pi v1 na nakahiga ako. Ipinapalagay ko na nakakonekta mo ito sa iyong home network sa pamamagitan ng wi-fi o ethernet.

2) Mga audio speaker (s) na maaaring konektado sa Pi sa pamamagitan ng koneksyon ng output speaker. Gumamit ako ng isang lumang hanay ng mga nagsasalita mula sa isang sinaunang stereo system.

3) Ang hanay ng mga ilaw ng puno ng Xmas - Bumili ako ng minahan mula sa Poundland.

4) Mga clip ng Crocodile at mga cable cable para sa pagkonekta / pagsubok sa Pi sa mga speaker at ilaw. (Tingnan ang 7)

5) Pc o laptop na may Putty terminal emulator para sa pag-access sa Raspberry Pi

6) Heat Shrink Wire

7) Hot Air gun para sa pagkonekta ng mga wire ng speaker at ilaw

Ang pangunahing ideya ay gumagamit ako ng isang form sa web upang makagawa ng mga malayuang anunsyo na ma-uusapan ang aking (mga) speaker at isara at patayin din ang mga ilaw. Gumagamit ako ng mga script ng PHP na kung saan ay naisasagawa ang Espeak para sa teksto sa pagsasalita ng kaunti at mga utos ng GPIO para sa mga ilaw. Ipinapalagay ko na alam mo kung paano i-install ang Apache at PhP sa iyong Raspberry Pi. Napakahusay na dokumentado.

Sinubukan kong panatilihin ang mababang gastos na ito at sa gayon ay gumamit ako ng isang lumang stereo system speaker na mayroon ako, at pagkatapos alisin ang mga koneksyon at ilantad ang mga kable, ikinonekta ko ito sa isang lumang mic cable na pinutol ko rin. Nangangahulugan ito na habang ang Ang dami ng nagsasalita ay mas mababa kaysa sa isang panlabas na pinapagana ng speaker, kaya kong paandarin ang lahat mula sa Raspberry Pi. Ganun din ang nangyari sa mga ilaw. Inalis ko ang kahon ng suplay ng kuryente na 3.3v mula sa kanila, inilantad ang mga wire at ikinonekta ito sa Pi gamit ang mga konektor ng babaeng / lalaki na breadboard. Ikinonekta ko ang lahat ng ito sa mga clip ng crocodile.

Matapos ang pagsubok at pagpapatunay, kinonekta ko kalaunan ang lahat ng mga wire na may heat shrink wire gamit ang isang hot air gun.

Hakbang 1: I-set up at Subukan ang Hardware

I-set up at Subukan ang Hardware
I-set up at Subukan ang Hardware
I-set up at Subukan ang Hardware
I-set up at Subukan ang Hardware
I-set up at Subukan ang Hardware
I-set up at Subukan ang Hardware

Pinagana ko ang Pi at ikinonekta ang mga speaker sa audio output jack ng Pi. Ikinonekta ko ang mga ilaw sa pamamagitan ng pagkonekta sa isang dulo sa GPIO17 (Ika-6 na pin pababa sa panloob na haligi) at GND (Ika-3 na pin pababa sa panlabas na haligi) - tingnan ang larawan sa itaas. PAKITANDAAN NA NAGGAMIT AKO NG PI bersyon 1 KAYA PAKITING PALITAN ANG PINS AYON KUNG Gumagamit KA NG LATER VERSION NG PI.

Ipinakita sa itaas ang Heat Shrink Wire at Hot Air gun para sa pagkonekta sa mga wire ng speaker at ilaw

Susunod sa lahat ng pinapatakbo ay naka-log ako sa Pi gamit ang Putty mula sa aking Windows laptop. Upang mahanap ang IP address ng Pi buksan ang IP address ng iyong router sa iyong web browser (karaniwang ito ay tulad ng 192.168.1.254) na magpapakita ng listahan ng mga konektadong aparato kabilang ang pangalan ng host ng Pi at IP address. Maaari mong gamitin ang alinman sa mga ito upang mag-log in sa Putty ngunit karaniwang ginagamit ko ang IP address dahil mayroon akong isang bilang ng mga API. Bilang kahalili, maaari kang mag-log in sa Putty sa pamamagitan ng pagsubok ng isang hostname tulad ng pi o raspberrypi. Kapag na-prompt kay Putty para sa pangalan ng gumagamit at password subukan ang pi / raspberry na kung saan ay ang mga default. (ANG PAGGAMIT NG MGA DEFAULTS AY SOBRANG INSECURA AT IWAN KANG BUKSAN KAYO UPANG MANGATAKOT MULA SA HACKERS KAHIT SA SA PRIBADONG NETWORK). Sa aking karanasan, ang mga programa ng Pi, mga aklatan ng Espeak at GPIO ay naka-install bilang default sa karamihan ng mga larawang Pi.

Okay, kapag na-access mo ang linya ng utos sa RaspberryPi subukan ang mga sumusunod na utos - sudo alsamixer kung aling shoudl ang magbunyag ng mga kontrol ng sound card - kung mayroon kang isang passive speaker, tulad ng ginamit ko, kakailanganin mong dagdagan ang dami sa max. Susunod, buksan ang mga ilaw

sudo / usr / local / bin / gpio -g mode 17 outsudo / usr / local / bin / gpio -g isulat ang 17 1

pagkatapos, patayin ang mga ilaw

(NB anumang mga problema subukan lamang ang sudo gpio atbp - suriin din kung naka-install ang gpio sa pamamagitan ng pagta-type ng gpio -v - kung kailangan mong mag-install tingnan ang

sudo / usr / local / bin / gpio -g isulat ang 17 0

Ngayon subukan na gumagana ang espeak

~ $ sudo espeak "ito ay isang pagsubok"

Bihira akong nagkaroon ng mga problema sa Espeak ngunit nakasalamuha ko ang mga isyu kapag ang dami ng Alsamixer ay mababa, at kung minsan ang iba pang mga programa ay nakuha ang sound card. Kailangan mong patakbuhin ang ps -ef at makita kung ano ang iba pang mga proseso ng media na tumatakbo. Maaari mong gamitin ang isang bagay tulad ng sudo kill -9 $ (sudo ps aux | sudo grep -v grep | sudo grep mplayer | sudo awk '{print $ 2}') upang patayin sila - Ginagamit namin ito mamaya sa PHP script

Hakbang 2: Pag-set up ng Web Server

Pagse-set up ng Web Server
Pagse-set up ng Web Server
Pagse-set up ng Web Server
Pagse-set up ng Web Server

Mayroong isang bilang ng mga hakbang na kailangan nating isagawa

1) Hanapin ang may-ari ng web service / server apache2 - patakbuhin ang sudo ps aux | egrep '(apache | httpd)' at dapat mong makita ang www-data2) magdagdag ng www-data sa sudo group - patakbuhin ang sudo nano / etc / sudoers --- magdagdag ng linya ng www-data LAHAT = (LAHAT) NOPASSWD: LAHAT

3) magdagdag ng www-data sa audio group - sudo adduser www-data audio

4) Ang isang opsyonal na hakbang ay upang lumikha ng isang phpinfo file na nagsasabi sa iyo ng lahat ng mga pagpapaandar ng PHP na mayroon ka at ang lokasyon ng

ang conf file ay nais mong baguhin ang mga bagay. Halimbawa, ang ilang mga bersyon ng PHP ay humahadlang sa function shell_exec () na kailangan namin upang magpatakbo ng mga programa ng command line tulad ng Espeak mula sa web server. Narito; paano mo nai-set up ang phpinfo..

Pumunta sa iyong default na direktoryo sa web / var / www o / var / www / html….. ito ang mayroong index.html file at i-type ang sudo nano phpinfo.php pagkatapos ay i-type ang sumusunod sa nano editor at pindutin ang control O to makatipid at lumabas

Huwag kalimutan na maisagawa ito sa pamamagitan ng pagta-type ng sudo chmod 755 phpinfo.php - Upang matingnan ito, buksan ang sumusunod na url sa iyong web browser gamit ang iyong hostname sa halip na ang akin, ibig sabihin, raspberrypi -

?>

Hakbang 3: Ang PHP Code at Web Script

Ang PHP Code at Web Script
Ang PHP Code at Web Script

Gumamit ako ng dalawang mga programa dito - Isa para sa webform (espeak_form.php) at iba pa na nagpoproseso ng form data (my_espeak.php) Isinama ko ang mga ito sa itaas bilang mga file ng teksto at ilipat ang mga ito sa iyong Pi, gamit ang Putty lumikha ng parehong php mga file at pagkatapos ay i-cut at i-paste mula sa kani-kanilang mga file ng teksto na ipinakita sa itaas

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

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

Tandaan na gawing maisagawa ang mga ito sa pamamagitan ng pag-type ng sudo chmod 755 *.php

Ang web form na PHP script (espeak_form.php) na isinulat ko ay hindi mananalo ng anumang mga premyo sa disenyo ngunit mayroon itong 2 sub form. Ang isa upang gawin ang anunsyo (teksto sa pagsasalita) at ang iba pang form na isa ay ginagamit upang i-toggle ang mga ilaw nang isa at i-off. Pinapayagan ka ng espeak na sub form na pumili ng iba't ibang mga accent, isang babaeng boses at isang pagpapaandar ng bulong, Ang core ng my_espeak.php ay ang paggamit ng php function - shell_exec (). Tulad ng nakikita mo, pinapayagan nito ang PHP na magpatupad ng mga utos ng Linux nang hindi kailangan ng iba pang mga aklatan, tulad ng kakailanganin mong sabihin sa Python.

Hakbang 4: Konklusyon

Ito ay isang makatwirang kumplikadong solusyon sa kung gumagamit ka ng maraming mga elemento ng kapaligiran ng Pi, ibig sabihin, PHP, pag-andar ng linya ng comand, Apache, GPIO atbp Inaasahan kong inilalarawan nito kung ano ang maaari mong gawin sa mga PI partikular at IOT sa generl. Mayroong isang bilang ng iba pang mga paraan upang makamit ito at maaari mo ring makontrol ito mula sa internet kung nauunawaan mo ang pagpapasa ng port, firewalling at / o VPN. Inaasahan kong nasiyahan ka dito ngunit narito ang aking disclaimer:

HINDI AKO MANGGURANTADO NA ITO AY ISANG LIGTAS O LIGURONG SISTEMA AT KAYA HUWAG GAMITIN GAMITIN ITO PARA SA MGA LAYUNIN NA KASAMA SA PROSESO NG PRIBADONG, PERSONAL O KOMPENSYAL NA SENSITIBONG DATA. DIN, CONNECT ANG IYONG CABLES LIGTAS AT KUNG GUMAGAMIT KAYO NG TEMPORARY CONNECTIONS, E. G. CROCODILE CLIPS TAPOS HUWAG IWAN ANG SISTEMANG WALANG KAYO O GAMITIN SA MASAKIT NA ENVIRONMENT.

Ito ay isang kamangha-manghang paraan upang malaman ang tungkol sa IOT at tandaan lamang bago mag-isip tungkol sa mga komersyal na aplikasyon na gumagamit ng mga pamamaraan tulad nito. Ang Raspberry Pi ay kasing ganda lamang ng SD card nito. Sasabihin ko sa isang taon sa normal na paggamit kumpara sa ilang mga server na ginamit ko na tumakbo nang 10+ taon.

Sabagay, good luck.

Inirerekumendang: