Turinys:

„Raspberry SPy“robotas: 8 žingsniai (su nuotraukomis)
„Raspberry SPy“robotas: 8 žingsniai (su nuotraukomis)

Video: „Raspberry SPy“robotas: 8 žingsniai (su nuotraukomis)

Video: „Raspberry SPy“robotas: 8 žingsniai (su nuotraukomis)
Video: HOW TO USE the Raspberry Pi camera module 2024, Lapkritis
Anonim
Image
Image
„Raspberry SPy“robotas
„Raspberry SPy“robotas

Šis projektas leidžia vairuoti robotą per tinklalapį ir peržiūrėti tiesioginę transliaciją. Jis gali būti naudojamas šnipinėti naminius gyvūnėlius, įsitikinti, kad jūsų orkaitėje niekas nedega, ir netgi stebėti paukščius! „DFRobot“pateikė „Raspberry Pi 3“ir „Raspberry Pi“fotoaparato modulį.

1 žingsnis: robotų elektronika

Robotų elektronika
Robotų elektronika

Pradėjau surinkdamas 2WD „MiniQ“važiuoklės komplektą iš „DFRobot“. Užmačiau ratus ant variklio velenų, tada įkišau į laikiklius ir pritvirtinau prie važiuoklės. Galiausiai pridėjau metalines atramas. Dabar atėjo laikas sukurti pagrindinę plokštę. L293d variklio tvarkyklė buvo lituojama kartu su laidais, einančiais prie „Raspberry Pi“GPIO kaiščių. Tada aš litavau akumuliatoriaus jungtį, nes tai suteiks pagrindinę galią. Pridėjus maitinimo šaltinį, sumontavau 5V reguliatorių.

2 žingsnis: „Pi“nustatymas

„Pi“nustatymas
„Pi“nustatymas

„DFRobot“kreipėsi į mane ir atsiuntė savo „Raspberry Pi 3“ir „Raspberry Pi“fotoaparato modulį. Taigi, atidaręs dėžutes, aš pradėjau dirbti, nustatydamas SD kortelę. Pirmiausia nuėjau į „Raspberry Pi“atsisiuntimų puslapį ir atsisiunčiau naujausią „Raspbian“versiją. Tada ištraukiau failą ir įdėjau į patogų katalogą. Negalite tiesiog nukopijuoti/įklijuoti.img failo į SD kortelę, turite jį „įrašyti“į kortelę. Norėdami lengvai perkelti OS vaizdą, galite atsisiųsti deginimo priemonę, pvz., „Etcher.io“. Po to, kai.img failas buvo mano SD kortelėje, įdėjau jį į „Raspberry Pi“ir suteikiau galios. Po maždaug 50 sekundžių atjungiau laidą ir išėmiau SD kortelę. Tada vėl įdėjau SD kortelę į savo kompiuterį ir nuėjau į „įkrovos“katalogą. Atidariau užrašų knygelę ir išsaugojau ją kaip tuščią failą pavadinimu „ssh“be plėtinio. Taip pat buvo mano pridėtas failas „wpa_supplicant.conf“ir į jį įdėjau šį tekstą:

tinklas = {ssid = psk =}

Tada išsaugojau ir išėmiau kortelę ir vėl įdėjau ją į Raspberry Pi 3. Dabar turėtų būti leidžiama naudoti SSH ir prisijungti prie „WiFi“.

3 žingsnis: Paruoškite fotoaparatą

Fotoaparato paruošimas
Fotoaparato paruošimas

Pagal numatytuosius nustatymus „Pi“fotoaparatas yra išjungtas, todėl norėdami pamatyti meniu, turite atidaryti terminalo tipą sudo raspi-config. Eikite į „sąsajos parinktis“ir įjunkite fotoaparatą. Dabar tiesiog pasirinkite „Baigti“ir įkiškite kameros modulio juostinį kabelį į tinkamą „Pi“sritį.

4 veiksmas: programinės įrangos diegimas

Yra kelios skirtingos programinės įrangos, galinčios transliuoti vaizdo įrašus, pvz., „Vlc“ir „motion“, tačiau nusprendžiau naudoti „mjpeg-streamer“dėl mažo delsos ir lengvo įdiegimo. Vadovaudamiesi instrukcijomis svetainėje, sukurkite git kloną https://github.com/jacksonliam/mjpg-streamer.git į aplanką, tada įveskite sudo apt-get install cmake libjpeg8-dev, kad įdiegtumėte reikalingas bibliotekas. Pakeiskite katalogą į atsisiųstą aplanką ir įveskite make, po to sudo make install, kad sudarytumėte programinę įrangą. Galiausiai įveskite eksportą LD_LIBRARY_PATH =. ir norėdami jį paleisti, įveskite./mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so" Norėdami peržiūrėti srautą, galite pasiekti srautą eidami į https://: 8080/stream.html.

5 žingsnis: valdiklis

Valdiklis
Valdiklis
Valdiklis
Valdiklis

Tada atėjo dalis, kaip valdyti „Raspberry Pi“per „WiFi“, nes „Bluetooth“turi per mažą diapazoną. Aš nusprendžiau naudoti „Flask“serverį, veikiantį „Raspberry PI“, ir ESP8266 ESP12E modulį, kad galėčiau siųsti duomenis į jį. ESP8266 turi tik vieną analoginį įvestį, o tai reiškia, kad negalėjau tiesiogiai naudoti kreiptuko, nes tam reikia dviejų analoginių įėjimų. Geriausias variantas buvo ADS1115, kuris yra I2C įrenginys, nuskaitantis analoginius signalus esant 16 bitų skiriamai gebai. Aš tiesiog prijungiau SDA prie 4 ir SCL prie 5 kartu su VCC ir GND. Vairasvirtės X ašis jungiasi prie A0 ADS1115, o Y ašis - prie A1. BET, aš netyčia sudeginau ADS1115, todėl turėjau kreiptis į kitą geriausią dalyką: mygtukus! Taigi dabar mano sąranka yra ESP8266 „Sparkfun Thing Dev Board“su 3 mygtukais- į priekį, į dešinę ir į kairę. Dabar, kai tik paspaudžiamas vienas, jis siunčia duomenis, kaip pasukti ratus ta kryptimi.

6 žingsnis: Roboto kodas

Roboto kodas
Roboto kodas

Aš sukūriau ankstesnį projektą, kuriame „Pi GPIO PWM“biblioteka buvo naudojama varikliams valdyti naudojant „json“, todėl tiesiog iš naujo sukūriau kodą, kad priimčiau duomenis per „Flask“programą. Kolba yra „Python“biblioteka, kuri iš esmės paverčia jūsų „Pi“žiniatinklio serveriu, galinčiu siųsti ir gauti duomenis. Naudojant PWM, variklius galima valdyti tiksliau, palyginti su bako pavara. Tai taip pat reiškia, kad robotas gali judėti kintamu greičiu, o ne fiksuotu greičiu. Mano kolbos programa sukonfigūruota pakeisti variklių PWM, kai tik gauna duomenis iš GET užklausos per http iš ESP12e. Jis taip pat naudoja papildomą procesą. Atidaryta biblioteka, kad fone būtų paleistas interneto srauto scenarijus. Prie projekto puslapio pridėjau kodą, todėl tereikia atsisiųsti.

7 žingsnis: valdiklio kodas

Kodas buvo gana paprastas, tiesiog paimkite 3 kaiščių rodmenis, paleiskite juos, jei norite, kad nustatytumėte rato kryptį, ir galiausiai nusiųskite šias vertes į „Raspberry Pi“. „Arduino IDE“ESP8266 plokštės priedas yra su „HTTPClient“biblioteka, kuri tvarko antraštes ir siunčia duomenis. „Flask“serveris turi gauti duomenis per POST skambutį, todėl kodas užmezga ryšį su „Raspberry Pi“žiniatinklio serveriu, tada prie duomenų prideda antraštę, nurodančią, kad jis yra koduotas JSON, ir galiausiai siunčia duomenis JSON objekto pavidalu. Pridėjau 40 ms vėlavimą, kad „Raspberry Pi“nebūtų perkrautas duomenimis.

8 veiksmas: paleiskite „Raspberry SPy“

„Raspberry SPy“paleidimas
„Raspberry SPy“paleidimas
„Raspberry SPy“paleidimas
„Raspberry SPy“paleidimas

Viskas, ko reikia, yra įvesti sudo python.py! Turėtumėte pamatyti, kaip užsidega fotoaparatas, o eidami į pi žiniatinklio adresą naudodami 8080 prievadą, srautas turėtų būti matomas. Dabar galite naudoti valdiklį bet kurioje namo vietoje ir turėti tiesioginį kanalą.

Rekomenduojamas: