Kazalo:

Kako nadzirati vtičnice z uporabo Raspberry Pi: 6 korakov
Kako nadzirati vtičnice z uporabo Raspberry Pi: 6 korakov

Video: Kako nadzirati vtičnice z uporabo Raspberry Pi: 6 korakov

Video: Kako nadzirati vtičnice z uporabo Raspberry Pi: 6 korakov
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, November
Anonim
Kako nadzirati vtičnice z uporabo Raspberry Pi
Kako nadzirati vtičnice z uporabo Raspberry Pi
Kako nadzorovati vtičnice z uporabo Raspberry Pi
Kako nadzorovati vtičnice z uporabo Raspberry Pi
Kako nadzirati vtičnice z uporabo Raspberry Pi
Kako nadzirati vtičnice z uporabo Raspberry Pi

V tem navodilu vam bom pokazal, kako z Raspberry Pi ustvarite spletni vmesnik za nadzor prodajnih mest v vašem domu. Za ogled tega projekta sem se odločil, ko sem videl natečaj Senzorji, in ker ta projekt vključuje uporabo senzorja za branje kod z daljinskega upravljalnika, ki je priložen vtičnicam, ki jih kupujete, sem mislil, da bi se ta projekt odlično prilegal.

Prizadeval si bom, da bo to čim višje, in zagotovil kodo, da bo vse to delovalo. Za vse vas opice, ki kodirate, vas prosimo, da pobrskate po kodi in me natančno preučite v komentarjih! Vedno si želim izboljšati. Pri tem se dogaja kar nekaj, zato, če imate vprašanja o katerem koli koraku, pustite komentar, da lahko posodobim Instructable s potrebnimi podrobnostmi.

Ta projekt uporablja radijsko frekvenčno nadzorovane vtičnice na 433MHz, skupaj z RF oddajnikom, priključenim na vašo malinovo pi. Vtičnice imajo daljince, ki lahko vklopijo/izklopijo vtičnice, vendar to ni zabavno! Namesto tega bomo uporabili spletni strežnik, ki deluje na maline pi, ki vsem, ki so povezani v omrežje, omogoča vklop ali izklop določenih vtičnic. Spletna stran tega projekta je idealna, saj lahko katero koli napravo, povezano s spletom v vašem omrežju, uporabite kot daljinski upravljalnik.

To je projekt, o katerem sem sanjal, da ga bom dokončal že leta, in čeprav je še prostora za dodatke, je projekt, opisan spodaj, funkcionalen sistem.

Zaloge

  • Raspberry Pi (uporabil sem RPi 3 model B+)
  • Oddajnik in sprejemnik 433MHz (jaz sem uporabil tega)
  • Vtičnice 433MHz (to sem uporabil)
  • Ženski skakalci (kupil sem ta kup)
  • Računalnik ali ročna naprava z dostopom do interneta

1. korak: Nastavite svoj Raspberry Pi

Nastavite svoj Raspberry Pi
Nastavite svoj Raspberry Pi

Začnite tako, da na svoj novi Raspberry Pi namestite najnovejšo različico Raspbiana. Če nameravate uporabiti obstoječi Pi (kar lahko popolnoma storite), se morate prepričati, da imate na svojem Py -ju 3 Python 3, saj je v njem zapisana vsa izvorna koda, ki jo ponudim., tip

python3

v ukazno vrstico. Če imate Python 3, bi morali videti, da je terminal python odprt. Zaprite terminal ali ga vnesite

izhod ()

Ko to potrdite, morate na svoj Pi namestiti bučko. Flask nam omogoča ustvarjanje našega spletnega strežnika. V ukazno vrstico Pi vnesite

sudo pip3 namestite bučko

V primeru, da na svojem Pi nimate nameščenega pipa, boste morali vnesti

sudo apt-get install python3-pip

Raje se razvijam na svojem Raspberry Pi iz udobja svojega namiznega računalnika. Če imate tudi vi raje to možnost, morate v Pi namestiti nekakšno okolje za SSH. PuTTY bo deloval, vendar imam raje grafični vmesnik (grafični uporabniški vmesnik), zaradi česar se zdi, da ste neposredno na Pi. Za možnost grafičnega vmesnika boste želeli namestiti VNC Viewer v računalnik, na katerem nameravate delati. Obstajajo tudi nastavitve, ki jih boste morali prilagoditi na svojem Pi. Navodila za spreminjanje nastavitev najdete tukaj.

2. korak: Priključite svojo strojno opremo

Priključitev strojne opreme
Priključitev strojne opreme

Na tej točki je čas, da vzpostavite vse fizične povezave, ki jih boste morali opraviti pri pripravi na nastavitev izvorne kode za ta projekt. Zatiče oddajnika in sprejemnika boste povezali z zatiči GPIO vašega Pi. Pri tem se boste želeli versko sklicevati na shemo izpisov zatičev GPIO. Če želite to narediti, odprite terminal na svojem Pi in vnesite

pinout

Spodaj so povezave, ki sem jih vzpostavil. Morda imate drugačno konfiguracijo, če ste kupili drugačno strojno opremo oddajnika/sprejemnika, kot sem navedel v uvodu. Če se odločite, da boste izbrali drugačne številke pin, kot so navedene spodaj, se ne bojte! Ko prenesete izvorno kodo, preprosto spremenite številke pin v datoteki RxTx.py.

Sprejemnik (velik čip):

  • GND - Vsak označen ozemljitveni zatič
  • PODATKI - Pin 11
  • DER - Ni povezan
  • +5V - Vsak označen +5V pin
  • ------
  • +5V - Vsak označen +5V pin
  • GND - Vsak označen ozemljitveni zatič
  • GND - Ni povezano
  • ANT - Ni povezan

Opomba: Po potrebi lahko priključite anteno, vendar sem ugotovil, da mi ni treba. Ta mali čip je bil presenetljivo občutljiv in zvesto zaznava signale vsaj 50 metrov od mesta, kjer je sedel, in skozi vsaj dve steni.

Oddajnik:

  • P - 3.3V pin
  • DA - Pin 7
  • G - kateri koli namenski ozemljitveni zatič
  • AN - ni povezan

Opomba: Ponovno lahko po potrebi priključite anteno na oddajnik, vendar sem ugotovil, da mi ni treba. Domet je več kot zadosten (50+ft).

3. korak: Dodajanje kode

To je del, na katerem sem največ časa preživel pri razvoju tega projekta. Poskušam komentirati čim več, vendar sem verjetno pustil vrzeli, ki bi lahko zahtevale pojasnilo, če kdo od vas porabi čas, da bi to razumel. Če se vam to zgodi, pustite komentar!

Tu so vključeni naslednji jeziki:

  • Python
  • CSS
  • Javascript
  • HTML
  • JQuery/Ajax

Python se uporablja v strežniku za bučke in v

RxTx.py

datoteko, ki obravnava prenos in prejem kode. CSS se uporablja za ustvarjanje sloga spletne strani. Kdo želi dolgočasno spletno stran !? Javascript se uporablja pri katerem koli upravljanju dogodkov (pritisk na gumb itd.). HTML je temeljni gradnik spletne strani. Končno se JQuery/Ajax uporablja za komunikacijo med spletno stranjo in zaledjem Python.

Če se vsi ti jeziki slišijo zastrašujoče, ne skrbite! Vedel sem le, da se Python ukvarja s tem projektom, ki je bil jezik, ki je vključeval najmanjšo količino kodiranja, pojdi, pojdi… Dovolj je reči, da si vzemite čas in prečistite kodo, če se tako odločite. Če ne želite, vam ni treba!

Spodaj je imeniška struktura, ki sem jo uporabil na tej spletni strani. Mapa z zadrgo, priložena temu koraku, vsebuje vso izvorno kodo v naslednji strukturi.

Stikalo za vtičnico-> comm-DataRW.py-keys.py-RxTx.py-> spletna stran-statična ----- favicon.ico ----- style.css-predloge ----- index.html ----- urnik.html-- app.py-- podatkovna datoteka

Mapo Outlet Switch lahko postavite kamor koli na svojem Pi. Ko ste pripravljeni zagnati spletni strežnik, odprite terminal na svojem Pi in

cd

(spremeni imenik) v imenik spletnih strani. Nato vnesite

python3 app.py

v terminal. Če ni bilo napak, bi morali iti!

P. S. Bodite potrpežljivi, če naletite na kakšne hrošče. Pred nalaganjem sem jih poskušal zmečkati.

4. korak: Poskusite

Poskusite!
Poskusite!

Zdaj, ko zaženete kodo, lahko občutite spletni vmesnik na dosegu roke. Nadzor sistema je zelo preprost:

  • S spletnim vmesnikom lahko dodate poljubno število prodajnih mest.
  • Brisanje je preprosto, kot da kliknete Uredi, izberete vtičnice, ki jih želite izbrisati, in kliknete Izbriši.

Zgornji videoposnetek v YouTubu prikazuje, kako na svoj seznam dejansko dodati novo prodajno mesto. Če povzamemo, kaj prikazuje:

  • Najprej vnesite naslov vtičnice v polje Naslov
  • Kliknite ali se dotaknite zunaj polja Naslov, da programu omogočite, da preveri, ali naslov že obstaja. Ne morete imeti naslovov z istim imenom
  • Po potrditvi sta omogočena gumba za vklop in kodo za vklop.
  • Pritisnite in držite gumb za vklop na daljinskem upravljalniku, ki ste ga dobili, in hitro kliknite gumb za vklop kode na vmesniku. Držite gumb na daljinskem upravljalniku, dokler binarna koda ne zapolni sosednjega polja.
  • Ponovite prejšnji korak za kodo OFF.
  • Kliknite V redu in zdaj ste pripravljeni zamenjati to vtičnico!

Kot je bilo omenjeno v uvodu, projekt ni 100% dokončan za mojo lastno uporabo. Največja komponenta, ki jo moram dokončati in implementirati, je zmožnost načrtovanja. Načrtujem, da uporabniku omogočim izdelavo urnika, ki bi omogočal samodejni vklop in izklop trgovin ob določenem času.

5. korak: Odpravljanje napak in datoteka RxTx.py

Odpravljanje napak in datoteka RxTx.py
Odpravljanje napak in datoteka RxTx.py
Odpravljanje napak in datoteka RxTx.py
Odpravljanje napak in datoteka RxTx.py
Odpravljanje napak in datoteka RxTx.py
Odpravljanje napak in datoteka RxTx.py
Odpravljanje napak in datoteka RxTx.py
Odpravljanje napak in datoteka RxTx.py

Edina znana omejitev sistema je, da obstaja možnost nezdružljivosti med različnimi prodajalci. Koda za vklop in izklop sta 25 bitov za moj sistem, in če ima sistem drugačno dolžino sporočila, ni takoj združljiv s tem projektom. Če ste natančno upoštevali navodila in imate še vedno težave pri tem, da bi to delovalo, bi bil naslednji način najboljši način za odpravljanje napak.

  • Prepričajte se, da je na vašem Pi nameščen matplotlib. To lahko storite tako, da v terminal Pi vnesete naslednje:

    • python3

    • uvoz matplotlib

    • Če se prikaže napaka, morate namestiti matplotlib.
    • Zapustite lupino python z uporabo

      izhod ()

  • Če želite namestiti matplotlib, vnesite

    sudo pip3 namestite matplotlib

  • v terminal
  • Prenesite priloženo datoteko test.py in jo postavite poleg datoteke RxTx.py na svoj Pi
  • Odprite terminal python in spremenite imenik v mapo comm.
  • Vrsta

    python3 test.py

  • Ko piše "** Začetek snemanja **", pritisnite in držite gumb za vklop ali izklop na daljinskem upravljalniku, dokler se snemanje ne konča.
  • Program bo naložil sliko matplotlib, ki je podobna zgornji. Povečajte, dokler ne vidite ponavljajočega se signala, kot je prikazano na zgornjih fotografijah.
  • Preštejte skupno logično 1 in logično 0 za vsako sporočilo, pri čemer je sporočilo ena ponovitev zgoraj opisanega ponavljajočega se signala. Če je skupno 25, datoteka RxTx.py verjetno ni kriva. Če naletite na kaj drugega kot 25, komentirajte spodaj, jaz pa bom datoteko RxTx.py preoblikoval v bolj odprto (ali pa se preizkusite).

Kaj, če ne vidim ponavljajočega se signala?

Če ne vidite ponavljajočega se signala, je ena od dveh stvari narobe. Najprej preverite, ali so vse vaše mostične povezave pravilno izvedene. Če je vse videti dobro, imate morda slab sprejemnik. Ste kupili tistega, ki sem ga predlagal? Ko sem kupil svoj prvi sprejemniški čip, je bilo zelo hrupno. Tako hrupno, da nisem mogel dobiti jasnega signala. Nato sem vrnil ta čip in vzel tistega, ki sem ga povezal, in ne bi mogel bolje delovati.

6. korak: Uživajte

Veste, da lahko vklopite/izklopite vtičnice iz telefona, tabličnega računalnika, računalnika ali druge spletne naprave! Sporočite mi, kaj mislite v komentarjih!

Priporočena: