Sisällysluettelo:

Raspberry SPy -robotti: 8 vaihetta (kuvilla)
Raspberry SPy -robotti: 8 vaihetta (kuvilla)

Video: Raspberry SPy -robotti: 8 vaihetta (kuvilla)

Video: Raspberry SPy -robotti: 8 vaihetta (kuvilla)
Video: ZEITGEIST: MOVING FORWARD | OFFICIAL RELEASE | 2011 2024, Marraskuu
Anonim
Image
Image
Vadelma SPy -robotti
Vadelma SPy -robotti

Tämän projektin avulla voit ajaa robottia verkkosivun kautta ja katsella suoratoistoa. Sitä voidaan käyttää vakoilemaan lemmikkejä, varmistamaan, ettei uunissa pala mitään, ja jopa lintujen tarkkailuun! DFRobot toimitti Raspberry Pi 3: n ja Raspberry Pi -kameramoduulin.

Vaihe 1: Robotti -elektroniikka

Robotti -elektroniikka
Robotti -elektroniikka

Aloitin kokoamalla 2WD MiniQ -alustasarjan DFRobotilta. Työnsin pyörät moottorin akseleille, työnsin ne sitten kannattimiin ja kiinnitin ne runkoon. Lopuksi lisäsin metallituet. Nyt oli aika rakentaa emolevy. L293d -moottorin kuljettaja juotettiin paikalleen ja johdot kulkevat Raspberry Pi: n GPIO -nastoihin. Seuraavaksi juotin akun liittimen, koska se tuottaa päävirtaa. Virtalähteen lisäämisen jälkeen asensin 5 V: n säätimen.

Vaihe 2: Pi: n asentaminen

Pi: n asentaminen
Pi: n asentaminen

DFRobot otti yhteyttä minuun ja lähetti Raspberry Pi 3- ja Raspberry Pi -kameramoduulin. Joten kun avasin laatikot, pääsin heti töihin asentamalla SD -kortin. Ensin menin Raspberry Pi -lataussivulle ja latasin uusimman Raspbian -version. Purain tiedoston ja laitoin sen kätevään hakemistoon. Et voi vain kopioida/liittää.img -tiedostoa SD -kortille, sinun on "poltettava se" kortille. Voit ladata polttavan apuohjelman, kuten Etcher.io, siirtääksesi käyttöjärjestelmän kuvan helposti. Kun.img -tiedosto oli SD -kortillani, asetin sen Raspberry Pi -laitteeseen ja annoin sille virran. Noin 50 sekunnin kuluttua irrotin virtajohdon ja poistin SD -kortin. Seuraavaksi laitoin SD -kortin takaisin tietokoneeseeni ja menin "boot" -hakemistoon. Avasin muistikirjan ja tallensin sen tyhjäksi tiedostoksi nimeltä "ssh" ilman laajennusta. Lisäsin myös tiedoston nimeltä "wpa_supplicant.conf" ja laitoin tähän tekstin:

verkko = {ssid = psk =}

Sitten tallensin ja poistin kortin ja asetin sen takaisin Raspberry Pi 3: een. Tämän pitäisi nyt mahdollistaa SSH: n käyttö ja WiFi -yhteyden muodostaminen.

Vaihe 3: Kameran valmisteleminen

Kameran valmisteleminen
Kameran valmisteleminen

Oletuksena kamera on poistettu käytöstä Pi-laitteessa, joten sinun on avattava päätelaite sudo raspi-config valikon avaamiseksi. Siirry "liitäntäasetuksiin" ja ota sitten kamera käyttöön. Valitse nyt "Valmis" ja aseta kameramoduulin nauhakaapeli Pi: n oikealle alueelle.

Vaihe 4: Ohjelmiston asentaminen

On olemassa useita erilaisia ohjelmistoja, jotka voivat suoratoistaa videota, kuten vlc ja liike, mutta päätin käyttää mjpeg-streameria alhaisen viiveen ja helpon asennuksen vuoksi. Sivuston ohjeiden mukaan tee git-klooni https://github.com/jacksonliam/mjpg-streamer.git kansioon ja kirjoita sudo apt-get install cmake libjpeg8-dev asentaaksesi tarvittavat kirjastot. Muuta hakemisto lataamaasi kansioon ja kirjoita ohjelmisto kirjoittamalla make ja sudo make install. Kirjoita lopuksi vienti LD_LIBRARY_PATH =. ja suorita se kirjoittamalla./mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so" Voit käyttää streamia siirtymällä osoitteeseen https://: 8080/stream.html nähdäksesi streamin.

Vaihe 5: Ohjain

Ohjain
Ohjain
Ohjain
Ohjain

Sitten tuli osa Raspberry Pi: n ohjaamisesta WiFi -yhteyden kautta, koska Bluetoothilla on liian vähän kantamaa. Päätin käyttää tietojen lähettämiseen Raspberry PI: tä käyttävää Flask -palvelinta ja ESP8266 ESP12E -moduulia. ESP8266: ssa on vain yksi analoginen tulo, joten en voinut käyttää ohjaussauvaa suoraan, koska se vaatii kaksi analogista tuloa. Paras vaihtoehto oli ADS1115, joka on I2C -laite, joka lukee analogisia signaaleja 16 bitin tarkkuudella. Yhdistin yksinkertaisesti SDA: n 4: een ja SCL: n 5: een yhdessä VCC: n ja GND: n kanssa. Ohjaussauvan X -akseli yhdistää ADS1115: n A0: een ja Y -akseli A1: een. MUTTA, poltin vahingossa ADS1115: n, joten minun piti turvautua seuraavaksi parhaaseen asiaan: painikkeisiin! Joten nyt asennukseni on ESP8266 Sparkfun Thing Dev Board, jossa on 3 painiketta- eteenpäin, oikealle ja vasemmalle. Nyt kun painiketta painetaan, se lähettää tietoja pyörien kääntämiseksi siihen suuntaan.

Vaihe 6: Robotin koodi

Robotin koodi
Robotin koodi

Tein edellisen projektin, jossa käytettiin Pi: n GPIO PWM -kirjastoa moottorien ohjaamiseen jsonin kautta, joten tarkoitin vain koodin uudelleen hyväksyäksesi tiedot Flask-sovelluksen kautta. Flask on Python -kirjasto, joka muuttaa Pi: si olennaisesti verkkopalvelimeksi, joka kykenee lähettämään ja vastaanottamaan tietoja. PWM: n avulla moottoreita voidaan ohjata tarkemmin kuin säiliökäyttö. Tämä tarkoittaa myös sitä, että robotti voi liikkua vaihtelevalla nopeudella kiinteän nopeuden sijasta. Pullosovellukseni on määritetty muuttamaan moottorien PWM -toimintoa, kun se vastaanottaa tietoja GET -pyynnöstä http: n kautta ESP12e -laitteesta. Se käyttää myös aliprosessia. Avattu kirjasto ajaa webstreaming -komentosarjan taustalla. Olen liittänyt koodin projektisivulle, joten tarvitset vain latauksen.

Vaihe 7: Ohjaimen koodi

Koodi oli melko yksinkertainen, ota vain lukemat kolmelta nastalta, suorita ne jostain lausunnosta pyörän suunnan määrittämiseksi ja lopuksi lähetä nämä arvot Raspberry Pi: lle. Arduino IDE: n ESP8266 -kortin lisäosa tulee HTTPClient -kirjaston kanssa, joka käsittelee otsikoita ja tietojen lähettämistä. Flask -palvelimen on vastaanotettava dataa POST -puhelun kautta, joten koodi aloittaa yhteyden Raspberry Pi -verkkopalvelimeen ja lisää sitten tietoihin otsikon, joka osoittaa, että se on JSON -koodattu, ja lopuksi se lähettää tiedot JSON -objektin muodossa. Lisäsin 40 ms: n viiveen, jotta Raspberry Pi ei ylikuormituisi tiedoilla.

Vaihe 8: Raspberry SPy -ohjelman suorittaminen

Raspberry SPy käynnissä
Raspberry SPy käynnissä
Raspberry SPy käynnissä
Raspberry SPy käynnissä

Tarvitset vain sudo python.py! Sinun pitäisi nähdä kameran syttyvän, ja siirtymällä pi: n verkko -osoitteeseen portin 8080 avulla virran pitäisi näkyä. Nyt voit käyttää ohjainta missä tahansa talossa ja saada myös live -syötteen.

Suositeltava: