Obsah:

Tracker Prickkin Pi Trick-or-Treat: 5 kroků
Tracker Prickkin Pi Trick-or-Treat: 5 kroků

Video: Tracker Prickkin Pi Trick-or-Treat: 5 kroků

Video: Tracker Prickkin Pi Trick-or-Treat: 5 kroků
Video: Free weight loss programs...exclusive by Lose Weight Hub 2024, Červenec
Anonim
Tracker Prickkin Pi Trick-or-Treat
Tracker Prickkin Pi Trick-or-Treat

Od elizabethnaSledovat více od autora:

Jak vytvořit monitor teploty Raspberry Pi
Jak vytvořit monitor teploty Raspberry Pi
Jak vytvořit monitor teploty Raspberry Pi
Jak vytvořit monitor teploty Raspberry Pi
Streamujte data z Tabulek Google na hlavní panel
Streamujte data z Tabulek Google na hlavní panel
Streamujte data z Tabulek Google na hlavní panel
Streamujte data z Tabulek Google na hlavní panel
Síť teplotních senzorů
Síť teplotních senzorů
Síť teplotních senzorů
Síť teplotních senzorů

Hledáte rychlý halloweenský projekt, který je užitečný více než jedním způsobem? Chcete dobře využít Pi Zero WH? Máte chuť pomocí dat určit, kolik cukroví budete potřebovat na příští rok?

Připravte se na sestavení Pumpkin Pi Trick-or-Treat Tracker! Pi-in-a-Pumpkin, který slouží jako ozdoba a nástroj pro sledování lidí, mění barvu a proudí, když je detekován pohyb. Počínaje absolutním začátkem by vám tento projekt neměl zabrat více než odpoledne - právě včas na Halloween!

Zásoby

  • Pi Zero WH s kartou SD
  • Senzor pohybu PIR
  • RGB LED
  • Rezistory 220 ohmů
  • (3) Vázací pásky (F/F, M/F, M/M)
  • Přenosná baterie
  • Falešná dýně

Krok 1: Sestava hardwaru

Sestava hardwaru
Sestava hardwaru
Sestava hardwaru
Sestava hardwaru
Sestava hardwaru
Sestava hardwaru

Jakmile budete mít Pi v provozu, musíme připojit pohybový senzor a LED diody. Ujistěte se, že v tuto chvíli není Pi připojeno k napájení.

Náš snímač pohybu vyžaduje, abychom jej připojili k napájení 3,3 V, uzemnění a datovému kolíku. Pin senzoru 3,3 V jsem připojil na pin 1 Pi, pin senzoru Ground na pin 6 Pi a pin senzoru dat na pin 16 Pi. První obrázek ukazuje plné připojení Pi a pohybového senzoru.

LED diody jsou o něco složitější než pohybový senzor, protože ke správnému provozu bez poškození jejich nebo Pi vyžadují rezistor. Použil jsem tři 220 ohmové odpory, ale s LED diodami se obvykle používají odpory 220 a 330 ohmů.

Chcete -li vše propojit, můžete buď:

  • Připájejte nožičky LED k rezistorům a poté veďte vodiče do Pi
  • Vše propojte pomocí prkénka a spojovacích šňůr
  • K propojení všeho použijte spojovací šňůry a elektrickou pásku (jako já).

Připojíme naše LED k pinům 11, 13 a 15. To je ale trochu složitější než pohybový senzor, protože nožičky na LED diodách odpovídají konkrétní barvě! Dlouhá noha je GND; a přinejmenším na mé LED se nohy změnily na červenou, GND, modrou, zelenou. Připojil jsem modrý na Pi pin 11, zelený na Pi pin 13 a červený na Pi pin 15. Druhý obrázek ukazuje finální zapojení obvodu.

Krok 2: Počáteční stav

Počáteční stav
Počáteční stav
Počáteční stav
Počáteční stav

Jistě vidíme, kdy je pomocí LED detekován pohyb, ale jak budeme sledovat, kolik triků nebo treaterů se zastavilo, aby nám ukradli cukroví?

Budeme streamovat na řídicí panel pokaždé, když se spustí a zastaví detekce pohybu. Protože je tento řídicí panel přístupný odkudkoli s připojením k internetu, můžeme na dálku sledovat, zda se někdo blíží k předním dveřím/misce sladkostí.

Krok 1: Zaregistrujte se pro počáteční stav účtu Přejděte na https://iot.app.initialstate.com a vytvořte si nový účet.

Krok 2: Nainstalujte ISStreamer

Nainstalujte modul Počáteční stav Python na svůj Raspberry Pi. Na příkazovém řádku (nezapomeňte nejprve zadat SSH do vašeho Pi) spusťte následující příkaz:

$ cd/home/pi/

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

Krok 3: Vyrobte si Automagic

Po kroku 2 uvidíte na obrazovce něco podobného následujícímu výstupu:

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

Heslo: Začátek ISStreamer Python Snadná instalace! Instalace může trvat několik minut, dejte si kávu:) Ale nezapomeňte se vrátit, otázky budu mít později! Nalezeno easy_install: setuptools 1.1.6 Nalezeno 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 nalezen, aktualizace… Požadavek již aktuální: ISStreamer v /Library/Python/2.7/site-packages Čištění… Chcete automaticky získat ukázkový skript? [y/N] Kam chcete příklad uložit? [výchozí:./is_example.py] Vyberte prosím aplikaci, kterou používáte v počátečním stavu: 1. app.initialstate.com 2. [NOVINKA!] iot.app.initialstate.com Zadejte volbu 1 nebo 2: Zadejte iot.app.initialstate.com uživatelské jméno: Zadejte heslo iot.app.initialstate.com:

Po zobrazení výzvy k automatickému získání příkladu skriptu zadejte y. Tím se vytvoří testovací skript, který můžeme spustit, abychom zajistili, že budeme moci streamovat data do Počátečního stavu. Další výzva se zeptá, kam chcete uložit ukázkový soubor. Můžete buď zadat vlastní místní cestu, nebo stisknutím klávesy Enter přijmout výchozí umístění. Nakonec budete dotázáni, kterou aplikaci Počátečního stavu používáte. Pokud jste si nedávno vytvořili účet, vyberte možnost 2, zadejte své uživatelské jméno a heslo. Poté bude instalace dokončena.

Krok 4: Přístupové klíče

Podívejme se na ukázkový skript, který byl vytvořen. $ nano is_example.py Na řádku 15 uvidíte řádek, který začíná streamer = Streamer (bucket_…. Tyto řádky vytvoří nový datový kbelík s názvem „Python Stream Example“a je přidružen k vašemu účtu. Toto přidružení se děje kvůli access_key =”…” parametr na stejném řádku. Tato dlouhá řada písmen a číslic je váš přístupový klíč k účtu Počáteční stav. Pokud ve webovém prohlížeči přejdete na svůj účet Počáteční stav, klikněte vpravo nahoře na své uživatelské jméno a poté přejděte na „moje nastavení“najdete stejný přístupový klíč v dolní části stránky v části „Streamovací přístupové klíče“.

Pokaždé, když vytvoříte datový tok, tento přístupový klíč nasměruje tento datový tok na váš účet (klíč tedy nikomu nesdělujte).

Krok 5: Spusťte příklad

Spusťte testovací skript, abyste se ujistili, že můžeme vytvořit datový proud na váš účet Počáteční stav. Spusťte následující:

$ python is_example.py

Krok 6: Zisk

Vraťte se ve webovém prohlížeči na svůj účet Počáteční stav. Vlevo na poličce s protokolem se měl objevit nový datový segment s názvem „Příklad Python streamu“(možná budete muset stránku aktualizovat). Kliknutím na tento kbelík a poté kliknutím na ikonu Vlny zobrazíte testovací data.

Krok 3: Python Script

Vytvořte skript a otevřete textový editor následujícím příkazem:

nano vistors.py

Zkopírujte a vložte kód odsud do textového editoru.

Než se pokusíme spustit cokoli, musíme provést několik úprav a zkontrolovat, co se děje v našem skriptu.

importujte RPi. GPIO jako GPIO

od času import spánku z ISStreamer. Streamer import Streamer # Řekněte Pi, že použijeme jeho systém číslování GPIO.setmode (GPIO. BCM) # Piny, které D1 a LED jsou připojeny k PIN = 23 MODRÁ = 17 ZELENÁ = 27 ČERVENÁ = 22 # Zadejte náš pin snímače pohybu jako vstup GPIO.setup (PIN, GPIO. IN) # Zadejte naše LED piny jako 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)

Řádky 1-21 jsou pro inicializaci. Nejprve importujeme rozhraní GPIO Pi a způsob, jak uspat náš skript. Poté importujeme streamer počátečního stavu, který jsme nainstalovali na předchozí stránku.

GPIO.setmode určuje, jaký systém číslování pro piny používáme. Místo fyzického umístění používáme systém číslování Pi. Stejně jako v našem diagramu dříve, piny, které jsme vybrali, byly 23, 17, 27 a 22. Poté jsme nastavili pohybový pin jako vstup a LED pro výstup.

# Název počátečního stavu segmentu (zobrazí se)

BUCKET_NAME = ": jack_o_lantern: Trick or Treat Tracker" # Klíč počátečního stavu (skrytý) BUCKET_KEY = "trickortreat" # Přístupový klíč počátečního stavu ACCESS_KEY = "Your_Access_Key" # Proměnné, které zajišťují, že nebudeme streamovat, zda existovalo nebo nebylo pohyb dvakrát za sebou # To šetří odeslané události a výpočetní výkon již LED na žlutou GPIO.output (ČERVENÁ, 1) GPIO.output (ZELENÁ, 1)

Řádky 23-41 jsou důležité, protože inicializujeme streamer počátečního stavu a nastavujeme LED na žlutou. Zadejte přístupový klíč počátečního stavu na řádek 28.

# Smyčka na neurčito

while True: # Pokud pohybový senzor táhne vysoko (detekuje pohyb): pokud GPIO.input (PIN) == 1: tisk „Detekován pohyb“# Pokud jsme ještě nestreakovali: pokud již neníRecordedMotion: counter = counter + 1 # Nastavit LED na červenou GPIO.output (ČERVENÁ, 1) GPIO.output (ZELENÁ, 0) # Stream do počáteč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: # Pozastavení skriptu na 1 sekundu spánku (1) else: tisk "Nebyl detekován žádný pohyb" # Pokud jsme ještě nestreamovali: pokud už neníRecordedNoMotion: # Nastavte LED na žlutou GPIO.output (ČERVENÁ, 1) GPIO.output (ZELENÁ, 1) # Stream do počátečního stavu streamer.log (": duch: nebo: čokoláda_bar:? ",": no_pedestrians: No One Around ") streamer.flush () alreadyRecordedNoMotion = True alreadyRecordedMotion = False else: # Pozastavení skriptu na 1 sekundu spánku (1)

Řádky 43-77 jsou masem kódu. Pokud je detekován pohyb, skript zkontroluje, zda je „čas na pamlsky!“již bylo streamováno. Pokud tomu tak není, je odeslán do počátečního stavu a LED dioda je nastavena na červenou; pokud ano, skript čeká 1 sekundu a poté znovu načte ze snímače pohybu. Totéž platí, pokud není detekován žádný pohyb.

Je čas otestovat kód! Ujistěte se, že jste uložili upravený soubor s přidaným přístupovým klíčem na řádku 28, a poté zadejte do terminálu:

python Visitors.py

Měli byste vidět, že se rozsvítila kontrolka LED a na příkazovém řádku se začal tisknout „Nebyl detekován žádný pohyb“. Zkuste mávat rukou nad pohybovým senzorem - nyní byste měli vidět červené světlo a „Detekován pohyb“začít tisknout!

Nyní ověřte, že naše hodnoty jsou streamovány do počátečního stavu.

Krok 4: Drickboard Trick-or-Treat

Řídicí panel Trick-or-Treat
Řídicí panel Trick-or-Treat

Přejděte do počátečního stavu a podívejte se na svůj řídicí panel! Měli byste vidět kbelík s názvem „? Trick or Treat Tracker“. Mávněte rukou poblíž pohybového senzoru a sledujte, jak se aktualizuje!

Můj řídicí panel se skládá ze 2 souhrnných dlaždic zobrazujících poslední hodnotu a histogramu počtu událostí, abych viděl, kdy byl senzor spuštěn.

Zde je několik věcí, které je třeba zvážit:

  • Pravděpodobně budete chtít vydělit počet „Hungry Humans“dvěma, aby byla zohledněna skutečnost, že stejná osoba projde před snímačem pohybu dvakrát - na cestě k vašim dveřím a na cestě zpět. To lze provést pomocí výrazů v reálném čase pomocí rovnice „= math.round (([Hungry Humans?]/2), 0)“.
  • Můžete vyzkoušet, jak citlivý je váš pohybový senzor, a podle toho jej umístit na chodník. Doporučuji držet ho dostatečně daleko od dveří, aby se nespustil, když někdo stojí u dveří.
  • Můžete také nastavit textová upozornění, která vám řeknou, že se někdo blíží.
  • Vyberte si obrázek na pozadí, aby měl váš palubní panel trochu strašidelnou osobnost!

Doporučuje: