Kazalo:

Raspberry SPY Robot: 8 korakov (s slikami)
Raspberry SPY Robot: 8 korakov (s slikami)

Video: Raspberry SPY Robot: 8 korakov (s slikami)

Video: Raspberry SPY Robot: 8 korakov (s slikami)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, November
Anonim
Image
Image
Raspberry SPY Robot
Raspberry SPY Robot

Ta projekt vam omogoča, da vozite robota prek spletne strani in si ogledate prenos v živo. Uporablja se lahko za vohunjenje hišnih ljubljenčkov, poskrbite, da v vaši pečici nič ne gori, in celo za opazovanje ptic! DFRobot je priskrbel Raspberry Pi 3 in modul kamere Raspberry Pi.

1. korak: Robotska elektronika

Robotska elektronika
Robotska elektronika

Začel sem s sestavljanjem kompleta šasije 2WD MiniQ podjetja DFRobot. Kolesa sem potisnila na gredi motorja, nato pa jih vstavila v nosilce in jih pritrdila na podvozje. Na koncu sem dodal kovinske nosilce. Zdaj je bil čas za izgradnjo glavne plošče. Gonilnik motorja L293d je bil spajen, skupaj z žicami, ki vodijo do zatičev GPIO Raspberry Pi. Nato sem spajkal priključek za baterijo, saj bo to zagotovilo glavno napajanje. Po dodajanju vira napajanja sem namestil regulator 5V.

2. korak: Nastavitev Pi

Nastavitev Pi
Nastavitev Pi

DFRobot je stopil v stik z mano in poslal modul kamere Raspberry Pi 3 in Raspberry Pi Camera. Ko sem odprl škatle, sem lahko delal z nastavitvijo kartice SD. Najprej sem šel na stran Prenosi Raspberry Pi in naložil najnovejšo različico Raspbiana. Nato sem datoteko izvlekel in jo dal v priročen imenik. Datoteke.img ne morete samo kopirati/prilepiti na kartico SD, ampak jo morate "zapisati" na kartico. Lahko prenesete goreč pripomoček, kot je Etcher.io, da preprosto prenesete sliko OS. Ko je bila datoteka.img na moji kartici SD, sem jo vstavil v Raspberry Pi in ji dal moč. Po približno 50 sekundah sem odklopil kabel in odstranil kartico SD. Nato sem SD kartico vstavil nazaj v računalnik in odšel v imenik »boot«. Odprl sem beležnico in jo shranil kot prazno datoteko z imenom "ssh" brez razširitve. Dodala sem tudi datoteko z imenom "wpa_supplicant.conf" in vanjo vnesla to besedilo:

omrežje = {ssid = psk =}

Nato sem kartico shranil in izvrgel ter jo dal nazaj v Raspberry Pi 3. To bi moralo omogočiti uporabo SSH in povezavo z WiFi.

3. korak: Priprava fotoaparata

Priprava fotoaparata
Priprava fotoaparata

Kamera je privzeto onemogočena na Pi, zato morate odpreti terminalski tip sudo raspi-config, da odprete meni. Pojdite na "možnosti vmesnika" in nato omogočite kamero. Zdaj samo izberite »Dokončaj« in vstavite tračni kabel modula kamere v pravilno območje Pi.

4. korak: Namestitev programske opreme

Obstaja več različnih programov, ki lahko pretakajo video, na primer vlc in motion, vendar sem se odločil za uporabo mjpeg-streamerja zaradi nizke zakasnitve in enostavne namestitve. V skladu z navodili na spletnem mestu naredite git clone https://github.com/jacksonliam/mjpg-streamer.git v mapo, nato vnesite sudo apt-get install cmake libjpeg8-dev, da namestite potrebne knjižnice. Spremenite svoj imenik v mapo, ki ste jo prenesli, nato vnesite make, ki mu sledi sudo make install, da sestavite programsko opremo. Končno vnesite izvoz LD_LIBRARY_PATH =. in da ga zaženete, vnesite./mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so" Do pretoka lahko dostopate tako, da si ogledate tok na naslovu https://: 8080/stream.html.

5. korak: Krmilnik

Krmilnik
Krmilnik
Krmilnik
Krmilnik

Nato je prišel del, kako nadzorovati Raspberry Pi prek WiFi, ker ima Bluetooth premajhen doseg. Odločil sem se, da bom za pošiljanje podatkov uporabil strežnik Flask, ki deluje na Raspberry PI, in modul ESP8266 ESP12E. ESP8266 ima samo en analogni vhod, kar pomeni, da krmilne ročice ne morem uporabljati neposredno, saj potrebuje dva analogna vhoda. Najboljša možnost je bil ADS1115, naprava I2C, ki bere analogne signale pri ločljivosti 16 bitov. Preprosto sem priključil SDA na 4 in SCL na 5, skupaj z VCC in GND. Os X krmilne palice se poveže z A0 na ADS1115, os Y pa z A1. Ampak, pomotoma sem zažgal ADS1115, zato sem se moral zateči k naslednji najboljši stvari: gumbom! Zdaj je moja nastavitev ESP8266 Sparkfun Thing Dev Board s tremi gumbi- naprej, desno in levo. Zdaj, ko pritisnete enega, pošlje podatke za obračanje koles v tej smeri.

6. korak: Koda za robota

Koda za robota
Koda za robota

Naredil sem prejšnji projekt, ki je uporabljal Pi-jevo knjižnico GPIO PWM za krmiljenje motorjev prek jsona, zato sem samo namenil kodo, da sprejme podatke prek aplikacije Flask. Flask je knjižnica Python, ki v bistvu spremeni vaš Pi v spletni strežnik, ki lahko pošilja in sprejema podatke. Z uporabo PWM je mogoče motorje nadzorovati z večjo natančnostjo v primerjavi s pogonom rezervoarja. To tudi pomeni, da lahko robot deluje s spremenljivo hitrostjo in ne s fiksno. Moja aplikacija za bučke je nastavljena tako, da spremeni PWM motorjev, ko prejme podatke iz zahteve GET prek http iz ESP12e. Za izvajanje skripta za spletno pretakanje v ozadju uporablja tudi knjižnico podproces. Popen. Na stran projekta sem priložil kodo, zato je potreben le prenos.

7. korak: Koda krmilnika

Koda je bila precej preprosta, samo vzemite odčitke s treh zatičev, jih preglejte skozi nekatere stavke if, da določite smer kolesa, in te vrednosti nazadnje pošljite v Raspberry Pi. Dodatek k plošči ESP8266 za Arduino IDE prihaja s knjižnico HTTPClient, ki obravnava glave in pošilja podatke. Strežnik Flask mora prejeti podatke prek klica POST, zato koda vzpostavi povezavo s spletnim strežnikom Raspberry Pi, nato podatkom doda glavo, ki označuje, da je kodiran v JSON, in na koncu pošlje podatke v obliki predmeta JSON. Dodal sem 40 ms zakasnitve, da preprečim, da bi Raspberry Pi preobremenil podatke.

8. korak: Zaženite Raspberry SPy

Vodenje Raspberry SPy
Vodenje Raspberry SPy
Vodenje Raspberry SPy
Vodenje Raspberry SPy

Vse kar potrebujete je vnos sudo python.py! Morali bi videti, da se kamera prižge, in če obiščete spletni naslov pi z vrati 8080, mora biti tok viden. Zdaj lahko krmilnik uporabljate kjer koli v hiši in imate v živo tudi vir.

Priporočena: