Turinys:

R Pi -nuotolinio valdymo pulto ir apšvietimo sistema: 4 žingsniai (su nuotraukomis)
R Pi -nuotolinio valdymo pulto ir apšvietimo sistema: 4 žingsniai (su nuotraukomis)

Video: R Pi -nuotolinio valdymo pulto ir apšvietimo sistema: 4 žingsniai (su nuotraukomis)

Video: R Pi -nuotolinio valdymo pulto ir apšvietimo sistema: 4 žingsniai (su nuotraukomis)
Video: Leap Motion SDK 2024, Lapkritis
Anonim
R Pi -nuotolinio valdymo PA ir apšvietimo sistema
R Pi -nuotolinio valdymo PA ir apšvietimo sistema
R Pi -nuotolinio valdymo PA ir apšvietimo sistema
R Pi -nuotolinio valdymo PA ir apšvietimo sistema
R Pi -nuotolinio valdymo PA ir apšvietimo sistema
R Pi -nuotolinio valdymo PA ir apšvietimo sistema

Tai paprastas garso pranešimų pateikimo ir PI nuotolinio įjungimo ir išjungimo šviesos šaltinis iš žiniatinklio naršyklės. Taigi štai ko jums reikia:

1) „Raspberry Pi“su iš anksto įdiegta „Apache“ir „PhP“. Aš naudoju seną Pi v1, kurį turėjau gulėti. Manau, kad jūs turite jį prijungti prie savo namų tinklo per „Wi-Fi“arba „Ethernet“.

2) Garso garsiakalbis (-iai), kurį (-ius) galima prijungti prie „Pi“per išvesties garsiakalbio jungtį. Aš naudoju seną garsiakalbių rinkinį iš senovės stereo sistemos.

3) Kalėdų eglutės žibintų rinkinys - aš nusipirkau savo iš Poundlando.

4) Krokodilo spaustukai ir duonos lentos kabeliai, skirti prijungti / išbandyti Pi prie garsiakalbių ir žibintų. (Žr. 7)

5) kompiuteris arba nešiojamas kompiuteris su „Putty“terminalo emuliatoriumi, kad galėtumėte pasiekti „Raspberry Pi“

6) Šilumos susitraukimo viela

7) Karšto oro pistoletas, skirtas garsiakalbiams ir apšvietimo laidams prijungti

Pagrindinė idėja yra ta, kad naudoju žiniatinklio formą nuotoliniams pranešimams skelbti per garsiakalbį (-ius), taip pat įjungti ir išjungti šviesas. Aš naudoju PHP scenarijus, kurie savo ruožtu vykdo „Espeak“teksto į kalbą bitui ir GPIO komandas šviesoms. Aš darau prielaidą, kad jūs žinote, kaip įdiegti „Apache“ir „PhP“savo „Raspberry Pi“. Tai labai gerai dokumentuota.

Aš bandžiau išlaikyti šią mažą kainą, todėl naudojau seną stereo sistemos garsiakalbį, kurį turėjau, o pašalinęs jungtis ir atskleidęs kabelius, prijungiau jį prie seno mikrofono kabelio, kurį taip pat nutraukiau. Tai reiškė, kad garsiakalbio garsumas buvo mažesnis nei išorinio maitinimo garsiakalbio, aš galėjau maitinti viską iš „Raspberry Pi“. Tas pats buvo ir su žibintais. Aš išėmiau iš jų 3,3 V maitinimo dėžę, atidengiau laidus ir prijungiau juos prie „Pi“, naudodamas moterų / vyrų duonos lentos jungtis. Visa tai sujungiau su krokodilo spaustukais.

Po bandymų ir patvirtinimo vėliau visus laidus prijungiau termiškai susitraukiančia viela, naudodami karšto oro pistoletą.

1 veiksmas: nustatykite ir išbandykite aparatūrą

Nustatykite ir išbandykite aparatūrą
Nustatykite ir išbandykite aparatūrą
Nustatykite ir išbandykite aparatūrą
Nustatykite ir išbandykite aparatūrą
Nustatykite ir išbandykite aparatūrą
Nustatykite ir išbandykite aparatūrą

Aš maitinau „Pi“ir prijungiau garsiakalbius prie „Pi“garso išvesties lizdo. Prijungiau žibintus, vieną galą prijungęs prie GPIO17 (6 kaištis žemyn vidinėje kolonoje) ir GND (3 kaištis žemyn ant išorinio stulpelio) - žr. Aukščiau esančią nuotrauką. ATKREIPKITE DĖMESĮ, KAD NAUDOJAU PI 1 versiją, tad, jei naudojate vėlesnę PI versiją, PAKEISKITE PIN kodus.

Aukščiau parodyta termiškai susitraukianti viela ir karšto oro pistoletas, skirtas garsiakalbiams ir apšvietimo laidams prijungti

Toliau, kai viskas buvo įjungta, prisijungiau prie „Pi“naudodami „Putty“iš savo „Windows“nešiojamojo kompiuterio. Norėdami rasti „Pi“IP adresą, savo interneto naršyklėje atidarykite maršrutizatoriaus IP adresą (paprastai tai yra kažkas panašaus į 192.168.1.254), kuriame bus rodomas prijungtų įrenginių sąrašas, įskaitant „Pi“pagrindinio kompiuterio pavadinimą ir IP adresą. Norėdami prisijungti prie „Putty“, galite naudoti bet kurį iš šių būdų, bet dažniausiai naudoju IP adresą, nes turiu daugybę PI. Arba galite prisijungti prie „Putty“, išbandydami pagrindinio kompiuterio pavadinimą, pvz., Pi arba raspberrypi. Kai būsite paraginti „Putty“įvesti vartotojo vardą ir slaptažodį, išbandykite „pi/raspberry“, kurie yra numatytieji. (NUOSTATŲ NAUDOJIMAS yra labai nesaugus ir leidžia jums atakuoti įsilaužėlius, net jei tai yra privatus tinklas). Mano patirtis rodo, kad „Pi“programos, „Espeak“ir GPIO bibliotekos yra įdiegtos pagal numatytuosius nustatymus daugumoje „Pi“vaizdų.

Gerai, kai pateksite į RaspberryPi komandų eilutę, išbandykite šias komandas - sudo alsamixer, kuri turėtų atskleisti garso plokštės valdiklius - jei turite pasyvų garsiakalbį, kaip aš naudojau, turėsite padidinti garsumą iki maks. Tada įjunkite šviesas

sudo/usr/local/bin/gpio -g režimas 17 outsudo/usr/local/bin/gpio -g write 17 1

tada išjunkite šviesas

(Atkreipkite dėmesį į bet kokias problemas, tiesiog pabandykite sudo gpio ir tt -taip pat patikrinkite, ar „gpio“įdiegta, įvesdami gpio -v -jei jums reikia įdiegti, peržiūrėkite

sudo/usr/local/bin/gpio -g rašyti 17 0

Dabar patikrinkite, ar espeak veikia

~ $ sudo espeak "tai testas"

Aš retai turėjau problemų su „Espeak“, tačiau susidūriau su problemomis, kai „Alsamixer“garsas yra mažas, o kartais kitos programos paimdavo garso plokštę. Turite paleisti ps -ef ir pamatyti, kokie kiti medijos procesai veikia. Norėdami juos nužudyti, galite naudoti kažką panašaus į sudo kill -9 $ (sudo ps aux | sudo grep -v grep | sudo grep mplayer | sudo awk '{print $ 2}') -tai naudojame vėliau PHP scenarijuje

2 veiksmas: nustatykite žiniatinklio serverį

Žiniatinklio serverio nustatymas
Žiniatinklio serverio nustatymas
Žiniatinklio serverio nustatymas
Žiniatinklio serverio nustatymas

Turime atlikti keletą žingsnių

1) Raskite žiniatinklio paslaugos / serverio apache2 savininką - paleiskite sudo ps aux | egrep '(apache | httpd)' ir turėtumėte pamatyti www-data2) pridėkite www-duomenis prie sudo grupės-paleiskite sudo nano /etc /sudoers --- pridėkite www-duomenų eilutę ALL = (ALL) NOPASSWD: ALL

3) pridėti garso duomenis prie garso grupės-sudo adduser www-data audio

4) Pasirenkamas žingsnis yra sukurti „phpinfo“failą, kuriame būtų nurodytos visos jūsų turimos PHP funkcijos ir vieta

conf failą, jei norite ką nors pakeisti. Pavyzdžiui, kai kurios PHP versijos blokuoja funkciją shell_exec (), kurią turime paleisti iš komandinės eilutės programų, tokių kaip „Espeak“iš žiniatinklio serverio. Štai kaip nustatote „phpinfo“.

Paprastai eikite į numatytąjį žiniatinklio katalogą/var/www arba/var/www/html….. tai yra tas, kuriame yra index.html failas, ir įveskite sudo nano phpinfo.php, tada įveskite šiuos žodžius į nano redaktorių ir paspauskite valdymo klavišą išsaugoti ir išeiti

Nepamirškite padaryti jo vykdomojo, įvesdami sudo chmod 755 phpinfo.php - Norėdami jį peržiūrėti, savo interneto naršyklėje atidarykite šį URL, naudodami savo, o ne mano, pagrindinį vardą, ty raspberrypi -

?>

3 žingsnis: PHP kodas ir žiniatinklio scenarijai

PHP kodas ir žiniatinklio scenarijai
PHP kodas ir žiniatinklio scenarijai

Čia naudoju dvi programas - vieną žiniatinklio formai (espeak_form.php), o kitą, kuri apdoroja formos duomenis (my_espeak.php) Įtraukiau jas kaip tekstinius failus ir perkeliu juos į „Pi“naudodami „Putty“sukuriu abu „php“failus, tada iškirpkite ir įklijuokite iš atitinkamų aukščiau pateiktų teksto failų

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

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

Nepamirškite padaryti jų vykdomųjų, įvesdami sudo chmod 755 *.php

Mano parašytas žiniatinklio formos PHP scenarijus (espeak_form.php) laimės ne dizaino prizus, bet turi 2 antrines formas. Vienas iš jų yra skirtas skelbimui (tekstas į kalbą), o kitas yra skirtas žibintams įjungti ir išjungti. Espeak antrinė forma leidžia pasirinkti skirtingus akcentus, moterišką balsą ir šnabždesio funkciją, „My_espeak.php“esmė yra naudoti „php“funkciją - „shell_exec ()“. Kaip matote, tai leidžia PHP vykdyti „Linux“komandas, nereikalaujant kitų bibliotekų, kaip jums reikia pasakyti „Python“.

4 žingsnis: Išvada

Tai yra gana sudėtingas sprendimas, nes naudojate daug Pi aplinkos elementų, t. Y. PHP, komandų eilutės funkcijas, „Apache“, GPIO ir tt. Tikiuosi, kad tai iliustruoja, ką galite padaryti konkrečiai naudodami PI ir bendrąją IOT. Yra daugybė kitų būdų tai pasiekti ir netgi galite tai valdyti iš interneto, jei suprantate uosto peradresavimą, užkardą ir (arba) VPN. Tikiuosi, kad jums patiko, bet čia yra mano atsisakymas:

NEGALIU GARANTUOTI, KAD ŠI SAUGI AR SAUGI SISTEMA IR TODĖL NEGALIMA NAUDOTI JOS TIKSLAMS, ĮSKAIČIUOTI PRIVATIŲ, ASMENINIŲ AR KOMERCINIŲ PATINKAMŲ DUOMENŲ APDOROJIMĄ. TAIP PAT, SAUGIAI PRIJUNGTI KABELIUS IR NAUDOTI LAIKINUS JUNGTIS, pvz. CROCODILE CLIPS tada nepalikite sistemos be priežiūros arba NAUDOTI AŠTINGOJE APLINKOJE.

Tai puikus būdas daug sužinoti apie IOT ir tiesiog prisiminti prieš galvojant apie komercines programas, naudojant tokius metodus kaip šis. „Raspberry Pi“yra tik tokia gera, kaip ir jos SD kortelė. Sakyčiau, metus įprastu naudojimu, palyginti su kai kuriais mano naudojamais serveriais, kurie veikė daugiau nei 10 metų.

Bet kokiu atveju, sėkmės.

Rekomenduojamas: