Taula de continguts:
- Subministraments
- Pas 1: Muntatge de maquinari
- Pas 2: estat inicial
- Pas 3: Python Script
- Pas 4: Tauler de control de trucs o tractes
Vídeo: Rastrejador de trucs o tracte Pumpkin Pi: 5 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:12
Segueix-ne més per l'autor:
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
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
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
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:
Rastrejador GPS de bricolatge --- Aplicació Python: 5 passos (amb imatges)
DIY GPS Tracker --- Aplicació Python: Vaig participar en un esdeveniment de ciclisme fa dues setmanes. Un cop acabat, volia comprovar la ruta i la velocitat que feia en aquell moment. Malauradament, no es va aconseguir. Ara faig servir ESP32 per fer un rastrejador GPS i el portaré a gravar la meva ruta en bicicleta
Creeu un rastrejador de moviment usable (BLE des d'Arduino fins a una aplicació personalitzada d'Android Studio): 4 passos
Creeu un rastrejador de moviment usable (BLE des d’Arduino fins a una aplicació personalitzada per a Android Studio): Bluetooth Low Energy (BLE) és una forma de comunicació Bluetooth de baixa potència. Els dispositius portables, com ara les peces intel·ligents que ajudo a dissenyar a Predictive Wear, han de limitar el consum d’energia sempre que sigui possible per allargar la durada de la bateria i utilitzar sovint BLE
Rastrejador d'escriptori COVID19 amb rellotge. Raspberry Pi Powered Tracker: 6 passos
Rastrejador d'escriptori COVID19 amb rellotge. Raspberry Pi Powered Tracker: sabem que podem morir en qualsevol moment, fins i tot jo puc morir mentre escric aquest post, al cap i a la fi, jo jo, vosaltres, tots som mortals. El món sencer va sacsejar a causa de la pandèmia COVID19. Sabem com evitar-ho, però vaja! sabem resar i per què pregar, ho fem
Cadira de rodes controlada per joystick amb ajuda del rastrejador d’obstacles: 3 passos (amb imatges)
Cadira de rodes controlada per joystick amb ajuda del rastrejador d’obstacles: per tal de facilitar a les persones amb discapacitat física una conducció segura, s’utilitza un sensor d’ultrasons per rastrejar els obstacles presents al camí. Basant-se en el moviment del joystick, els motors conduiran la cadira de rodes en qualsevol direcció i velocitat en cada di
Rastrejador GPS ESP32 amb pantalla OLED: 7 passos
Rastrejador GPS ESP32 amb pantalla OLED: es tracta d’un rastrejador GPS que mostra totes les dades de posició a la pantalla OLED. Un botó ajuda l'usuari a interactuar amb una interfície d'usuari a l'OLED. Ei, què passa, nois? Akarsh aquí des de CETech. El codi ofereix un programa basat en el menú mitjançant el botó integrat