Sisukord:

Pumpkin Pi Trick-or-Treat Tracker: 5 sammu
Pumpkin Pi Trick-or-Treat Tracker: 5 sammu

Video: Pumpkin Pi Trick-or-Treat Tracker: 5 sammu

Video: Pumpkin Pi Trick-or-Treat Tracker: 5 sammu
Video: Trick 'r Treat (2007) - School Bus Massacre Scene (5/9) | Movieclips 2024, Juuli
Anonim
Pumpkin Pi Trick-or-Treat Tracker
Pumpkin Pi Trick-or-Treat Tracker

Jälgi autori lisateavet:

Kuidas ehitada Raspberry Pi temperatuurimonitor
Kuidas ehitada Raspberry Pi temperatuurimonitor
Kuidas ehitada Raspberry Pi temperatuurimonitor
Kuidas ehitada Raspberry Pi temperatuurimonitor
Andmete voogesitamine Google'i arvutustabelitest juhtpaneelile
Andmete voogesitamine Google'i arvutustabelitest juhtpaneelile
Andmete voogesitamine Google'i arvutustabelitest juhtpaneelile
Andmete voogesitamine Google'i arvutustabelitest juhtpaneelile
Temperatuuri andurite võrk
Temperatuuri andurite võrk
Temperatuuri andurite võrk
Temperatuuri andurite võrk

Kas otsite kiiret Halloweeni projekti, mis on kasulik mitmel viisil? Kas soovite seda Pi Zero WH -d hästi kasutada? Kas soovite kasutada andmeid, et määrata, kui palju kommi järgmisel aastal vajate?

Olge valmis Pumpkin Pi trikk-või-ravitseja ehitamiseks! Kahekordse dekoratsiooni ja inimeste jälgijana muudab see Pi-in-a-Pumpkin liikumise tuvastamisel värvi ja voogusid. Alustades absoluutselt nullist, ei tohiks selle projekti kokkupanekuks kuluda rohkem kui pärastlõuna - just Halloweeni ajaks!

Tarvikud

  • Pi Zero WH koos SD -kaardiga
  • PIR -liikumisandur
  • RGB LED
  • 220 oomi takistid
  • (3) lipsuliinid (F/F, M/F, M/M)
  • Kaasaskantav aku
  • Võltskõrvits

Samm: riistvara kokkupanek

Riistvara kokkupanek
Riistvara kokkupanek
Riistvara kokkupanek
Riistvara kokkupanek
Riistvara kokkupanek
Riistvara kokkupanek

Kui olete oma Pi valmis saanud, peame ühendama liikumisanduri ja LED -id. Veenduge, et Pi pole hetkel vooluvõrku ühendatud.

Meie liikumisandur nõuab selle ühendamist 3,3 V toite, maanduse ja andmeklemmiga. Ma ühendasin 3,3 V anduri tihvti Pi 1 tihvtiga, Maandusanduri tihvti Pi 6 tihvtiga ja Andmeanduri tihvti Pi 16 tihvtiga. Esimesel pildil on näha Pi ja liikumisanduri täielik ühendus.

LED -id on natuke keerulisemad kui liikumisandur, sest nõuavad takistit, et korralikult töötada ilma neid ega Pi -d kahjustamata. Ma kasutasin kolme 220 oomi takistit, kuid 220 ja 330 oomi takistit kasutatakse tavaliselt LED -idega.

Kõigi ühendamiseks võite teha järgmist.

  • Jootke LED -jalad takistite külge ja seejärel viige juhtmed Pi -sse
  • Kõigi ühendamiseks kasutage leivaplaati ja sidumisjooni
  • Kõigi ühendamiseks kasutage lipsuliine ja elektrilinti (nagu ma tegin).

Me ühendame oma LED -i tihvtidega 11, 13 ja 15. See on siiski natuke keerulisem kui liikumisandur, sest LED -i jalad vastavad kindlale värvile! Pikk jalg on GND; ja vähemalt minu LED -il läksid jalad punaseks, GND, siniseks, roheliseks. Ühendasin sinise Pi tihvtiga 11, rohelisega Pi tihvtiga 13 ja punasega Pi tihvtiga 15. Teine pilt näitab ahela lõppühendusi.

2. etapp: algseisund

Esialgne riik
Esialgne riik
Esialgne riik
Esialgne riik

Muidugi näeme, millal valgusdioodiga liikumist tuvastatakse, aga kuidas me jälgime, kui palju nippe on meie kommide varastamiseks langenud?

Striimime juhtpaneelile iga kord, kui liikumine algab ja selle tuvastamine peatub. Kuna sellele armatuurlauale pääseb juurde kõikjalt, kus on Interneti -ühendus, saame kaugjuhitavalt jälgida, kas keegi läheneb esiuksele/kommikausile või mitte.

Samm 1: registreeruge esmase riigi kontole Minge aadressile https://iot.app.initialstate.com ja looge uus konto.

Samm: installige ISStreamer

Installige algseisundi Pythoni moodul oma Raspberry Pi -le. Käsureal (ärge unustage esmalt oma Pi -sse SSH -d sisestada) käivitage järgmine käsk:

$ cd/home/pi/

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

3. samm: tehke automaatika

Pärast 2. sammu näete ekraanile midagi sarnast järgmise väljundiga:

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

Parool: ISStreamer Python lihtne paigaldamine! Selle paigaldamiseks võib kuluda paar minutit, haarake kohvi:) Aga ärge unustage tagasi tulla, mul on hiljem küsimusi! Leiti easy_install: setuptools 1.1.6 Leiti pip: pip 1.5.6 /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip peamine versioon: 1 pip kõrvalversioon: 5 ISStreamer leiti, värskendatakse … Nõue on juba ajakohane: ISStreamer /Library/Python/2.7/site-packages Cleaning up … Kas soovite automaatse näidiskripti saada? [y/N] Kuhu soovite näite salvestada? [vaikimisi:./is_example.py] Palun valige, millist algse oleku rakendust kasutate: 1. app.initialstate.com 2. [UUS!] iot.app.initialstate.com Sisestage valik 1 või 2: Sisestage iot.app.initialstate.com kasutajanimi: sisestage iot.app.initialstate.com parool:

Kui teil palutakse näiteskripti automaatselt hankida, tippige y. See loob testskripti, mille saame käivitada, et tagada andmete voogesitus algolekusse. Järgmine viip küsib, kuhu soovite näidisfaili salvestada. Vaikimisi asukoha aktsepteerimiseks võite sisestada kohandatud kohaliku tee või vajutada sisestusklahvi. Lõpuks küsitakse teilt, millist algse riigi rakendust te kasutate. Kui olete hiljuti konto loonud, valige suvand 2, sisestage oma kasutajanimi ja parool. Pärast seda on installimine lõpule viidud.

4. samm: juurdepääsuklahvid

Vaatame loodud skripti näidist. $ nano is_example.py 15. real näete rida, mis algab sõnadega streamer = Streamer (bucket_…. Need read loovad uue andmekogumi nimega „Python Stream Example” ja on seotud teie kontoga. See seos juhtub access_key =”…” parameeter samal real. See pikk tähtede ja numbrite seeria on teie algse riigi konto juurdepääsuvõti. Kui lähete oma veebibrauseris oma algse riigi kontole, klõpsake paremas ülanurgas oma kasutajanime ja seejärel minge jaotises „Minu seaded” leiate sama juurdepääsuklahvi lehe allservast jaotisest „Voogesituse juurdepääsuklahvid”.

Iga kord, kui loote andmevoo, suunab see juurdepääsuvõti selle andmevoo teie kontole (seega ärge jagage oma võtit kellegagi).

Samm: käivitage näide

Käivitage testskript, et veenduda, kas suudame teie algse oleku kontole andmevoo luua. Käivitage järgmine:

$ python is_example.py

6. samm: kasum

Minge oma veebibrauseris tagasi algse riigi kontole. Teie logiriiuli vasakul küljel oleks pidanud ilmuma uus andmekogum nimega „Python Streami näide” (peate võib -olla lehte värskendama). Testiandmete vaatamiseks klõpsake sellel ämbril ja seejärel lainete ikoonil.

Samm: Pythoni skript

Looge skript ja avage tekstiredaktor järgmise käsuga:

nano vistors.py

Kopeerige ja minge kood siit tekstiredaktorisse.

Enne kui proovime midagi käivitada, peame tegema mõned muudatused ja üle vaatama, mis meie skriptis toimub.

RPi. GPIO importimine GPIO -na

ajast importimise unerežiimist ISStreamerist. Streameri import Streamer # Öelge Pi -le, et me kasutame selle numeratsioonisüsteemi GPIO.setmode (GPIO. BCM) # Pinsid, mille D1 ja LED on ühendatud PIN -iga = 23 SININE = 17 GREEN = 27 RED = 22 # Määrake meie liikumisanduri tihvt sisendiks GPIO.seadistus (PIN, GPIO. IN) # Määrake meie LED -nööpnõelad väljundiks GPIO.seadistus (RED, GPIO. OUT) GPIO.output (RED, 0) GPIO.setup (GREEN, GPIO. OUT) GPIO.väljund (GREEN, 0) GPIO.seadistus (BLUE, GPIO. OUT) GPIO. output (BLUE, 0)

Ridad 1-21 on lähtestamiseks. Kõigepealt impordime Pi GPIO liidese ja viisi, kuidas oma skripti magada. Seejärel impordime eelseisvale lehele installitud striimeri.

GPIO.setmode määrab, millist nummerdussüsteemi me tihvtide jaoks kasutame. Füüsilise asukoha asemel kasutame Pi nummerdussüsteemi. Nagu meie skeemil varem, olid meie valitud tihvtid 23, 17, 27 ja 22. Seejärel seadistasime liikumisnõela sisendiks ja LED -tihvtid väljundiks.

# Esialgne osariigi nimi (kuvatud)

BUCKET_NAME = ": jack_o_lantern: Trick or Treat Tracker" # Algseisundi ämbrivõti (peidetud) BUCKET_KEY = "trickortreat" # Esialgse oleku juurdepääsuvõti ACCESS_KEY = "Your_Access_Key" # Muutujad, mis tagavad, et me ei striimita seda, kas oli või ei olnud motion kaks korda järjest # See säästab juba saadetud sündmusi ja töötlemisvõimsust LED kollaseks GPIO väljund (PUNANE, 1) GPIO väljund (GREEN, 1)

Ridad 23-41 on olulised, kuna lähtestame striimeri algseisundi ja seame LED-i kollaseks. Pange oma algse oleku juurdepääsuvõti reale 28.

# Tsükkel lõputult

samas tõsi: # Kui liikumisandur tõmbab kõrgele (tuvastab liikumise): kui GPIO.input (PIN) == 1: print "Liikumine tuvastatud" # Kui me pole veel voogesitanud: kui mitte jubaRecordedMotion: counter = counter + 1 # Seadke LED punaseks 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 () jubaRecordedMotion = Tõsi jubaRecordedNoMotion = False else: # Peata skript 1 sekundiks unele (1) else: print "Liikumist ei tuvastatud" # Kui me pole veel striiminud: kui pole veelRecordedNoMotion: # Seadke LED kollaseks GPIO.output (PUNANE, 1) GPIO.output (GREEN, 1) # Stream to Initial State streamer.log (": ghost: or: chocolate_bar:? ",": no_pedestrians: No One Around ") streamer.flush () jubaRecordedNoMotion = Tõsi jubaRecordedMotion = False else: # Peata skript 1 sekundiks magama (1)

Ridad 43-77 on koodi liha. Kui tuvastatakse liikumine, kontrollib skript, kas "Time For Treats!" on juba striimitud. Kui see pole nii, saadetakse see algseisundisse ja LED -tuli on punane; kui on, ootab skript 1 sekund ja loeb seejärel uuesti liikumisandurilt. Sama kehtib ka siis, kui liikumist ei tuvastata.

On aeg koodi testida! Veenduge, et olete salvestanud oma redigeeritud faili, millele on lisatud juurdepääsuvõti reale 28, ja seejärel sisestage terminal:

pythoni külastajad.py

Peaksite nägema, et LED süttib ja "Liikumist ei tuvastatud" hakkab käsureale printima. Proovige lehvitada käega liikumisanduri kohal - nüüd peaksite nägema punast tuld ja „Liikumine tuvastatud“hakkab printima!

Nüüd kontrollime, kas meie näidud edastatakse algseisundisse.

4. samm: trikita või armatuurlaud

Trick-or-Treat armatuurlaud
Trick-or-Treat armatuurlaud

Minge algseisundisse ja vaadake oma armatuurlauda! Te peaksite nägema ämbrit nimega "? Trick or Treat Tracker". Lehvitage kätt liikumisanduri lähedal ja vaadake, kuidas see uueneb!

Minu armatuurlaud koosneb kahest kokkuvõtteplaadist, mis kuvavad viimast väärtust ja sündmuste arvu histogrammi, et saaksin näha, millal andur käivitati.

Siin on mõned asjad, mida kaaluda.

  • Tõenäoliselt soovite jagada näljaste inimeste arvu kahega, et arvestada asjaolu, et sama inimene möödub kaks korda liikumisanduri ees - teel teie ukse juurde ja tagasiteel. Seda saate teha reaalajas avaldiste abil, kasutades võrrandit "= math.round (([Hungry Humans?]/2), 0)".
  • Saate testida, kui tundlik teie liikumisandur tundub olevat, ja asetada see vastavalt oma kõnniteele. Soovitan hoida seda uksest piisavalt kaugel, et see ei vallanduks, kui keegi uksel seisab.
  • Samuti saate seadistada tekstimärguandeid, et öelda, et keegi läheneb.
  • Valige taustapilt, et anda armatuurlauale veidi õudne isikupära!

Soovitan: