Satura rādītājs:

Raspberry SPy robots: 8 soļi (ar attēliem)
Raspberry SPy robots: 8 soļi (ar attēliem)

Video: Raspberry SPy robots: 8 soļi (ar attēliem)

Video: Raspberry SPy robots: 8 soļi (ar attēliem)
Video: Drone insects caught spying in Africa. Is it true?#shorts 2024, Novembris
Anonim
Image
Image
Raspberry SPy robots
Raspberry SPy robots

Šis projekts ļauj vadīt robotu, izmantojot tīmekļa lapu, un skatīt tiešraidi. To var izmantot, lai izspiegotu mājdzīvniekus, pārliecinieties, ka krāsnī nekas nedeg, un pat putnu vērošanu! DFRobot nodrošināja Raspberry Pi 3 un Raspberry Pi kameras moduli.

1. darbība: robotu elektronika

Robotu elektronika
Robotu elektronika

Sākumā es samontēju 2WD MiniQ šasijas komplektu no DFRobot. Es slīdēju riteņus uz motora vārpstām, pēc tam ievietoju tos iekavās un piestiprināju pie šasijas. Visbeidzot, es pievienoju metāla balstus. Tagad bija pienācis laiks izveidot galveno plati. L293d motora draiveris tika pielodēts kopā ar vadiem, kas ved uz Raspberry Pi GPIO tapām. Tālāk es lodēju akumulatora savienotāju, jo tas nodrošinās galveno jaudu. Pēc barošanas avota pievienošanas es uzstādīju 5V regulatoru.

2. solis: Pi iestatīšana

Pi iestatīšana
Pi iestatīšana

DFRobot sazinājās ar mani un nosūtīja savu Raspberry Pi 3 un Raspberry Pi kameras moduli. Tāpēc pēc kastīšu atvēršanas es varēju sākt darbu, iestatot SD karti. Vispirms es devos uz Raspberry Pi lejupielādes lapu un lejupielādēju jaunāko Raspbian versiju. Pēc tam es izvilku failu un ievietoju ērtā direktorijā. Jūs nevarat vienkārši kopēt/ielīmēt.img failu SD kartē, tas ir "jāsadedzina" kartē. Jūs varat lejupielādēt dedzinošu utilītu, piemēram, Etcher.io, lai viegli pārsūtītu OS attēlu. Pēc tam, kad.img fails bija manā SD kartē, es ievietoju to Raspberry Pi un iedevu tai jaudu. Pēc apmēram 50 sekundēm es atvienoju vadu un izņemu SD karti. Tālāk es ievietoju SD karti atpakaļ savā datorā un devos uz sāknēšanas direktoriju. Es atvēru piezīmju grāmatiņu un saglabāju to kā tukšu failu ar nosaukumu "ssh" bez paplašinājuma. Bija arī mans pievienots fails ar nosaukumu "wpa_supplicant.conf" un ievietoju tajā šo tekstu:

tīkls = {ssid = psk =}

Tad es saglabāju un izstumju karti un ievietoju to atpakaļ Raspberry Pi 3. Tam tagad vajadzētu ļaut izmantot SSH un izveidot savienojumu ar WiFi.

3. darbība. Kameras sagatavošana darbam

Kameras sagatavošana
Kameras sagatavošana

Pēc noklusējuma kamera ir atspējota Pi, tāpēc, lai atvērtu izvēlni, jums ir jāatver termināļa tips sudo raspi-config. Dodieties uz "saskarnes opcijas" un pēc tam iespējojiet kameru. Tagad vienkārši izvēlieties "Pabeigt" un ievietojiet kameras moduļa lentes kabeli pareizajā Pi apgabalā.

4. solis: programmatūras instalēšana

Ir vairākas dažādas programmatūras, kas var straumēt video, piemēram, vlc un kustība, bet es nolēmu izmantot mjpeg-streamer, jo tam ir zems latentums un ērta uzstādīšana. Saskaņā ar norādījumiem vietnē izveidojiet mapē git klonu https://github.com/jacksonliam/mjpg-streamer.git, pēc tam ierakstiet sudo apt-get install cmake libjpeg8-dev, lai instalētu nepieciešamās bibliotēkas. Mainiet direktoriju lejupielādētajā mapē un pēc tam ierakstiet make, kam seko sudo make install, lai apkopotu programmatūru. Visbeidzot ievadiet eksportu LD_LIBRARY_PATH =. un, lai to palaistu, ierakstiet./mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so" Straumei varat piekļūt, dodoties uz https://: 8080/stream.html, lai skatītu straumi.

5. solis: kontrolieris

Kontrolieris
Kontrolieris
Kontrolieris
Kontrolieris

Tad nāca daļa, kā kontrolēt Raspberry Pi, izmantojot WiFi, jo Bluetooth ir pārāk mazs diapazons. Es nolēmu datu nosūtīšanai izmantot kolbu serveri, kas darbojas ar Raspberry PI, un ESP8266 ESP12E moduli. ESP8266 ir tikai viena analogā ieeja, kas nozīmē, ka es nevarēju tieši izmantot kursorsviru, jo ir nepieciešamas divas analogās ieejas. Labākais risinājums bija ADS1115, kas ir I2C ierīce, kas nolasa analogos signālus ar 16 bitu izšķirtspēju. Es vienkārši savienoju SDA ar 4 un SCL ar 5, kā arī VCC un GND. Kursorsviras X ass savienojas ar A0 ADS1115, un Y ass savienojas ar A1. BET, es nejauši sadedzināju ADS1115, tāpēc man bija jāizmanto nākamā labākā lieta: pogas! Tagad mans iestatījums ir ESP8266 Sparkfun Thing Dev Board ar 3 pogām- uz priekšu, pa labi un pa kreisi. Tagad, kad tiek nospiests, tas nosūta datus, lai pagrieztu riteņus šajā virzienā.

6. darbība: Robota kods

Robota kods
Robota kods

Es izveidoju iepriekšēju projektu, kurā izmantoju Pi GPIO PWM bibliotēku, lai vadītu motorus, izmantojot json, tāpēc es vienkārši no jauna izveidoju kodu, lai pieņemtu datus, izmantojot lietotni Kolba. Kolba ir Python bibliotēka, kas būtībā pārvērš jūsu Pi par tīmekļa serveri, kas spēj nosūtīt un saņemt datus. Izmantojot PWM, motorus var vadīt ar lielāku precizitāti, salīdzinot ar tvertnes piedziņu. Tas arī nozīmē, ka robots var braukt ar mainīgu ātrumu, nevis fiksētu. Mana kolbas lietotne ir konfigurēta, lai mainītu motoru PWM, tiklīdz tā saņem datus no GET pieprasījuma, izmantojot http no ESP12e. Tas arī izmanto apakšprocesu. Atvērtā bibliotēka, lai fonā palaistu tīmekļa straumēšanas skriptu. Projekta lapai esmu pievienojis kodu, tāpēc viss, kas nepieciešams, ir lejupielāde.

7. darbība: kontroliera kods

Kods bija diezgan vienkāršs, vienkārši paņemiet nolasījumus no 3 tapām, palaidiet tos cauri dažiem paziņojumiem, lai noteiktu riteņa virzienu, un visbeidzot nosūtiet šīs vērtības Raspberry Pi. ESP8266 plates papildinājums Arduino IDE ir aprīkots ar HTTPClient bibliotēku, kas apstrādā galvenes un datu nosūtīšanu. Flask serverim ir jāsaņem dati, izmantojot POST zvanu, tāpēc kods sāk savienojumu ar Raspberry Pi tīmekļa serveri, pēc tam datiem pievieno galveni, norādot, ka tas ir JSON kodēts, un visbeidzot tas nosūta datus JSON objekta veidā. Es pievienoju 40 ms aizkavi, lai novērstu Raspberry Pi datu pārslodzi.

8. darbība: Raspberry SPy palaišana

Darbojas Raspberry SPy
Darbojas Raspberry SPy
Darbojas Raspberry SPy
Darbojas Raspberry SPy

Nepieciešams tikai ierakstīt sudo python.py! Jums vajadzētu redzēt, ka kamera iedegas, un, pārejot uz pi tīmekļa adresi ar portu 8080, straumei jābūt redzamai. Tagad jūs varat izmantot kontrolieri jebkurā vietā mājā un iegūt tiešraidi.

Ieteicams: