Tartalomjegyzék:

Raspberry SPy robot: 8 lépés (képekkel)
Raspberry SPy robot: 8 lépés (képekkel)

Videó: Raspberry SPy robot: 8 lépés (képekkel)

Videó: Raspberry SPy robot: 8 lépés (képekkel)
Videó: ОБНОВА НА 3 СЕЗОНА ПОДРЯД! НОВОЕ ОБНОВЛЕНИЕ 1.19.3 – Last Day on Earth: Survival 2024, November
Anonim
Image
Image
Málna SPy robot
Málna SPy robot

Ez a projekt lehetővé teszi, hogy robotot vezessen egy weboldalon keresztül, és megtekintheti az élő közvetítést. Használható háziállatok kémkedéséhez, győződjön meg arról, hogy semmi nem ég a sütőben, és még madármegfigyelésre is! A DFRobot biztosította a Raspberry Pi 3 és a Raspberry Pi kamera modult.

1. lépés: A robot elektronika

A robot elektronika
A robot elektronika

Azzal kezdtem, hogy összeszereltem a 2WD MiniQ alvázkészletet a DFRobot -tól. Felcsúsztattam a kerekeket a motortengelyekre, majd behelyeztem a konzolokba és rögzítettem az alvázhoz. Végül hozzáadtam a fém tartóelemeket. Most eljött az idő, hogy felépítsük az alaplapot. Az L293d motorvezérlőt a helyére forrasztották, a Raspberry Pi GPIO csapjaihoz vezető vezetékekkel együtt. Ezután forrasztottam egy csatlakozót az akkumulátorhoz, mivel ez biztosítja a fő áramellátást. Az áramforrás hozzáadása után telepítettem egy 5 V -os szabályozót.

2. lépés: A Pi beállítása

A Pi beállítása
A Pi beállítása

A DFRobot felém fordult, és elküldte a Raspberry Pi 3 és a Raspberry Pi Camera Module -t. Így miután kinyitottam a dobozokat, rögtön elkezdtem dolgozni az SD -kártya beállításával. Először a Raspberry Pi Letöltések oldalára mentem, és letöltöttem a Raspbian legújabb verzióját. Ezután kibontottam a fájlt, és betettem egy kényelmes könyvtárba. Egy.img fájlt nem lehet csak SD -kártyára másolni/beilleszteni, hanem "fel kell égetni" a kártyára. Letölthet egy égő segédprogramot, mint például az Etcher.io, hogy könnyen átvihesse az operációs rendszer képét. Miután az.img fájl az SD -kártyán volt, behelyeztem a Raspberry Pi -be, és áramot adtam neki. Körülbelül 50 másodperc múlva kihúztam a kábelt és kivettem az SD kártyát. Ezután visszatettem az SD -kártyát a számítógépembe, és a "boot" könyvtárba mentem. Kinyitottam a jegyzettömböt, és elmentettem üres fájlként, "ssh" néven, NO kiterjesztéssel. Volt egy fájl, amelyet hozzáadtam, "wpa_supplicant.conf" néven, és ezt a szöveget helyeztem bele:

hálózat = {ssid = psk =}

Ezután mentettem és kiadtam a kártyát, és visszatettem a Raspberry Pi 3 -ba. Ennek most lehetővé kell tennie az SSH használatát és a WiFi -hez való csatlakozást.

3. lépés: A fényképezőgép előkészítése

A fényképezőgép előkészítése
A fényképezőgép előkészítése

Alapértelmezés szerint a kamera le van tiltva a Pi-n, ezért a menü megjelenítéséhez meg kell nyitnia a sudo raspi-config terminált. Lépjen az "interfész beállításai" oldalra, majd engedélyezze a kamerát. Most csak válassza a "Befejezés" lehetőséget, és helyezze be a kameramodul szalagkábelét a Pi megfelelő területére.

4. lépés: Szoftver telepítése

Számos különböző szoftver képes video továbbítására, például vlc és motion, de úgy döntöttem, hogy az mjpeg-streamer-t használom alacsony késleltetése és egyszerű telepítése miatt. Az oldalon található utasítások szerint készítsen egy git klónot https://github.com/jacksonliam/mjpg-streamer.git egy mappába, majd írja be a sudo apt-get install cmake libjpeg8-dev parancsot a szükséges könyvtárak telepítéséhez. Változtassa meg a könyvtárat a letöltött mappába, majd írja be a make, majd a sudo make install parancsot a szoftver fordításához. Végül adja meg az export LD_LIBRARY_PATH = parancsot. és a futtatásához írja be./mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so" A folyam eléréséhez lépjen a https://: 8080/stream.html oldalra a stream megtekintéséhez.

5. lépés: Vezérlő

Vezérlő
Vezérlő
Vezérlő
Vezérlő

Aztán jött az a rész, hogy hogyan lehet egy Raspberry Pi -t WiFi -n keresztül vezérelni, mert a Bluetooth hatótávolsága túl kicsi. Úgy döntöttem, hogy a Raspberry PI -n futó Flask szervert és egy ESP8266 ESP12E modult használok adatok küldésére. Az ESP8266 csak egy analóg bemenettel rendelkezik, ami azt jelenti, hogy nem tudtam közvetlenül használni a joystickot, mivel két analóg bemenetet igényel. A legjobb megoldás az ADS1115 volt, amely egy I2C eszköz, amely 16 bit felbontású analóg jeleket olvas. Egyszerűen csatlakoztattam az SDA -t 4 -re, az SCL -t 5 -re, valamint a VCC -t és a GND -t. A joystick X tengelye az AD01115 A0 -hoz csatlakozik, az Y tengely pedig az A1 -hez. DE véletlenül kiégettem az ADS1115-öt, ezért a következő legjobb dologhoz kellett folyamodnom: a gombokhoz! Tehát most a beállításom egy ESP8266 Sparkfun Thing Dev Board, 3 gombbal- előre, jobbra és balra. Most, amikor megnyom egy gombot, adatokat küld a kerekek ebbe az irányba való elforgatására.

6. lépés: A robot kódja

A robot kódja
A robot kódja

Készítettem egy korábbi projektet, amely a Pi GPIO PWM könyvtárát használta a motorok json-on keresztüli vezérlésére, ezért csak újraterveztem a kódot, hogy helyette egy lombik alkalmazáson keresztül fogadja el az adatokat. A Flask egy Python könyvtár, amely lényegében az Ön Pi -jét olyan webszerverré alakítja, amely képes adatokat küldeni és fogadni. A PWM használatával a motorok a tartályhajtáshoz képest nagyobb pontossággal vezérelhetők. Ez azt is jelenti, hogy a robot változó sebességgel tud haladni, nem pedig fixen. A lombikalkalmazásom úgy van konfigurálva, hogy megváltoztassa a motorok PWM -jét, amint adatokat kap egy GET kérésből http -en keresztül az ESP12e -ről. Az alprocess. Popen könyvtárat is használja a webfolyam -szkript futtatásához a háttérben. Csatoltam a projekt oldalához kódot, így csak egy letöltés szükséges.

7. lépés: Vezérlőkód

A kód meglehetősen egyszerű volt, csak vegye le a leolvasásokat a 3 érintkezőből, futtassa végig néhány utasítást a kerék irányának meghatározásához, és végül küldje el ezeket az értékeket a Raspberry Pi -nek. Az Arduino IDE ESP8266 kártya kiegészítése a HTTPClient könyvtárhoz tartozik, amely kezeli a fejléceket és az adatok küldését. A Flask szervernek POST híváson keresztül kell adatokat fogadnia, így a kód kapcsolatot létesít a Raspberry Pi webszerverrel, majd fejlécet ad az adatokhoz, jelezve, hogy JSON kódolású, és végül elküldi az adatokat JSON objektum formájában. 40 ms késleltetést adtam hozzá, hogy megakadályozzam a Raspberry Pi túlterhelését az adatokkal.

8. lépés: A Raspberry SPy futtatása

A Raspberry SPy futtatása
A Raspberry SPy futtatása
A Raspberry SPy futtatása
A Raspberry SPy futtatása

Csak a sudo python.py beírása szükséges! Látnia kell, hogy a kamera világít, és a pi webcímére lépve a 8080 -as porttal a streamnek láthatónak kell lennie. Mostantól bárhol használhatja a vezérlőt a házban, és élő adást is biztosíthat.

Ajánlott: