Obsah:

Tracker-or-Treat Track-Pi: 5 krokov
Tracker-or-Treat Track-Pi: 5 krokov

Video: Tracker-or-Treat Track-Pi: 5 krokov

Video: Tracker-or-Treat Track-Pi: 5 krokov
Video: [2/5] 3D Камера, Трекинг и Mocha AE [Базовый After Effects С НУЛЯ] 2024, Júl
Anonim
Pumpkin Pi Trick-or-Treat Tracker
Pumpkin Pi Trick-or-Treat Tracker

Od elizabethna Nasledovať viac od autora:

Ako vytvoriť monitor teploty Raspberry Pi
Ako vytvoriť monitor teploty Raspberry Pi
Ako vytvoriť monitor teploty Raspberry Pi
Ako vytvoriť monitor teploty Raspberry Pi
Streamujte údaje z Tabuliek Google na informačný panel
Streamujte údaje z Tabuliek Google na informačný panel
Streamujte údaje z Tabuliek Google na informačný panel
Streamujte údaje z Tabuliek Google na informačný panel
Sieť teplotných senzorov
Sieť teplotných senzorov
Sieť teplotných senzorov
Sieť teplotných senzorov

Hľadáte rýchly halloweensky projekt, ktorý je užitočný vo viacerých smeroch? Chcete dobre využiť ten Pi Zero WH? Máte chuť pomocou údajov určiť, koľko cukríkov budete na budúci rok potrebovať?

Pripravte sa na zostavenie sledovača Trick-or-Treat Pumpkin Pi! Táto pí-in-a-tekvica, ktorá slúži ako dekorácia a nástroj na sledovanie ľudí, mení farbu a prúdi, keď je detekovaný pohyb. Začíname úplne od nuly, tento projekt by vám nemal zabrať viac ako popoludnie - práve včas na Halloween!

Zásoby

  • Pi Zero WH s kartou SD
  • PIR snímač pohybu
  • RGB LED
  • Rezistory 220 ohmov
  • (3) Šnúrky na viazanie (F/F, M/F, M/M)
  • Prenosná batéria
  • Falošná tekvica

Krok 1: Zostava hardvéru

Zostava hardvéru
Zostava hardvéru
Zostava hardvéru
Zostava hardvéru
Zostava hardvéru
Zostava hardvéru

Akonáhle budete mať Pi v prevádzke, musíme pripojiť snímač pohybu a LED diódy. Uistite sa, že v tomto mieste nie je Pi pripojený k napájaniu.

Náš snímač pohybu vyžaduje, aby sme ho pripojili k napájaniu 3,3 V, uzemneniu a dátovému kolíku. Pripojil som kolík senzora 3,3 V na kolík 1 Pi, kolík senzora uzemnenia na pin 6 Pi a kolík dátového senzora na kolík 16 Pi. Prvý obrázok zobrazuje úplné pripojenie Pi a snímača pohybu.

LED diódy sú o niečo zložitejšie ako pohybový senzor, pretože na správnu činnosť bez ich poškodenia alebo poškodenia Pi vyžadujú odpor. Použil som tri odpory 220 ohmov, ale rezistory 220 a 330 ohmov sa zvyčajne používajú s diódami LED.

Na prepojenie všetkého môžete buď:

  • Pripájajte nohy LED k odporom a potom zapojte vodiče do Pi
  • Všetko prepojte pomocou breadboardu a viazacích šnúr
  • Na prepojenie všetkého použite spojovacie šnúry a elektrickú pásku (ako ja).

Pripojíme naše LED diódy k pinom 11, 13 a 15. To je však trochu zložitejšie ako snímač pohybu, pretože nohy na LED dióde zodpovedajú konkrétnej farbe! Dlhá noha je GND; a prinajmenšom na mojej LED sa nohy zmenili na červenú, GND, modrú, zelenú. Pripojil som modrý na Pi pin 11, zelený na Pi pin 13 a červený na Pi pin 15. Druhý obrázok ukazuje konečné zapojenie obvodov.

Krok 2: Počiatočný stav

Počiatočný stav
Počiatočný stav
Počiatočný stav
Počiatočný stav

Iste vidíme, že pomocou LED diódy je detekovaný pohyb, ale ako budeme sledovať, koľko trikov alebo treaterov sa zastavilo, aby nám ukradli cukríky?

Streamujeme na informačný panel vždy, keď sa pohyb začne a prestane byť detekovaný. Pretože je táto palubná doska prístupná odkiaľkoľvek s pripojením na internet, môžeme na diaľku monitorovať, či sa niekto blíži k predným dverám/miske cukríkov alebo nie.

Krok 1: Zaregistrujte sa na počiatočný stav účtu Prejdite na stránku https://iot.app.initialstate.com a vytvorte si nový účet.

Krok 2: Nainštalujte ISStreamer

Nainštalujte modul Počiatočný stav Python na svoj Raspberry Pi. Na príkazovom riadku (nezabudnite najskôr SSH do svojho Pi) spustite nasledujúci príkaz:

$ cd/domov/pi/

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

Krok 3: Vyrobte si nejaký automobil

Po kroku 2 uvidíte na obrazovke niečo podobné nasledujúcemu výstupu:

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

Heslo: Začiatok ISStreamer Python Jednoduchá inštalácia! Inštalácia môže trvať niekoľko minút, dajte si kávu:) Ale nezabudnite sa vrátiť, otázky budem mať neskôr! Nájdená jednoduchá inštalácia: setuptools 1.1.6 Nájdená pip: pip 1.5.6 z /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip major version: 1 pip minor version: 5 ISStreamer nájdený, aktualizuje sa … Požiadavka je už aktuálna: ISStreamer v /Library/Python/2.7/site-packages Čistenie … Chcete automaticky získať ukážkový skript? [y/N] Kam chcete uložiť príklad? [predvolené:./is_example.py] Vyberte aplikáciu, ktorú používate v počiatočnom stave: 1. app.initialstate.com 2. [NOVINKA!] iot.app.initialstate.com Zadajte voľbu 1 alebo 2: Zadajte iot.app Používateľské meno.initialstate.com: Zadajte heslo na adrese iot.app.initialstate.com:

Po zobrazení výzvy na automatické získanie ukážkového skriptu zadajte y. Tým sa vytvorí testovací skript, ktorý môžeme spustiť, aby sme zaistili, že budeme môcť streamovať údaje do počiatočného stavu. Nasledujúca výzva sa spýta, kam chcete uložiť ukážkový súbor. Môžete buď zadať vlastnú miestnu cestu, alebo stlačením klávesu Enter prijať predvolené umiestnenie. Nakoniec sa vás opýta, akú aplikáciu Počiatočného stavu používate. Ak ste si nedávno vytvorili účet, zvoľte možnosť 2, zadajte svoje užívateľské meno a heslo. Potom bude inštalácia dokončená.

Krok 4: Prístupové kľúče

Pozrime sa na ukážkový skript, ktorý bol vytvorený. $ nano is_example.py Na riadku 15 uvidíte riadok, ktorý začína na streamer = Streamer (bucket_ …. Tieto riadky vytvoria nový zväzok údajov s názvom „Príklad Python streamu“a budú priradené k vášmu účtu. K tomuto priradeniu dochádza z dôvodu access_key =”…” parameter na tom istom riadku. Táto dlhá séria písmen a číslic je vašim prístupovým kľúčom k počiatočnému stavu. Ak vo webovom prehliadači prejdete na svoj počiatočný stav, kliknite vpravo hore na svoje používateľské meno a potom choďte na „moje nastavenia“nájdete ten istý prístupový kľúč v spodnej časti stránky v časti „Klávesy na streamovanie“.

Zakaždým, keď vytvoríte stream údajov, tento prístupový kľúč ho presmeruje do vášho účtu (kľúč teda nikomu nezdieľajte).

Krok 5: Spustite príklad

Spustite testovací skript, aby ste sa uistili, že môžeme vytvoriť tok údajov pre váš účet Počiatočný stav. Spustite nasledujúce:

$ python is_example.py

Krok 6: Zisk

Vo webovom prehliadači sa vráťte k svojmu počiatočnému účtu. Nový priečinok s údajmi s názvom „Príklad Python streamu“sa mal zobraziť vľavo na poličke denníka (možno budete musieť stránku obnoviť). Kliknutím na toto vedro a potom na ikonu Vlny zobrazíte údaje o teste.

Krok 3: Skript Python

Vytvorte skript a otvorte textový editor nasledujúcim príkazom:

nano vistors.py

Skopírujte a vložte kód odtiaľto do svojho textového editora.

Predtým, ako sa pokúsime spustiť čokoľvek, musíme urobiť niekoľko úprav a skontrolovať, čo sa deje v našom skripte.

importujte RPi. GPIO ako GPIO

z času import spánku z ISStreamer. Streamovanie import Streamer # Povedzte Pi, že použijeme jeho systém číslovania GPIO.setmode (GPIO. BCM) # Piny, ktoré D1 a LED sú pripojené k PIN = 23 MODRÁ = 17 ZELENÁ = 27 ČERVENÁ = 22 # Zadajte náš pin snímača pohybu ako vstup GPIO.setup (PIN, GPIO. IN) # Zadajte naše LED kolíky ako výstup GPIO.setup (RED, GPIO. OUT) GPIO.output (RED, 0) GPIO.setup (GREEN), GPIO. OUT) GPIO.output (ZELENÁ, 0) GPIO.setup (MODRÁ, GPIO. OUT) GPIO.output (MODRÁ, 0)

Riadky 1-21 slúžia na inicializáciu. Najprv importujeme rozhranie GPIO Pi a spôsob, ako uložiť náš skript do režimu spánku. Potom importujeme streamer počiatočného stavu, ktorý sme nainštalovali na predchádzajúcej stránke.

GPIO.setmode určuje, ktorý systém číslovania pre piny používame. Namiesto fyzického umiestnenia používame číslovací systém Pi. Rovnako ako v našom diagrame vyššie, piny, ktoré sme vybrali, boli 23, 17, 27 a 22. Potom sme nastavili pohybový kolík ako vstup a kolíky LED ako výstup.

# Názov segmentu počiatočného stavu (zobrazuje sa)

BUCKET_NAME = ": jack_o_lantern: Tracker or Treat Tracker" # Kľúč vedra počiatočného stavu (skrytý) BUCKET_KEY = "trickortreat" # Kľúč počiatočného stavu ACCESS_KEY = "Your_Access_Key" # Premenné, ktoré zaisťujú, že nebudeme streamovať, či existovalo alebo nebolo pohyb dvakrát za sebou # Šetrí sa to za odoslané udalosti a výkon spracovania LED na žltú GPIO.output (ČERVENÁ, 1) GPIO.output (ZELENÁ, 1)

Riadky 23-41 sú dôležité, pretože inicializujeme streamer počiatočného stavu a nastavujeme LED na žltú. Vložte svoj prístupový kľúč do počiatočného stavu na riadok 28.

# Slučka na neurčito

while True: # Ak snímač pohybu ťahá vysoko (detekuje pohyb): ak GPIO.vstup (PIN) == 1: vytlačte „Pohyb detekovaný“# Ak sme ešte neprúdili: ak už nie jeZaznamenanýPohyb: počítadlo = počítadlo + 1 # Nastaviť LED na červenú GPIO.output (ČERVENÁ, 1) GPIO.output (ZELENÁ, 0) # Stream do počiatočného stavu streamer.log (": ghost: or: chocolate_bar:?", ": chocolate_bar: Time For Treats!") streamer.log (": candy: Hungry Humans?: candy:", counter) streamer.flush () alreadyRecordedMotion = True alreadyRecordedNoMotion = False else: # Pozastavenie skriptu na 1 sekundu spánku (1) else: print "No motion found # Ak sme ešte streamovali: ak už nie jeRecordedNoMotion: # Nastavte LED na žltú GPIO.output (ČERVENÁ, 1) GPIO.output (ZELENÁ, 1) # Stream do počiatočného stavu streamer.log (": duch: alebo: čokoláda_bar:? ",": no_pedestrians: No One Around ") streamer.flush () alreadyRecordedNoMotion = True alreadyRecordedMotion = False else: # Pozastavenie skriptu na 1 sekundu spánku (1)

Riadky 43-77 sú mäsom kódu. Ak je detekovaný pohyb, skript skontroluje, či je „Čas na maškrty!“už bolo streamované. Ak nie, odošle sa do počiatočného stavu a dióda LED sa rozsvieti na červeno; ak áno, skript počká 1 sekundu a potom znova číta zo senzora pohybu. To isté platí, ak nie je detekovaný žiadny pohyb.

Je čas otestovať kód! Uistite sa, že ste upravený súbor uložili pomocou prístupového kľúča pridaného na riadku 28, a potom zadajte do terminálu:

python návštevníkov.py

Mali by ste vidieť, že sa rozsvieti LED dióda a na príkazovom riadku sa začne tlačiť „Žiadny pohyb nebol zistený“. Skúste mávnuť rukou nad snímačom pohybu - teraz by ste mali vidieť červené svetlo a začať tlačiť „Detekovaný pohyb“!

Teraz overte, či sa naše hodnoty streamujú do počiatočného stavu.

Krok 4: Hlavný panel trik alebo ošetrite

Informačný panel trik-alebo-ošetruj
Informačný panel trik-alebo-ošetruj

Prejdite do počiatočného stavu a pozrite sa na svoj hlavný panel! Mali by ste vidieť vedro s názvom „? Trick or Treat Tracker“. Mávnite rukou v blízkosti snímača pohybu a sledujte, ako sa aktualizuje!

Môj dashboard sa skladá z 2 súhrnných dlaždíc zobrazujúcich poslednú hodnotu a histogramu počtu udalostí, aby som mohol vidieť, kedy bol senzor spustený.

Tu je niekoľko vecí, ktoré je potrebné zvážiť:

  • Pravdepodobne budete chcieť rozdeliť počet „Hladných ľudí“na 2, aby ste zohľadnili skutočnosť, že tá istá osoba prejde pred snímačom pohybu dvakrát - cestou k vašim dverám a cestou späť. Môžete to dosiahnuť pomocou výrazov v reálnom čase pomocou rovnice „= math.round (([Hungry Humans?]/2), 0)“.
  • Môžete si vyskúšať, ako citlivý je váš pohybový senzor, a podľa toho ho umiestniť na chodník. Navrhujem držať ho dostatočne ďaleko od dverí, aby sa nespúšťal, keď niekto stojí pri dverách.
  • Môžete si tiež nastaviť textové upozornenia, ktoré vám oznámia, že sa niekto blíži.
  • Vyberte si obrázok na pozadí, aby váš prístrojový panel získal trochu strašidelnej osobnosti!

Krok 5: Tekvica Pi

Odporúča: