Taula de continguts:

Rastrejador de trucs o tracte Pumpkin Pi: 5 passos
Rastrejador de trucs o tracte Pumpkin Pi: 5 passos

Vídeo: Rastrejador de trucs o tracte Pumpkin Pi: 5 passos

Vídeo: Rastrejador de trucs o tracte Pumpkin Pi: 5 passos
Vídeo: Schneider trucking, Schneider Choice, pumpkin pie E5, Salty flavor 2024, De novembre
Anonim
Rastrejador de trucs o tracte Pumpkin Pi
Rastrejador de trucs o tracte Pumpkin Pi

Segueix-ne més per l'autor:

Com es construeix un monitor de temperatura Raspberry Pi
Com es construeix un monitor de temperatura Raspberry Pi
Com es construeix un monitor de temperatura Raspberry Pi
Com es construeix un monitor de temperatura Raspberry Pi
Reprodueix dades de Fulls de càlcul de Google a un tauler
Reprodueix dades de Fulls de càlcul de Google a un tauler
Reprodueix dades de Fulls de càlcul de Google a un tauler
Reprodueix dades de Fulls de càlcul de Google a un tauler
Xarxa de sensors de temperatura
Xarxa de sensors de temperatura
Xarxa de sensors de temperatura
Xarxa de sensors de temperatura

Esteu cercant un projecte ràpid de Halloween que sigui útil en molts aspectes? Voleu aprofitar aquest Pi Zero WH? Tens ganes d’utilitzar dades per determinar quants dolços necessitaràs per a l’any vinent?

Prepareu-vos per construir el seguidor de trucs o tracte Pumpkin Pi. Com a decoració i rastrejador de persones, aquest Pi-in-a-Pumpkin canvia de color i flueix quan es detecta moviment. A partir de zero, aquest projecte no us hauria de costar més d’una tarda per muntar-lo, just a temps per Halloween.

Subministraments

  • Pi Zero WH amb targeta SD
  • Sensor de moviment PIR
  • LED RGB
  • Resistències de 220 ohm
  • (3) Línies d'empat (F / F, M / F, M / M)
  • Bateria portàtil
  • Carbassa falsa

Pas 1: Muntatge de maquinari

Muntatge de maquinari
Muntatge de maquinari
Muntatge de maquinari
Muntatge de maquinari
Muntatge de maquinari
Muntatge de maquinari

Un cop tingueu el Pi en funcionament, hem de connectar el sensor de moviment i els LED. Assegureu-vos que Pi no està connectat a l’energia en aquest moment.

El nostre sensor de moviment requereix que el connectem a una alimentació de 3,3 V, a terra i a un pin de dades. Vaig connectar el pin del sensor de 3,3 V al pin 1 del Pi, el pin del sensor de terra al pin 6 del Pi i el pin del sensor de dades al pin 16 del Pi. La primera imatge mostra la connexió completa del Pi i del sensor de moviment.

Els LED són una mica més complicats que el sensor de moviment perquè requereixen una resistència per funcionar correctament sense danyar-los ni el Pi. He utilitzat tres resistències de 220 ohm però les resistències de 220 i 330 ohms solen utilitzar-se amb LEDs.

Per connectar-ho tot, podeu:

  • Soldeu les potes del LED a les resistències i, a continuació, feu passar els cables al Pi
  • Utilitzeu una pissarra i torneu-les a connectar per connectar-ho tot
  • Utilitzeu línies de connexió i cinta elèctrica per connectar-ho tot (com ho vaig fer jo).

Connectarem el LED als pins 11, 13 i 15. Això és una mica més complicat que el sensor de moviment, però perquè les potes del LED corresponen a un color específic. La cama llarga és GND; i, com a mínim, en el meu LED, les cames eren vermelles, GND, blaves, verdes. Vaig connectar Blau al pin Pin 11, Verd al Pin 13 i Vermell al Pin 15. La segona imatge mostra les connexions finals del circuit.

Pas 2: estat inicial

Estat inicial
Estat inicial
Estat inicial
Estat inicial

Segur que podem veure quan es detecta moviment amb el LED, però com anem a fer un seguiment de quants trucs o tractors ens han deixat caure per robar els nostres caramels?

Anirem a un tauler de control cada vegada que comenci i deixi de detectar-se el moviment. Com que aquest tauler de control és accessible des de qualsevol lloc amb connexió a Internet, podem controlar de forma remota si algú s’acosta o no a la porta d’entrada / al bol de caramels.

Pas 1: registreu-vos al compte inicial d’estat Aneu a https://iot.app.initialstate.com i creeu un compte nou.

Pas 2: instal·leu ISStreamer

Instal·leu el mòdul Initial State Python al vostre Raspberry Pi. En un símbol del sistema (no oblideu introduir SSH al vostre Pi), executeu l'ordre següent:

$ cd / home / pi /

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

Pas 3: feu Automagic

Després del pas 2, veureu una cosa similar a la següent sortida a la pantalla:

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

Contrasenya: Començant a instal·lar fàcilment ISStreamer Python. Això pot trigar uns quants minuts a instal·lar-se, prendre un cafè:) Però no oblideu tornar, ja que tindré preguntes més endavant. Trobat easy_install: setuptools 1.1.6 Trobat pip: pip 1.5.6 de /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) versió major pip: 1 versió pip menor: 5 ISStreamer trobat, actualitzant-se … Requisit ja actualitzat: ISStreamer a /Library/Python/2.7/site-packages Neteja … Voleu obtenir automàticament un exemple de script? [Sí / N] On voleu desar l'exemple? [predeterminat:./is_example.py] Seleccioneu l'aplicació Estat inicial que utilitzeu: 1. app.initialstate.com 2. [NOU!] iot.app.initialstate.com Introduïu l'opció 1 o 2: Introduïu iot.app Nom d'usuari de.initialstate.com: Introduïu la contrasenya iot.app.initialstate.com:

Quan se us demani que obtingueu automàticament un exemple de script, escriviu y. Això crearà un script de prova que podem executar per assegurar-nos que podem transmetre dades a l'estat inicial. El següent missatge us preguntarà on voleu desar el fitxer d'exemple. Podeu escriure un camí local personalitzat o prémer Retorn per acceptar la ubicació predeterminada. Finalment, se us preguntarà quina aplicació d’estat inicial utilitzeu. Si recentment heu creat un compte, seleccioneu l'opció 2, introduïu el vostre nom d'usuari i contrasenya. Després, la instal·lació es completarà.

Pas 4: tecles d'accés

Vegem l'exemple de script que es va crear. $ nano is_example.py A la línia 15, veureu una línia que comença amb streamer = Streamer (bucket_ … access_key = "…" paràmetre en aquesta mateixa línia. Aquesta llarga sèrie de lletres i números és la vostra clau d'accés al compte d'estat inicial. Si aneu al vostre compte d'estat inicial al navegador web, feu clic al vostre nom d'usuari a la part superior dreta i aneu a "la meva configuració", trobareu la mateixa clau d'accés a la part inferior de la pàgina a "Tecles d'accés en temps real".

Cada vegada que creeu un flux de dades, aquesta clau d'accés dirigirà aquest flux de dades al vostre compte (per tant, no compartiu la vostra clau amb ningú).

Pas 5: executeu l'exemple

Executeu l'script de prova per assegurar-vos que podem crear un flux de dades al vostre compte d'estat inicial. Executeu el següent:

$ python és_exemple.py

Pas 6: beneficis

Torneu al vostre compte d’estat inicial al navegador web. A la part esquerra del prestatge de registre s’hauria d’haver aparegut un nou dipòsit de dades anomenat “Exemple de corrent de Python” (és possible que hagueu d’actualitzar la pàgina). Feu clic en aquest dipòsit i feu clic a la icona Ones per veure les dades de la prova.

Pas 3: Python Script

Creeu un script i obriu l'editor de text amb l'ordre següent:

nano vistors.py

Copieu i passeu el codi d'aquí a l'editor de text.

Abans d’intentar executar res, hem de fer algunes modificacions i revisar el que passa al nostre script.

importar RPi. GPIO com a GPIO

des de la importació del temps de repòs des de ISStreamer. Streamer import Streamer # Digueu al Pi que utilitzarem el sistema de numeració GPIO.setmode (GPIO. BCM) # Pins que D1 i LED estan connectats a PIN = 23 BLAU = 17 VERD = 27 VERMELL = 22 # Especifica el nostre pin del sensor de moviment com a entrada GPIO.setup (PIN, GPIO. IN) # Especifica els nostres pins LED com a sortida GPIO.setup (VERMELL, GPIO. OUT) GPIO.output (VERMELL, 0) GPIO.setup (VERD), GPIO. OUT) GPIO.output (VERD, 0) GPIO.setup (BLAU, GPIO. OUT) GPIO.output (BLAU, 0)

Les línies 1-21 són per a la inicialització. Primer, importem la interfície GPIO del Pi i una manera de dormir el nostre script. A continuació, importem el streamer d’estat inicial que hem instal·lat a la pàgina anterior.

GPIO.setmode especifica quin sistema de numeració estem utilitzant per als pins. En lloc de la ubicació física, fem servir el sistema de numeració del Pi. Com al nostre diagrama anterior, els pins que vam triar eren 23, 17, 27 i 22. A continuació, configurem el pin de moviment com a entrada i els pins LED com a sortida.

# Nom inicial del dipòsit d'estat (mostrat)

BUCKET_NAME = ": jack_o_lantern: Rastrejador de trucs o tracte" # Initial State bucket key (hidden) BUCKET_KEY = "trickortreat" # Initial State access key ACCESS_KEY = "Your_Access_Key" # Variables que asseguren que no transmetem que hi havia o no hi havia moviment dues vegades seguides # Això permet estalviar en els esdeveniments enviats i en la potència de processament. la sortida GPIO.out del LED al groc (VERMELL, 1) la sortida GPIO.out (VERD, 1)

Les línies 23-41 són importants perquè estem inicialitzant el streamer d’estat inicial i establint el LED en groc. Poseu la clau d'accés a l'estat inicial a la línia 28.

# Bucle indefinidament

mentre que és cert: # Si el sensor de moviment tira alt (detecta moviment): si GPIO.input (PIN) == 1: imprimeix "Moviment detectat" # Si encara no hem transmès: si no ja Estableix el LED a GPIO.output vermell (VERMELL, 1) GPIO.output (VERD, 0) # Stream a Initial State 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: # Pausa l'script durant 1 segon de repòs (1) else: imprimeix "No s'ha detectat cap moviment" # Si encara no hem transmès: si no, no s'ha gravat cap moviment: # Estableix el LED en groc GPIO.output (VERMELL, 1) GPIO.output (VERD, 1) # Transmet a Initial State streamer.log (": ghost: o: chocolate_bar:? ",": no_pedestrians: Ningú al voltant ") streamer.flush () alreadyRecordedNoMotion = True alreadyRecordedMotion = False else: # Posa en pausa l'script durant 1 segon de repòs (1)

Les línies 43-77 són la carn del codi. Si es detecta moviment, l'script comprovarà si "Temps per tractar!" ja s'ha transmès en directe. Si no ho fa, s'envia a l'estat inicial i el LED es posa en vermell; si és així, el guió espera 1 segon i després torna a llegir del sensor de moviment. El mateix passa si no es detecta cap moviment.

És hora de provar el codi. Assegureu-vos que hàgiu desat el fitxer editat amb la clau d'accés afegida a la línia 28 i, a continuació, introduïu-lo al terminal:

python visitors.py

Hauríeu de veure que el LED s'encén i "No s'ha detectat cap moviment" i comenceu a imprimir a la línia d'ordres. Proveu d’agitar la mà sobre el sensor de moviment; ara hauríeu de veure una llum vermella i comença a imprimir "Moviment detectat".

Ara per comprovar que les nostres lectures s’estan transmetent a l’estat inicial.

Pas 4: Tauler de control de trucs o tractes

Tauler de trucs o tractes
Tauler de trucs o tractes

Vés a Initial State i fes un cop d'ull al teu tauler. Hauríeu de veure un dipòsit anomenat "? Seguiment de trucs o tractes". Agita la mà prop del sensor de moviment i mira com s’actualitza.

El meu tauler consta de 2 quadres de resum que mostren l'últim valor i un histograma del recompte d'esdeveniments per poder veure a quines vegades s'ha activat el sensor.

Aquí teniu algunes coses a tenir en compte:

  • Probablement vulgueu dividir el recompte de "Humans famolencs" per 2 per tenir en compte el fet que la mateixa persona passarà dues vegades per davant del sensor de moviment, de camí cap a la vostra porta i de tornada. Podeu fer-ho amb Expressions en temps real amb l'equació "= math.round (([Humains Hungry?] / 2), 0)".
  • Podeu provar la sensibilitat del sensor de moviment i col·locar-lo a la vorera en conseqüència. Suggereixo mantenir-lo prou lluny de la porta perquè no es desencadeni quan algú està de peu a la porta.
  • També podeu configurar alertes de text per dir-vos que algú s’acosta.
  • Trieu una imatge de fons per donar al vostre tauler una personalitat una mica esgarrifosa.

Recomanat: