Taula de continguts:
- Pas 1: l'electrònica del robot
- Pas 2: Configuració del Pi
- Pas 3: Preparació de la càmera
- Pas 4: Instal·lació del programari
- Pas 5: controlador
- Pas 6: el codi del robot
- Pas 7: Codi del controlador
- Pas 8: Execució de Raspberry SPy
Vídeo: Robot espia Raspberry: 8 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:16
Aquest projecte us permet conduir un robot a través d’una pàgina web i veure una transmissió en directe. Es pot utilitzar per espiar mascotes, assegurar-se que no es cremi res al forn i, fins i tot, observar ocells. DFRobot va proporcionar el mòdul de càmera Raspberry Pi 3 i Raspberry Pi.
Pas 1: l'electrònica del robot
Vaig començar muntant el kit de xassís 2WD MiniQ de DFRobot. Vaig lliscar les rodes sobre els eixos del motor, després les vaig inserir en mènsules i les vaig fixar al xassís. Finalment, he afegit els suports metàl·lics. Ara era el moment de construir la placa principal. El controlador del motor L293d es va soldar al seu lloc, juntament amb cables que passaven als pins GPIO del Raspberry Pi. A continuació, vaig soldar un connector per a la bateria, ja que proporcionaria l’alimentació principal. Després d'afegir la font d'alimentació, vaig instal·lar un regulador de 5V.
Pas 2: Configuració del Pi
DFRobot va contactar amb mi i va enviar el seu mòdul de càmera Raspberry Pi 3 i Raspberry Pi. Així que, després d’obrir les caixes, vaig treballar directament configurant la targeta SD. Primer vaig anar a la pàgina de descàrregues de Raspberry Pi i vaig descarregar la versió més recent de Raspbian. Després vaig extreure el fitxer i el vaig posar en un directori convenient. No podeu copiar / enganxar un fitxer.img a una targeta SD, sinó que heu de "gravar-lo" a la targeta. Podeu descarregar una utilitat de gravació com Etcher.io per transferir fàcilment la imatge del sistema operatiu. Després que el fitxer.img fos a la meva targeta SD, el vaig inserir al Raspberry Pi i li vaig donar poder. Al cap d’uns 50 segons, vaig desconnectar el cable i vaig treure la targeta SD. A continuació, vaig tornar a posar la targeta SD al meu PC i vaig anar al directori "boot". Vaig obrir el bloc de notes i el vaig desar com a fitxer en blanc anomenat "ssh" sense cap extensió. També hi vaig afegir un fitxer anomenat "wpa_supplicant.conf" i hi vaig posar aquest text:
xarxa = {ssid = psk =}
Després vaig desar i expulsar la targeta i la vaig tornar a col·locar al Raspberry Pi 3. Ara hauria de permetre l’ús de SSH i la connexió a WiFi.
Pas 3: Preparació de la càmera
Per defecte, la càmera està desactivada al Pi, de manera que heu d'obrir el terminal tipus sudo raspi-config per obrir el menú. Aneu a "Opcions d'interfície" i, a continuació, activeu la càmera. Ara només cal que seleccioneu "Finalitza" i inseriu el cable de cinta del mòdul de la càmera a la zona correcta del Pi.
Pas 4: Instal·lació del programari
Hi ha diversos programes diferents que poden transmetre vídeo, com ara vlc i motion, però vaig decidir utilitzar el mjpeg-streamer a causa de la seva baixa latència i la seva fàcil instal·lació. Segons les instruccions del lloc, feu un clon git https://github.com/jacksonliam/mjpg-streamer.git en una carpeta i, a continuació, escriviu sudo apt-get install cmake libjpeg8-dev per instal·lar les biblioteques necessàries. Canvieu el directori a la carpeta que heu descarregat i, a continuació, escriviu make seguit de sudo make install per compilar el programari. Finalment introduïu exportació LD_LIBRARY_PATH =. i per executar-lo escriviu./mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so" Podeu accedir al flux dirigint-vos a https://: 8080 / stream.html per veure el flux.
Pas 5: controlador
Després va venir la part de com controlar un Raspberry Pi mitjançant WiFi, perquè el Bluetooth té massa poc abast. Vaig decidir utilitzar un servidor Flask que s’executava al Raspberry PI i un mòdul ESP8266 ESP12E per enviar-hi dades. L'ESP8266 només té una entrada analògica, el que significa que no podria utilitzar el joystick directament, ja que necessita dues entrades analògiques. La millor opció va ser l'ADS1115, que és un dispositiu I2C que llegeix senyals analògics a 16 bits de resolució. Simplement he connectat SDA a 4 i SCL a 5, juntament amb VCC i GND. L'eix X del joystick es connecta a A0 a l'ADS1115 i l'eix Y es connecta a A1. PERUT, accidentalment vaig cremar l'ADS1115, de manera que vaig haver de recórrer al següent millor: els botons. Ara la meva configuració és un ESP8266 Sparkfun Thing Dev Board amb 3 botons: endavant, dret i esquerre. Ara, sempre que es prem un, envia dades per fer girar les rodes en aquesta direcció.
Pas 6: el codi del robot
Vaig fer un projecte anterior que utilitzava la biblioteca GPIO PWM del Pi per controlar motors mitjançant json, de manera que només vaig tornar a proposar el codi per acceptar dades mitjançant una aplicació Flask. Flask és una biblioteca Python que converteix bàsicament el vostre Pi en un servidor web capaç d’enviar i rebre dades. Mitjançant l'ús de PWM, els motors es poden controlar amb més precisió en comparació amb l'accionament del tanc. Això també significa que el robot pot anar a velocitats variables en lloc de fixes. L'aplicació My Flask està configurada per canviar el PWM dels motors un cop rep dades d'una sol·licitud GET mitjançant http des de l'ESP12e. També utilitza la biblioteca subprocess. Popen per executar l'script de transmissió en segon pla. He adjuntat un codi a la pàgina del projecte, de manera que tot el que cal és descarregar-lo.
Pas 7: Codi del controlador
El codi era bastant senzill, només cal fer lectures dels 3 pins, fer-les passar per algunes sentències if per determinar la direcció de la roda i, finalment, enviar aquests valors al Raspberry Pi. L'addició de placa ESP8266 per a l'IDE Arduino ve amb la biblioteca HTTPClient, que gestiona les capçaleres i l'enviament de dades. El servidor Flask necessita rebre dades mitjançant una trucada POST, de manera que el codi inicia una connexió amb el servidor web Raspberry Pi i, a continuació, afegeix una capçalera a les dades que indiquen que està codificat JSON i, finalment, envia les dades en forma d’objecte JSON. He afegit un retard de 40 ms per evitar que el Raspberry Pi es sobrecarregui de dades.
Pas 8: Execució de Raspberry SPy
Tot el que cal és escriure sudo python.py! Hauríeu de veure la càmera il·luminada i, anant a l’adreça web del pi amb el port 8080, el flux hauria de ser visible. Ara podeu utilitzar el controlador a qualsevol lloc de la casa i també tenir un feed en directe.
Recomanat:
Feu el vostre propi error espia (Gravadora de veu Arduino): 5 passos (amb imatges)
Feu el vostre propi error d'espionatge (Arduino Voice Recorder): en aquest projecte us mostraré com he combinat un Arduino Pro Mini amb un parell de components complementaris per tal de crear un gravador de veu que també es podria maltractar com a error d'espia. Té un temps d’execució d’unes 9 hores, és petit i súper fàcil de
Pirateja l’orella espia i aprèn a fer un circuit d’enginyer invers: 4 passos (amb imatges)
Hack the Spy Ear and Learn to Reverse Engineer a Circuit: This instructable introdueix el venerable Spy Ear en detalls i la meva manera d’enginyeria inversa d’un circuit. Per què es mereix aquest dispositiu el seu propi instructable? ! -Pot amplificar sons fins a 60 dB o un factor de 1000
Punts grocs de misteri: la vostra impressora us espia ?: 5 passos (amb imatges)
Punts grocs de misteri: la vostra impressora us espia ?: Imagineu-vos que cada vegada que imprimiu un document inclou automàticament un codi secret que es podria utilitzar per identificar la impressora i, potencialment, la persona que l’ha utilitzat. Sembla una cosa d’una pel·lícula d’espies, oi? Malauradament, l’escenari
Càmera espia activada per moviment: 5 passos (amb imatges)
Càmera espia activada per moviment: ara podeu fer vigilància secreta amb aquest "atrapat en moviment" càmera de vídeo espia que grava vídeo i àudio encoberts. Mireu-ho en acció i els resultats de les proves
Comandament espia automàtic: 8 passos (amb imatges)
Auto Spy Remote: segur que el Thinkgeek Micro Spy Remote original va ser divertit durant un temps, però hi va haver un gran inconvenient. Per fer estralls a la televisió d'una altra persona, calia estar dins de l'abast visual. Al cap d’un temps, les seves preses s’adonarien que hi tenies alguna cosa a veure