Sisukord:

Väljundite juhtimine Raspberry Pi abil: 6 sammu
Väljundite juhtimine Raspberry Pi abil: 6 sammu

Video: Väljundite juhtimine Raspberry Pi abil: 6 sammu

Video: Väljundite juhtimine Raspberry Pi abil: 6 sammu
Video: Kaido Pajumaa - Teadlik Juhtimine | QLA Podcast | XXVIII Saade 2024, Juuli
Anonim
Kuidas juhtida pistikupesasid Raspberry Pi abil
Kuidas juhtida pistikupesasid Raspberry Pi abil
Kuidas juhtida pistikupesasid Raspberry Pi abil
Kuidas juhtida pistikupesasid Raspberry Pi abil
Kuidas juhtida pistikupesasid Raspberry Pi abil
Kuidas juhtida pistikupesasid Raspberry Pi abil

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

Seadistage oma Raspberry Pi
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

Riistvara ühendamine
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

Andke endale võimalus!
Andke endale võimalus!

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

Silumine ja RxTx.py fail
Silumine ja RxTx.py fail
Silumine ja fail RxTx.py
Silumine ja fail RxTx.py
Silumine ja RxTx.py fail
Silumine ja RxTx.py fail
Silumine ja RxTx.py fail
Silumine ja RxTx.py fail

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: