Sisukord:
- Tarvikud
- Samm: seadistage oma Raspberry Pi
- Samm: riistvara ühendamine
- Samm: koodi lisamine
- Samm: proovige
- 5. samm: silumine ja fail RxTx.py
- 6. samm: nautige
Video: Väljundite juhtimine Raspberry Pi abil: 6 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
Selles juhendis demonstreerin teile, kuidas luua veebiliidest oma kodu pistikupesade juhtimiseks Raspberry Pi abil. Valisin selle projekti kirjutamise, kui nägin võistlust Andurid ja kuna see projekt hõlmab anduri kasutamist ostetud pistikupesadega kaasasoleva puldi koodide lugemiseks, arvasin, et see projekt sobib ideaalselt.
Töötan selle nimel, et see oleks võimalikult kõrge, ja annan koodi, et see kõik toimiks. Kõigil teie koodiahvidel, uurige julgelt koodi ja uurige mind kommentaarides! Ma otsin alati parandada. Selles toimub üsna vähe, nii et kui teil on mõne sammu kohta küsimusi, jätke palun kommentaar, et saaksin juhendit vajalike üksikasjadega värskendada.
See projekt kasutab raadiosagedusjuhtimisega pistikupesasid sagedusel 433 MHz koos teie vaarika pi -ga ühendatud RF -saatjaga. Pistikupesad on varustatud kaugjuhtimispultidega, mis võivad pistikupesasid sisse/välja lülitada, kuid see pole lõbus! Selle asemel kasutame vaarika pi -l töötavat veebiserverit, mis võimaldab kõigil võrguga ühendatud inimestel teatud pistikupesasid sisse või välja lülitada. Selle projekti veebirakendus on ideaalne, kuna teie võrgu mis tahes veebiga ühendatud seadet saab kasutada kaugjuhtimispuldina.
See on projekt, millest olen juba aastaid unistanud lõpule viia, ja kuigi täiendamiseks on veel ruumi, on järgnevalt kirjeldatud projekt funktsionaalne süsteem.
Tarvikud
- A Raspberry Pi (kasutasin RPi 3 mudelit B+)
- 433MHz saatja ja vastuvõtja (ma kasutasin seda)
- 433 MHz väljundid (ma kasutasin seda)
- Naiste-naiste džemprid (ostsin selle kimbu)
- Arvuti või pihuarvuti, mis võimaldab Interneti -ühendust
Samm: seadistage oma Raspberry Pi
Alustuseks installige oma uuele Raspberry Pi -le uusim Raspbiani versioon. Kui kavatsete kasutada olemasolevat Pi -d (mida saate täielikult teha), peate vaid veenduma, et teie P -l on Python 3, kuna see on kõik minu pakutud lähtekood., tüüp
python3
käsureale. Kui teil on Python 3, peaksite nägema, et see on avatud. Terminalist väljumiseks sulgege või tippige
välju ()
Kui olete selle kinnitanud, peate oma Pi -le kolbi installima. Kolb võimaldab meil luua oma veebiserveri. Tippige käsurealt Pi
sudo pip3 installikolb
Kui teil pole Pi -le pipi installitud, peate tippima
sudo apt-get install python3-pip
Eelistan arendada oma Raspberry Pi -l lauaarvuti mugavalt. Kui ka teie eelistate seda võimalust, peate installima Pi -sse SSH -le mingisuguse keskkonna. PuTTY töötab, kuid eelistan GUI -d (graafiline kasutajaliides), mis jätab mulje, nagu oleksite otse Pi -l. GUI valiku puhul soovite installida VNC Vieweri arvutisse, millega kavatsete töötada. Samuti on seadistusi, mida peate oma Pi -l kohandama. Seadete muutmise juhised leiate siit.
Samm: riistvara ühendamine
Siinkohal on aeg luua kõik füüsilised ühendused, mida peate tegema selle projekti lähtekoodi seadistamise ettevalmistamisel. Ühendate saatja ja vastuvõtja tihvtid oma Pi GPIO kontaktidega. Soovite religioosselt viidata GPIO tihvtide pinout -skeemile. Selleks avage oma Pi terminal ja tippige
pinout
Allpool on toodud ühendused, mille tegin. Teil võib olla teistsugune konfiguratsioon, kui ostsite saatja/vastuvõtja riistvara erinevalt sissejuhatuses märgitust. Kui otsustate valida teistsugused PIN -numbrid kui need, mida allpool märgin, ärge kartke! Lähtekoodi allalaadimisel muutke lihtsalt failinumbri RxTx.py pin -numbreid vastavalt vajadusele.
Vastuvõtja (suur kiip):
- GND - mis tahes määratud maandusnõel
- ANDMED - tihvt 11
- DER - pole ühendatud
- +5 V - mis tahes määratud +5 V tihvt
- ------
- +5 V - mis tahes määratud +5 V tihvt
- GND - mis tahes määratud maandusnõel
- GND - pole ühendatud
- ANT - pole ühendatud
Märkus. Võite ühendada antenni vastavalt vajadusele, kuid leidsin, et seda pole vaja. See väike kiip oli üllatavalt tundlik ja tuvastab ustavalt signaalid vähemalt 50 jala kaugusele sellest, kus ta istus, ja läbi vähemalt kahe seina.
Saatja:
- P - 3,3 V pin
- DA - tihvt 7
- G - mis tahes määratud maandustihvt
- AN - pole ühendatud
Märkus: Jällegi võite vajadusel antenni saatjaga ühendada, kuid leidsin, et mul pole seda vaja. Vahemik on enam kui piisav (50+jalga).
Samm: koodi lisamine
See on osa, millele kulutasin suurema osa ajast selle projekti väljatöötamisel. Püüan võimalikult palju kommenteerida, kuid tõenäoliselt jätsin lünki, mis võivad vajada selgitust, kui keegi teist veedab aega selle mõistmiseks. Kui see juhtub teiega, jätke kommentaar!
Siin on kaasatud järgmised keeled:
- Python
- CSS
- Javascript
- HTML
- JQuery/Ajax
Pythonit kasutatakse kolviserveris ja
RxTx.py
fail, mis tegeleb koodi edastamise ja vastuvõtmisega. CSS -i kasutatakse veebilehe stiili loomiseks. Kes tahab igavat veebisaiti !? Javascripti kasutatakse mis tahes sündmuste käsitlemisel (nupule vajutamine jne). HTML on veebilehe peamine ehitusplokk. Lõpuks kasutatakse veebilehe ja Pythoni taustaprogrammi vaheliseks suhtlemiseks JQuery/Ajaxi.
Kui kõik need keeled tunduvad hirmutavad, ärge muretsege! Ma teadsin ainult seda, et Python läheb sellesse projekti, mis juhtus olema keel, mis hõlmas kõige vähem kodeerimist, mine tea … Piisab, kui öelda, võta aega, et kood läbi kammida, kui otsustad seda teha. Kui ei taha, siis ei pea!
Järgmine on kataloogistruktuur, mille valisin selle veebilehe jaoks. Sellele sammule lisatud tihendatud kaust sisaldab kogu lähtekoodi järgmises struktuuris.
Outlet Switch-> comm-- DataRW.py-- keys.py-- RxTx.py-> veebileht-staatiline ----- favicon.ico ----- style.css-- mallid ----- index.html ----- ajakava.html-- app.py-- data.file
Outlet Switchi kausta saate oma Pi piirkonda paigutada. Kui olete veebiserveri käivitamiseks valmis, avage oma Pi terminal ja
cd
(muuda kataloogi) veebilehe kataloogiks. Seejärel tippige
python3 app.py
terminali. Kui vigu ei esinenud, peaksite minema!
P. S. Palun olge kannatlik, kui teil tekib mõni viga. Proovisin neid kõiki enne üleslaadimist purustada.
Samm: proovige
Nüüd, kui kasutate koodi, saate veebiliidese tunde käeulatuses. Süsteemi juhtimine on väga lihtne:
- Veebiliidese abil saate lisada nii palju turustusvõimalusi kui soovite.
- Kustutamine on sama lihtne, kui klõpsata käsul Muuda, valida kustutatavad turustusvõimalused ja klõpsata Kustuta.
Ülaltoodud YouTube'i video näitab, kuidas tegelikult oma loendisse uut väljundit lisada. Kokkuvõtteks sellest, mida see näitab:
- Esmalt sisestage väljale Pealkiri müügikoha pealkiri
- Klõpsake või puudutage väljaspool välja Pealkiri, et programm saaks kontrollida, kas pealkirja pole juba olemas. Teil ei saa olla sama nimega pealkirju
- Pärast valideerimist on sisse- ja väljalülituskoodi nupud lubatud.
- Vajutage ja hoidke kaasasoleva kaugjuhtimispuldi sisselülitamisnuppu all ja klõpsake liidesel kiiresti nuppu Kood. Hoidke kaugjuhtimispuldi nuppu all, kuni teie binaarne kood täidab külgneva välja.
- Korrake eelmist sammu OFF -koodi jaoks.
- Klõpsake nuppu OK ja nüüd olete valmis seda pistikupesa vahetama!
Nagu sissejuhatuses mainitud, pole projekt minu enda tarbeks 100% täielik. Suurim komponent, mida mul on veel vaja lõpetada ja rakendada, on ajastamisvõimalus. Kavatsen lubada kasutajal koostada ajakava, mis võimaldaks pistikupesasid määratud kellaaegadel automaatselt sisse ja välja lülitada.
5. samm: silumine ja fail RxTx.py
Süsteemi ainus teadaolev piirang on see, et erinevate müüjate müügikohtade vahel on vastuolu võimalus. Sisse- ja väljalülitamise kooditeated on minu süsteemi jaoks 25 bitti ning kui süsteemil on erinev sõnumipikkus, ei ühildu see selle projektiga kohe. Kui järgisite täpselt juhiseid ja teil on endiselt probleeme selle toimimisega, oleks järgmine viis probleemi silumiseks parim.
-
Veenduge, et teie Pi -le oleks installitud matplotlib. Seda saate teha, tippides Pi terminali järgmise:
-
python3
-
importi matplotlib
- Kui saate vea, peate installima matplotlib.
-
Väljuge püütoni kestast, kasutades
välju ()
-
-
Matplotlibi installimiseks tippige
sudo pip3 installi matplotlib
- terminali
- Laadige alla lisatud test.py -fail ja asetage see oma Pi -le RxTx.py -faili kõrvale
- Avage Pythoni terminal ja muutke kataloog komm kausta.
-
Tüüp
python3 test.py
- Kui ekraanile ilmub kiri „** Alustas salvestamist **”, vajutage ja hoidke all kaugjuhtimispuldi nuppu ON, kuni salvestamine lõpeb.
- Programm laadib üles matplotlibi näitaja, mis näeb välja sarnane ülaltooduga. Suurendage, kuni näete korduvat signaali, nagu on näidatud ülaltoodud fotodel.
- Loendage iga sõnumi loogiline 1 ja loogiline 0 kokku, kui sõnum on ülaltoodud korduva signaali üks kordus. Kui kogusumma on 25, pole failis RxTx.py tõenäoliselt süüdi. Kui leiate midagi muud kui 25, kommenteerige kindlasti allpool ja ma retoolin faili RxTx.py avatumaks (või proovige seda julgelt).
Mis siis, kui ma ei näe korduvat signaali?
Kui te ei näe korduvat signaali, on üks kahest asjast vale. Esiteks kontrollige, kas kõik teie hüppajajuhtmete ühendused on korralikult tehtud. Kui kõik tundub hea, võib teil olla halb vastuvõtja. Kas ostsite minu soovitatud? Kui ostsin oma esimese vastuvõtja kiibi, oli see väga lärmakas. Nii lärmakas, et ma ei saanud selget signaali. Seejärel tagastasin selle kiibi ja võtsin selle, mille linkisin, ja see poleks paremini toiminud.
6. samm: nautige
Teate, et teil on võimalus oma telefonist, tahvelarvutist, arvutist või muust veebipõhisest seadmest pistikupesasid sisse/välja lülitada! Andke kommentaarides teada, mida arvate!
Soovitan:
Seadme juhtimine Androidi WiFi abil Esp8266 Juhtimine: 6 sammu
Seadme juhtimine Androidi WiFi abil Esp8266 Juhtimine: nüüd teame, kuidas juhtida seadmeid esp8266 WiFi -mooduli abil ja Arduino teie seadet Androidi WiFi -juhtimise abil lisateabe saamiseks. klõpsake linki mohamed ashraf
ESP8266 RGB LED -riba WIFI juhtimine - NODEMCU IR -kaugjuhtimispuldina LED -riba jaoks, mida juhitakse Wifi kaudu - RGB LED STRIP nutitelefoni juhtimine: 4 sammu
ESP8266 RGB LED -riba WIFI juhtimine | NODEMCU IR -kaugjuhtimispuldina LED -riba jaoks, mida juhitakse Wifi kaudu | RGB LED STRIP nutitelefoni juhtimine: Tere poisid, selles õpetuses õpime, kuidas kasutada nodemcu või esp8266 IR -kaugjuhtimispuldina, et juhtida RGB LED -riba ja Nodemcu saab juhtida nutitelefoniga WiFi kaudu. Nii et põhimõtteliselt saate oma nutitelefoniga juhtida RGB LED -riba
Robotkäe juhtimine Zio abil PS2 kontrolleri abil: 4 sammu
Robotkäe juhtimine Zio abil PS2 kontrolleri abil: see ajaveebi postitus on osa Zio Robotics seeriast. Sissejuhatus See on postituse „Juhtige robotkätt Zioga” viimane osa. Selles õpetuses lisame oma robotkäele veel ühe osa. Varasemad õpetused ei sisalda alust
Mootori pöörete arvu autonoomne juhtimine tagasiside süsteemi abil IR -põhise tahhomeetri abil: 5 sammu (piltidega)
Mootori pöörlemiskiiruste autonoomne juhtimine tagasisidesüsteemi abil IR -põhise tahhomeetri abil: alati on vaja automatiseerida protsess, olgu see siis lihtne/koletu. Mul tekkis idee seda projekti teha lihtsast väljakutsest, millega silmitsi seistes leidsin meetodid meie väikese maatüki kastmiseks/niisutamiseks. Praeguse toiteliini puudumise probleem
Superlihtne arvuti juhtimine 110 Vac abil Crydom Solid-State Relay abil: 3 sammu (koos piltidega)
Superlihtne arvuti juhtimine 110 Vac abil Crydom Solid-State Relay abil: valmistun proovima oma kätt kuumutusplaadi jootmisel. Seetõttu vajasin ma 110Vac juhtimist arvutist. See juhend näitab, kuidas 110Vac hõlpsalt arvuti jadaväljundpordist juhtida. Minu kasutatav jadaport oli USB -tüüpi