Sadržaj:

Robin špijunski robot: 8 koraka (sa slikama)
Robin špijunski robot: 8 koraka (sa slikama)

Video: Robin špijunski robot: 8 koraka (sa slikama)

Video: Robin špijunski robot: 8 koraka (sa slikama)
Video: Люди ВЕЛИКАНЫ, которых сняли на видео! 2024, Studeni
Anonim
Image
Image
Robin špijunski robot
Robin špijunski robot

Ovaj vam projekt omogućuje vožnju robotom putem web stranice i pregled streama uživo. Može se koristiti za špijuniranje kućnih ljubimaca, pobrinite se da u vašoj pećnici ništa ne gori, pa čak i promatranje ptica! DFRobot je osigurao Raspberry Pi 3 i modul kamere Raspberry Pi.

Korak 1: Robotska elektronika

Elektronika robota
Elektronika robota

Počeo sam sastavljanjem kompleta šasije 2WD MiniQ od DFRobota. Gurnuo sam kotače na osovine motora, zatim ih umetnuo u nosače i pričvrstio na šasiju. Na kraju sam dodao metalne nosače. Sada je došlo vrijeme za izgradnju glavne ploče. Upravljački program motora L293d lemljen je na mjestu, zajedno sa žicama koje vode do Raspberry Pi GPIO pinova. Zatim sam lemio konektor za bateriju jer će to osigurati glavno napajanje. Nakon dodavanja izvora napajanja, instalirao sam regulator od 5 V.

Korak 2: Postavljanje Pi

Postavljanje Pi
Postavljanje Pi

DFRobot mi se obratio i poslao njihov Raspberry Pi 3 i Raspberry Pi modul kamere. Dakle, nakon što sam otvorio kutije, dobio sam pravo na rad postavljanjem SD kartice. Prvo sam otišao na stranicu Preuzimanja Raspberry Pi i preuzeo najnoviju verziju Raspbiana. Zatim sam izvadio datoteku i stavio je u prikladan direktorij. Ne možete samo kopirati/zalijepiti.img datoteku na SD karticu, morate je "snimiti" na karticu. Možete preuzeti gorući program kao što je Etcher.io za jednostavan prijenos slike OS -a. Nakon što je.img datoteka bila na mojoj SD kartici, umetnuo sam je u Raspberry Pi i dao joj snagu. Nakon otprilike 50 sekundi isključio sam kabel i izvadio SD karticu. Zatim sam vratio SD karticu u računalo i otišao u direktorij "boot". Otvorio sam bilježnicu i spremio je kao praznu datoteku pod nazivom "ssh" bez ekstenzije. Tu je i datoteka koju sam dodao pod nazivom "wpa_supplicant.conf" i stavio ovaj tekst u nju:

mreža = {ssid = psk =}

Zatim sam spremio i izbacio karticu i vratio je u Raspberry Pi 3. To bi sada trebalo omogućiti korištenje SSH -a i povezivanje na WiFi.

Korak 3: Priprema fotoaparata

Priprema fotoaparata
Priprema fotoaparata

Prema zadanim postavkama, kamera je onemogućena na Pi, pa morate otvoriti terminal tip sudo raspi-config da biste otvorili izbornik. Idite na "opcije sučelja", a zatim omogućite kameru. Sada samo odaberite "Završi" i umetnite vrpčani kabel modula kamere u ispravno područje Pi.

Korak 4: Instaliranje softvera

Postoji nekoliko različitih softvera koji mogu strujati video zapise, kao što su vlc i motion, ali odlučio sam koristiti mjpeg-streamer zbog niske latencije i jednostavne instalacije. Prema uputama na web mjestu, napravite git kloniranje https://github.com/jacksonliam/mjpg-streamer.git u mapu, a zatim upišite sudo apt-get install cmake libjpeg8-dev da biste instalirali potrebne knjižnice. Promijenite svoj direktorij u mapu koju ste preuzeli, a zatim upišite make, a zatim sudo make install za kompajliranje softvera. Na kraju unesite izvoz LD_LIBRARY_PATH =. i da biste ga pokrenuli, upišite./mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so" Streamu možete pristupiti ako odete na https://: 8080/stream.html da biste vidjeli stream.

Korak 5: Kontroler

Kontroler
Kontroler
Kontroler
Kontroler

Zatim je došao dio kako kontrolirati Raspberry Pi preko WiFi -a, jer Bluetooth ima premali domet. Odlučio sam se za korištenje Flask poslužitelja koji radi na Raspberry PI i ESP8266 ESP12E modula za slanje podataka na njega. ESP8266 ima samo jedan analogni ulaz, što znači da nisam mogao izravno koristiti joystick, jer su mu potrebna dva analogna ulaza. Najbolja opcija bio je ADS1115, koji je I2C uređaj koji čita analogne signale pri 16 bita rezolucije. Jednostavno sam spojio SDA na 4 i SCL na 5, zajedno s VCC -om i GND -om. Os X upravljačke palice povezuje se s A0 na ADS1115, a os Y povezuje se s A1. ALI, slučajno sam izgorio ADS1115, pa sam morao pribjeći sljedećoj najboljoj stvari: gumbima! Dakle, sada je moja postava ESP8266 Sparkfun Thing Dev ploča s 3 gumba- naprijed, desno i lijevo. Kad god se pritisne, šalje podatke da okrene kotače u tom smjeru.

Korak 6: Kôd za robota

Kôd za robota
Kôd za robota

Napravio sam prethodni projekt koji je koristio Pi-jevu GPIO PWM knjižnicu za upravljanje motorima putem jsona, pa sam umjesto toga samo promijenio kôd za prihvaćanje podataka putem aplikacije Flask. Flask je Python knjižnica koja u biti pretvara vaš Pi u web poslužitelj sposoban za slanje i primanje podataka. Pomoću PWM -a motorima se može upravljati s većom preciznošću u usporedbi s pogonom spremnika. To također znači da robot može kretati promjenjivom brzinom, a ne fiksnom. Moja aplikacija za tikvice konfigurirana je za promjenu PWM -a motora nakon što primi podatke iz GET zahtjeva putem http -a od ESP12e. Također koristi biblioteku potprocess. Popen za pokretanje skripte za webstreaming u pozadini. Priložio sam kôd stranici projekta pa je sve što je potrebno preuzimanje.

Korak 7: Kôd kontrolera

Kôd je bio prilično jednostavan, samo uzmite očitanja iz 3 pina, prođite kroz neke if naredbe za određivanje smjera kotača i na kraju pošaljite te vrijednosti u Raspberry Pi. Dodatak ESP8266 ploče za Arduino IDE dolazi s bibliotekom HTTPClient koja obrađuje zaglavlja i šalje podatke. Flask poslužitelj mora primati podatke putem POST poziva, pa kôd započinje vezu s Raspberry Pi web poslužiteljem, zatim dodaje zaglavlje podacima koji označavaju da je kodiran JSON, i na kraju šalje podatke u obliku JSON objekta. Dodao sam kašnjenje od 40 ms kako bih spriječio da se Raspberry Pi preoptereti podacima.

Korak 8: Pokretanje programa Raspberry SPy

Pokretanje Raspberry SPy
Pokretanje Raspberry SPy
Pokretanje Raspberry SPy
Pokretanje Raspberry SPy

Sve što je potrebno je upisivanje sudo python.py! Trebali biste vidjeti da kamera svijetli, a odlaskom na web adresu pi s portom 8080 stream bi trebao biti vidljiv. Sada možete koristiti kontroler bilo gdje u kući i imati živ feed.

Preporučeni: