Satura rādītājs:

Ķirbju Pi triku vai ārstēšanās izsekotājs: 5 soļi
Ķirbju Pi triku vai ārstēšanās izsekotājs: 5 soļi

Video: Ķirbju Pi triku vai ārstēšanās izsekotājs: 5 soļi

Video: Ķirbju Pi triku vai ārstēšanās izsekotājs: 5 soļi
Video: PIXEL GUN 3D TUTORIAL 2024, Jūlijs
Anonim
Ķirbju Pi triku vai ārstēšanās izsekotājs
Ķirbju Pi triku vai ārstēšanās izsekotājs

Seko vairāk autoram:

Kā izveidot Raspberry Pi temperatūras monitoru
Kā izveidot Raspberry Pi temperatūras monitoru
Kā izveidot Raspberry Pi temperatūras monitoru
Kā izveidot Raspberry Pi temperatūras monitoru
Straumējiet datus no Google izklājlapām uz informācijas paneli
Straumējiet datus no Google izklājlapām uz informācijas paneli
Straumējiet datus no Google izklājlapām uz informācijas paneli
Straumējiet datus no Google izklājlapām uz informācijas paneli
Temperatūras sensoru tīkls
Temperatūras sensoru tīkls
Temperatūras sensoru tīkls
Temperatūras sensoru tīkls

Vai meklējat ātru Helovīna projektu, kas ir noderīgs vairākos veidos? Vai vēlaties izmantot šo Pi Zero WH? Vai vēlaties izmantot datus, lai noteiktu, cik daudz konfekšu jums vajadzēs nākamajā gadā?

Gatavojieties izveidot ķirbju Pi triku vai ārstēšanās izsekotāju! Šis Pi-in-a-Pumpkin, kas tiek dubultots kā rotājums un cilvēku izsekotājs, maina krāsu un straumes, kad tiek konstatēta kustība. Sākot no absolūta nulles, šim projektam nevajadzētu aizņemt vairāk par pēcpusdienu - tieši Helovīna laikā!

Piegādes

  • Pi Zero WH ar SD karti
  • PIR kustības sensors
  • RGB gaismas diode
  • 220 omu rezistori
  • (3) Kaklasaites līnijas (F/F, M/F, M/M)
  • Pārnēsājams akumulators
  • Viltus ķirbis

1. darbība: aparatūras montāža

Aparatūras montāža
Aparatūras montāža
Aparatūras montāža
Aparatūras montāža
Aparatūras montāža
Aparatūras montāža

Kad esat izveidojis un darbinājis savu Pi, mums ir jāpievieno kustības sensors un gaismas diodes. Pārliecinieties, vai šajā brīdī Pi nav pievienots strāvas avotam.

Mūsu kustības sensoram ir jāpievieno tas 3,3 V strāvai, zemei un datu tapai. Es savienoju 3.3V sensora tapu ar Pi 1 tapu, zemējuma sensora tapu ar Pi 6 tapu un datu sensora tapu ar Pi 16 tapu. Pirmajā attēlā redzams pilns Pi un kustības sensora savienojums.

Gaismas diodes ir nedaudz sarežģītākas nekā kustības sensors, jo tām ir nepieciešams rezistors, lai tās darbotos pareizi, nesabojājot tās vai Pi. Es izmantoju trīs 220 omu rezistorus, bet 220 un 330 omu rezistorus parasti izmanto ar gaismas diodēm.

Lai visu savienotu, varat:

  • Lodējiet LED kājas pie rezistoriem un pēc tam vadiet vadus Pi
  • Lai savienotu visu, izmantojiet maizes dēli un kaklasaites līnijas
  • Lai savienotu visu, izmantojiet kaklasaites līnijas un elektrisko lenti (kā es to darīju).

Mēs savienosim savu LED ar 11., 13. un 15. tapām. Tomēr tas ir nedaudz sarežģītāk nekā kustības sensors, jo gaismas diodes kājas atbilst noteiktai krāsai! Garā kāja ir GND; un, vismaz manā LED, kājas kļuva sarkanas, GND, zilas, zaļas. Es savienoju zilo ar Pi tapu 11, zaļo ar Pi tapu 13 un sarkano ar Pi tapu 15. Otrajā attēlā redzami galīgie ķēdes savienojumi.

2. darbība. Sākotnējais stāvoklis

Sākotnējais stāvoklis
Sākotnējais stāvoklis
Sākotnējais stāvoklis
Sākotnējais stāvoklis

Protams, mēs varam redzēt, kad ar gaismas diodi tiek konstatēta kustība, bet kā mēs izsekosim, cik daudz triku nokrita, lai nozagtu mūsu konfektes?

Mēs straumēsim informācijas panelī katru reizi, kad kustība sākas un tiek pārtraukta. Tā kā šis informācijas panelis ir pieejams no jebkuras vietas ar interneta pieslēgumu, mēs varam attālināti uzraudzīt, vai kāds tuvojas priekšējām durvīm/konfekšu bļodai.

1. darbība. Reģistrējieties sākotnējā valsts kontam Dodieties uz vietni https://iot.app.initialstate.com un izveidojiet jaunu kontu.

2. darbība: instalējiet ISStreamer

Instalējiet sākotnējā stāvokļa Python moduli savā Raspberry Pi. Komandu uzvednē (neaizmirstiet vispirms ievadīt SSH savā Pi), izpildiet šādu komandu:

$ cd/home/pi/

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

3. solis: izveidojiet automātisku

Pēc 2. darbības ekrānā redzēsit kaut ko līdzīgu šim izvadam:

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

Parole: Sākot ISStreamer Python vienkāršu instalēšanu! Tas var aizņemt pāris minūtes, lai to instalētu, paņemiet kafiju:) Bet neaizmirstiet atgriezties, man būs jautājumi vēlāk! Atrasts easy_install: setuptools 1.1.6 Atrasts pip: pip 1.5.6 no /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip galvenā versija: 1 pip minor versija: 5 ISStreamer atrasts, tiek atjaunināts … Prasība jau ir atjaunināta: ISStreamer /Library/Python/2.7/site-packages Notīra … Vai vēlaties automātiski iegūt skripta paraugu? [y/N] Kur vēlaties saglabāt piemēru? [noklusējums:./is_example.py] Lūdzu, izvēlieties, kuru sākotnējā stāvokļa lietotni izmantojat: 1. app.initialstate.com 2. [NEW!] iot.app.initialstate.com Ievadiet 1. vai 2. izvēli: Ievadiet iot.app.initialstate.com lietotājvārds: ievadiet iot.app.initialstate.com paroli:

Kad tiek prasīts automātiski iegūt skripta piemēru, ierakstiet y. Tādējādi tiks izveidots testa skripts, kuru mēs varam palaist, lai nodrošinātu datu straumēšanu sākotnējā stāvoklī. Nākamajā uzvednē tiks jautāts, kur vēlaties saglabāt parauga failu. Jūs varat ierakstīt pielāgotu vietējo ceļu vai nospiest taustiņu Enter, lai pieņemtu noklusējuma atrašanās vietu. Visbeidzot, jums tiks jautāts, kuru sākotnējā stāvokļa lietotni izmantojat. Ja nesen esat izveidojis kontu, izvēlieties 2. opciju, ievadiet savu lietotājvārdu un paroli. Pēc tam instalēšana būs pabeigta.

4. darbība: piekļuves atslēgas

Apskatīsim izveidotā skripta piemēru. $ nano is_example.py 15. rindā redzēsit rindu, kas sākas ar streamer = Streamer (bucket_…. Šīs rindas izveido jaunu datu kopu ar nosaukumu “Python Stream Example” un ir saistīta ar jūsu kontu. Šī saistība notiek, jo access_key =”…” parametrs tajā pašā rindā. Šī garā burtu un ciparu sērija ir jūsu sākotnējās valsts konta piekļuves atslēga. Ja tīmekļa pārlūkprogrammā dodaties uz savu sākotnējās valsts kontu, augšējā labajā stūrī noklikšķiniet uz sava lietotājvārda un pēc tam dodieties uz sadaļā “Mani iestatījumi” jūs atradīsit to pašu piekļuves atslēgu lapas apakšdaļā sadaļā “Straumēšanas piekļuves atslēgas”.

Katru reizi, kad izveidojat datu straumi, šī piekļuves atslēga novirzīs šo datu straumi uz jūsu kontu (tāpēc nekopīgojiet savu atslēgu nevienam).

5. darbība: izpildiet piemēru

Palaidiet testa skriptu, lai pārliecinātos, ka varam izveidot datu straumi jūsu sākotnējā stāvokļa kontā. Izpildiet tālāk norādītās darbības.

$ python is_example.py

6. solis: peļņa

Tīmekļa pārlūkprogrammā atgriezieties sākotnējā valsts kontā. Jūsu žurnāla plaukta kreisajā pusē vajadzēja parādīt jaunu datu kopu ar nosaukumu “Python Stream Example” (iespējams, lapa būs jāatsvaidzina). Noklikšķiniet uz šīs grupas un pēc tam noklikšķiniet uz ikonas Waves, lai skatītu testa datus.

3. darbība: Python skripts

Izveidojiet skriptu un atveriet teksta redaktoru ar šādu komandu:

nano vistors.py

Kopējiet kodu un nokopējiet to no šejienes savā teksta redaktorā.

Pirms mēs mēģinām kaut ko palaist, mums ir jāveic daži labojumi un jāpārskata, kas notiek mūsu skriptā.

importēt RPi. GPIO kā GPIO

no laika importēšanas miega no ISStreamer. Streamer import Streamer # Pastāstiet Pi, ka mēs izmantosim tās numerācijas sistēmu GPIO.setmode (GPIO. BCM) # Piespraudes, kurām D1 un LED ir savienotas ar PIN = 23 ZILS = 17 ZAĻS = 27 SARKANS = 22 # Norādiet mūsu kustības sensora tapu kā ievadi GPIO.setup (PIN, GPIO. IN) # Norādiet mūsu LED tapas kā izejas GPIO.setup (RED, GPIO. OUT) GPIO.output (RED, 0) GPIO.setup (GREEN, GPIO. OUT) GPIO.izvade (GREEN, 0) GPIO.setup (BLUE, GPIO. OUT) GPIO.output (BLUE, 0)

1.-21. Rindas ir paredzētas inicializēšanai. Vispirms mēs importējam Pi GPIO saskarni un veidu, kā aizmigt mūsu skriptu. Pēc tam mēs importējam sākotnējā stāvokļa straumētāju, kuru instalējām iepriekšējā lapā.

GPIO.setmode norāda, kuru numerācijas sistēmu mēs izmantojam tapām. Fiziskās atrašanās vietas vietā mēs izmantojam Pi numerācijas sistēmu. Tāpat kā mūsu diagrammā iepriekš, mūsu izvēlētās tapas bija 23, 17, 27 un 22. Pēc tam mēs izveidojām kustības tapu kā ievadi un LED tapas kā izeju.

# Sākotnējā statusa grupas nosaukums (parādīts)

BUCKET_NAME = ": jack_o_lantern: Trick or Treat Tracker" # Sākotnējā stāvokļa kausa atslēga (slēpta) BUCKET_KEY = "trickortreat" # Sākotnējā stāvokļa piekļuves atslēga ACCESS_KEY = "Your_Access_Key" # Mainīgie, kas nodrošina, ka netiek straumēts, ka tas bija vai nebija kustība divreiz pēc kārtas # Tas ietaupa nosūtītos notikumus un apstrādes jaudu jauRecordedMotion = Nepareizi jauRecordedNoMotion = False counter = 0 # Inicializējiet sākotnējā stāvokļa straumētāja straumētāju = Streamer (bucket_name = BUCKET_NAME, bucket_key = BUCKET_KEY, access_key = ACCESS_KEY) gaismas diode kļūst dzeltena GPIO izeja (SARKANA, 1) GPIO izeja (ZAĻA, 1)

23.-41. Rindas ir svarīgas, jo mēs inicializējam straumētāja sākotnējo stāvokli un iestatām gaismas diodi uz dzeltenu. Ievietojiet sākotnējā stāvokļa piekļuves atslēgu 28. rindā.

# Cilpa uz nenoteiktu laiku

kamēr True: # Ja kustību sensors velk augstu (nosaka kustību): ja GPIO.input (PIN) == 1: drukāt "Kustība ir konstatēta" # Ja vēl neesam straumējuši: ja vēl neesam ierakstījušiRecordedMotion: counter = counter + 1 # Iestatiet LED uz sarkanu GPIO.output (SARKANS, 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 = Patiesa jauRecordedNoMotion = False else: # Pauzējiet skriptu uz 1 sekundi miega (1) cits: izdrukāt "Nav konstatēta kustība" # Ja mēs vēl neesam straumējuši: ja vēl neesam ierakstījuši:? ",": no_pedestrians: No One Around ") streamer.flush () jauRecordedNoMotion = Patiesa jauRecordedMotion = False else: # Pauzējiet skriptu uz 1 sekundi miega (1)

43.-77. Rindas ir koda gaļa. Ja tiek konstatēta kustība, skripts pārbaudīs, vai "Laiks kārumiem!" jau ir straumēts. Ja tā nav, tas tiek nosūtīts uz sākotnējo stāvokli un gaismas diode ir iestatīta uz sarkanu; ja tā ir, skripts nogaida 1 sekundi un pēc tam atkal nolasa no kustības sensora. Tas pats attiecas uz gadījumiem, kad kustība netiek konstatēta.

Ir pienācis laiks pārbaudīt kodu! Pārliecinieties, vai esat saglabājis rediģēto failu, pievienojot piekļuves atslēgu 28. rindā, un pēc tam ievadiet termināli:

pitona apmeklētāji.py

Jums vajadzētu redzēt, ka iedegas gaismas diode un komandrindā sāk drukāt paziņojumu “Nav kustības”. Mēģiniet vicināt roku virs kustības sensora - tagad vajadzētu redzēt sarkanu gaismu un sākt drukāt “Kustība konstatēta”!

Tagad pārbaudiet, vai mūsu rādījumi tiek straumēti sākotnējā stāvoklī.

4. solis: viltīgs informācijas panelis

Maldinošs informācijas panelis
Maldinošs informācijas panelis

Dodieties uz sākotnējo stāvokli un pārbaudiet savu informācijas paneli! Jums vajadzētu redzēt spaini ar nosaukumu "? Trick or Treat Tracker". Pavelciet roku netālu no kustības sensora un vērojiet, kā tas tiek atjaunināts!

Mans informācijas panelis sastāv no 2 kopsavilkuma flīzēm, kurās ir redzama pēdējā vērtība, un notikumu skaita histogramma, lai es varētu redzēt, kādos laikos sensors tika aktivizēts.

Šeit jāņem vērā dažas lietas:

  • Jūs, iespējams, vēlaties sadalīt "izsalkušo cilvēku" skaitu ar 2, lai ņemtu vērā to, ka viena un tā pati persona divreiz paies kustības sensora priekšā - ceļā uz jūsu durvīm un atpakaļ. To var izdarīt ar reāllaika izteiksmēm, izmantojot vienādojumu "= math.round (([Hungry Humans?]/2), 0)".
  • Jūs varat pārbaudīt, cik jutīgs ir jūsu kustības sensors, un attiecīgi novietot to uz ietves. Es iesaku to turēt pietiekami tālu no durvīm, lai tas neizraisītu, kad kāds stāv pie durvīm.
  • Varat arī iestatīt teksta brīdinājumus, lai pateiktu, ka kāds tuvojas.
  • Izvēlieties fona attēlu, lai informācijas panelim piešķirtu mazliet spokainu personību!

Ieteicams: