Tartalomjegyzék:

Tök Pi trükk-vagy-csemegekövető: 5 lépés
Tök Pi trükk-vagy-csemegekövető: 5 lépés

Videó: Tök Pi trükk-vagy-csemegekövető: 5 lépés

Videó: Tök Pi trükk-vagy-csemegekövető: 5 lépés
Videó: Átalakulás 3...2...1 🌷🌾🌺 2024, Július
Anonim
Tök Pi trükk-vagy-csemegekövető
Tök Pi trükk-vagy-csemegekövető

Kövesse a szerző további információit:

Hogyan építsünk egy Raspberry Pi hőmérséklet -figyelőt
Hogyan építsünk egy Raspberry Pi hőmérséklet -figyelőt
Hogyan építsünk egy Raspberry Pi hőmérséklet -figyelőt
Hogyan építsünk egy Raspberry Pi hőmérséklet -figyelőt
Adatok továbbítása a Google Táblázatokból az Irányítópultra
Adatok továbbítása a Google Táblázatokból az Irányítópultra
Adatok továbbítása a Google Táblázatokból az Irányítópultra
Adatok továbbítása a Google Táblázatokból az Irányítópultra
Hőmérséklet -érzékelők hálózata
Hőmérséklet -érzékelők hálózata
Hőmérséklet -érzékelők hálózata
Hőmérséklet -érzékelők hálózata

Gyors Halloween projektet keres, amely több szempontból is hasznos? Szeretné hasznosítani ezt a Pi Zero WH -t? Úgy érzi, hogy az adatok segítségével határozza meg, mennyi édességre lesz szüksége a következő évben?

Készüljön fel a Pumpkin Pi Trick-or-Treat Tracker építésére! Ez a Pi-in-a-Pumpkin dekorációként és emberkövetőként is funkcionál, és mozgás észlelésekor megváltoztatja a színét és a patakokat. Az abszolút semmiből kiindulva ennek a projektnek egy délutánnál nem kell több időbe telnie az összeállításához - éppen Halloween idején!

Kellékek

  • Pi Zero WH SD kártyával
  • PIR mozgásérzékelő
  • RGB LED
  • 220 ohmos ellenállások
  • (3) Kötővonalak (F/F, M/F, M/M)
  • Hordozható akkumulátor
  • Hamis tök

1. lépés: A hardver összeszerelése

Hardver összeszerelés
Hardver összeszerelés
Hardver összeszerelés
Hardver összeszerelés
Hardver összeszerelés
Hardver összeszerelés

Miután elindította a Pi -t, csatlakoztatnunk kell a mozgásérzékelőt és a LED -eket. Győződjön meg arról, hogy a Pi jelenleg nincs csatlakoztatva az áramforráshoz.

Mozgásérzékelőnk megköveteli, hogy csatlakoztassuk 3,3 V -os tápellátáshoz, földhöz és adattűhöz. A 3,3 V -os érzékelőcsapot a Pi 1 -es, a Ground -érzékelő -tűt a Pi 6 -os csatlakozójához, az Adatérzékelő -tűt pedig a Pi 16 -as csatlakozójához kötöttem. Az első kép a Pi és a mozgásérzékelő teljes kapcsolatát mutatja.

A LED -ek kissé bonyolultabbak, mint a mozgásérzékelők, mivel ellenállás szükséges ahhoz, hogy megfelelően működjenek anélkül, hogy károsítanák őket vagy a Pi -t. Három 220 ohmos ellenállást használtam, de a 220 és 330 ohmos ellenállásokat általában LED -ekkel használják.

Ha mindent be akar kötni, akkor:

  • Forrasztja a LED -lábakat az ellenállásokhoz, majd futtassa a vezetékeket a Pi -be
  • Használjon kenyérlapot és kötözővonalakat minden összekötéséhez
  • Használjon nyakkendőket és elektromos szalagot minden csatlakoztatásához (mint én).

Csatlakoztatjuk a LED -eket a 11 -es, 13 -as és 15 -ös érintkezőkhöz. Ez azonban egy kicsit bonyolultabb, mint a mozgásérzékelő, mivel a LED lábai egy adott színnek felelnek meg! A hosszú láb GND; és legalábbis a LED -emen a lábak pirosak, GND -k, kékek és zöldek lettek. A Kéket a 11 -es Pi -tűhöz, a Zöldet a Pi -13 -as érintkezőhöz, a Pirosat pedig a Pi -15 -ös csatlakozóhoz kötöttem. A második kép a végső áramköri csatlakozásokat mutatja.

2. lépés: Kezdeti állapot

Kezdeti állapot
Kezdeti állapot
Kezdeti állapot
Kezdeti állapot

Persze láthatjuk, hogy mikor érzékeljük a mozgást a LED-del, de hogyan fogjuk nyomon követni, hogy hány trükköt tett le, hogy ellopják az édességet?

A műszerfalra fogunk streamelni minden alkalommal, amikor a mozgás elkezdődik és leáll. Mivel ez a műszerfal internetkapcsolattal bárhonnan elérhető, távolról nyomon követhetjük, hogy valaki közeledik -e a bejárati ajtóhoz/cukorkatálhoz.

1. lépés: Regisztráció a kezdeti állapotú fiókhoz Menjen a https://iot.app.initialstate.com webhelyre, és hozzon létre egy új fiókot.

2. lépés: Telepítse az ISStreamert

Telepítse a Kezdeti állapot Python modult a Raspberry Pi -re. Parancssorban (ne felejtse el először SSH -t bevinni a Pi -be), futtassa a következő parancsot:

$ cd/home/pi/

$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash

3. lépés: Készítsen néhány automatikus eszközt

A 2. lépés után a következő kimenethez hasonlót lát a képernyőn:

pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bash

Jelszó: Kezdetben az ISStreamer Python egyszerű telepítése! Ennek telepítése eltarthat pár percig, igyon egy kávét:) De ne felejtse el visszajönni, később kérdéseim lesznek! Talált easy_install: setuptools 1.1.6 Talált pip: pip 1.5.6 a /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip fő verzióból: 1 pip minor verzió: 5 Az ISStreamer megtalálható, frissítés… A követelmény már naprakész: ISStreamer a /Library/Python/2.7/site-packages fájlban Tisztítás … Szeretné automatikusan megkapni a példa szkriptet? [y/N] Hova szeretné menteni a példát? [alap::.initialstate.com felhasználónév: Írja be az iot.app.initialstate.com jelszót:

Amikor a rendszer kéri, hogy automatikusan szerezzen be egy példafájlt, írja be az y parancsot. Ez létrehoz egy teszt szkriptet, amelyet futtathatunk annak érdekében, hogy biztosítsuk az adatok streamelését a kezdeti állapotba. A következő parancssor megkérdezi, hová kívánja menteni a mintafájlt. Beírhat egyéni helyi elérési utat, vagy az Enter billentyűt lenyomva elfogadhatja az alapértelmezett helyet. Végül megkérdezi, hogy melyik kezdeti állapotú alkalmazást használja. Ha nemrég hozott létre fiókot, válassza a 2. lehetőséget, írja be felhasználónevét és jelszavát. Ezt követően a telepítés befejeződik.

4. lépés: Hozzáférési kulcsok

Vessünk egy pillantást a létrehozott példa szkriptre. $ nano is_example.py A 15. sorban egy sort láthat, amely a következővel kezdődik: streamer = Streamer (bucket_…. Ez a sor létrehoz egy új adatcsoportot „Python Stream Example” néven, és a fiókjához van társítva. Ez a társítás a access_key =”…” paraméter ugyanazon a soron. Ez a hosszú betű- és számsorozat az Ön kezdeti állapotú fiókjának hozzáférési kulcsa. Ha böngészőjében megnyitja a Kezdeti állapot fiókját, kattintson a jobb felső sarokban található felhasználónevére, majd a „Saját beállítások” menüpontban ugyanazt a hozzáférési kulcsot találja az oldal alján, a „Streaming hozzáférési kulcsok” alatt.

Minden alkalommal, amikor adatfolyamot hoz létre, ez a hozzáférési kulcs az adatfolyamot a fiókjába irányítja (tehát ne ossza meg senkivel).

5. lépés: Futtassa a példát

Futtassa a teszt szkriptet, hogy megbizonyosodjon arról, hogy adatfolyamot tudunk létrehozni a kezdeti állapotú fiókjához. Futtassa a következőt:

$ python is_example.py

6. lépés: Nyereség

Térjen vissza a kezdeti állapotú fiókjához a böngészőben. A „Python Stream Example” nevű új adatcsoportnak meg kellett jelennie a napló polcának bal oldalán (előfordulhat, hogy frissítenie kell az oldalt). Kattintson erre a vödörre, majd kattintson a Hullámok ikonra a tesztadatok megtekintéséhez.

3. lépés: Python -szkript

Hozzon létre egy szkriptet, és nyissa meg a szövegszerkesztőt a következő paranccsal:

nano vistors.py

Másolja ki és másolja át a kódot innen a szövegszerkesztőbe.

Mielőtt bármit is futtatni próbálnánk, néhány szerkesztést kell végrehajtanunk, és át kell tekintenünk a szkriptünk történéseit.

importálja az RPi. GPIO -t GPIO -ként

az idő behozatalától az alvó állapot az ISStreamer -től. Streamer import Streamer # Mondja el a Pi -nek, hogy a számozási rendszerét fogjuk használni = 22 # Adja meg mozgásérzékelőnk tűjét bemenetként GPIO.setup (PIN, GPIO. IN) # Adja meg LED -es csapjainkat kimenetként GPIO.setup (RED, GPIO. OUT) GPIO.output (RED, 0) GPIO.setup (GREEN) GPIO. OUT)

Az 1-21 sorok inicializálásra szolgálnak. Először importáljuk a Pi GPIO felületét és a szkript alvó módját. Ezután importáljuk a Kezdeti állapot streamelőt, amelyet az előző oldalra telepítettünk.

A GPIO.setmode határozza meg, hogy melyik számozási rendszert használjuk a csapokhoz. A fizikai hely helyett a Pi számozási rendszerét használjuk. Ahogyan az előző diagramunkban is látható, a 23, 17, 27 és 22 csapokat választottuk. Ezután beállítjuk a mozgótüskét bemenetként, és a LED -es csapokat kimenetként.

# Kezdeti állapot csoport neve (megjelenik)

BUCKET_NAME = ": jack_o_lantern: Trick or Treat Tracker" # Kezdeti állapot vödör kulcsa (rejtett) BUCKET_KEY = "trickortreat" # Kezdeti állapot hozzáférési kulcs ACCESS_KEY = "Your_Access_Key" # Változók, amelyek biztosítják, hogy nem közvetítjük azt, hogy volt vagy nem volt mozgás kétszer egymás után # Ezzel megspórolja az elküldött eseményeket és a feldolgozási teljesítményt már a LED sárgára vált GPIO.kimenet (PIROS, 1) GPIO.kimenet (ZÖLD, 1)

A 23-41 sorok azért fontosak, mert inicializáljuk a Kezdeti állapot streamert, és a LED-et sárgára állítjuk. Tegye a kezdeti állapothoz tartozó hozzáférési kulcsot a 28. sorba.

# Hurok a végtelenségig

míg igaz: # Ha a mozgásérzékelő magasra húz (érzékeli a mozgást): ha GPIO.input (PIN) == 1: nyomtatás "Mozgás észlelve" # Ha még nem streameltünk: ha még nemRecordedMotion: számláló = számláló + 1 # Állítsa a LED -et pirosra GPIO.output (RED, 1) GPIO.output (GREEN, 0) # Stream to Initial State streamer.log (": ghost: or: chocolate_bar:?", ": chocolate_bar: Time For Treats!") streamer.log (": candy: Hungry Humans?: candy:", counter) streamer.flush () jauRecordedMotion = Igaz jauRecordedNoMotion = False else: # A szkript szüneteltetése 1 másodperc alvásig (1) else: print "Nincs mozgás észlelve" # Ha még nem streameltünk: ha még nemRecordedNoMotion: # Állítsa a LED -et sárgára GPIO.output (PIROS, 1) GPIO.output (GREEN, 1) # Stream to Initial State streamer.log (": ghost: or: chocolate_bar:? ",": no_pedestrians: No One Around ") streamer.flush () jauRecordedNoMotion = Igaz már

A 43-77 sorok a kód húsai. Ha mozgást észlel, a szkript ellenőrzi, hogy a "Time For Treats!" már streamelt. Ha nem, akkor a kezdeti állapotba kerül, és a LED pirosra van állítva; ha igen, a szkript 1 másodpercet vár, majd újra olvas a mozgásérzékelőből. Ugyanez vonatkozik arra az esetre is, ha nem észlel mozgást.

Ideje kipróbálni a kódot! Győződjön meg arról, hogy elmentette a szerkesztett fájlt a hozzáférési kulccsal a 28. sorban, majd lépjen be a terminálba:

python látogatók.py

Látnia kell, hogy a LED kigyullad, és a „Nincs mozgás észlelve” nyomtatás megkezdődik a parancssorba. Próbáljon integetni a kezével a mozgásérzékelő fölött - most piros lámpát kell látnia, és a „Mozgás észlelve” nyomtatás megkezdődik!

Most ellenőrizze, hogy olvasmányaink a kezdeti állapotba kerülnek -e.

4. lépés: Trükkös kezelő műszerfal

Trükkös kezelő műszerfal
Trükkös kezelő műszerfal

Menjen át a kezdeti állapotba, és nézze meg a műszerfalat! Látnia kell egy "? Trick or Treat Tracker" nevű vödröt. Húzza a kezét a mozgásérzékelő közelében, és nézze meg, hogyan frissül!

Az irányítópultom 2 összegző csempéből áll, amelyek az utolsó értéket és az eseményszám hisztogramját jelenítik meg, így láthatom, hogy az érzékelő mikor vált be.

Íme néhány dolog, amit figyelembe kell venni:

  • Valószínűleg el akarja osztani az "Éhes emberek" számát 2 -vel, hogy figyelembe vegye azt a tényt, hogy ugyanaz a személy kétszer is elhalad a mozgásérzékelő előtt - az ajtó felé vezető úton és visszafelé. Ezt valós idejű kifejezésekkel teheti meg a "= math.round (([Éhes emberek?]/2), 0)" egyenlet használatával.
  • Tesztelheti, hogy mennyire érzékeny a mozgásérzékelője, és ennek megfelelően elhelyezheti a járdán. Azt javaslom, hogy tartsa elég távol az ajtótól, hogy ne induljon el, ha valaki az ajtóban áll.
  • Szöveges riasztásokat is beállíthat, hogy közölje, valaki közeledik.
  • Válasszon háttérképet, hogy a műszerfal kissé kísérteties személyiséget kapjon!

Ajánlott: