Obsah:

Robot Raspberry SPy: 8 kroků (s obrázky)
Robot Raspberry SPy: 8 kroků (s obrázky)

Video: Robot Raspberry SPy: 8 kroků (s obrázky)

Video: Robot Raspberry SPy: 8 kroků (s obrázky)
Video: Zavřete oči a poslouchejte 😂😂😂 2024, Červenec
Anonim
Image
Image
Raspberry SPy Robot
Raspberry SPy Robot

Tento projekt vám umožňuje řídit robota prostřednictvím webové stránky a sledovat živý přenos. Lze jej použít ke špehování domácích zvířat, k zajištění, aby vám v troubě nic nehořelo, a dokonce i k pozorování ptáků! DFRobot poskytl modul Raspberry Pi 3 a modul Raspberry Pi.

Krok 1: Robotická elektronika

Robotická elektronika
Robotická elektronika

Začal jsem sestavením podvozkové sady 2WD MiniQ od DFRobot. Nasunul jsem kola na hřídele motoru, pak jsem je vložil do držáků a připevnil k podvozku. Nakonec jsem přidal kovové podpěry. Nyní byl čas postavit hlavní desku. Ovladač motoru L293d byl připájen na místo spolu s dráty vedenými k pinům GPIO Raspberry Pi. Dále jsem připájel konektor pro baterii, protože to poskytne hlavní energii. Po přidání napájecího zdroje jsem nainstaloval 5V regulátor.

Krok 2: Nastavení Pi

Nastavení Pi
Nastavení Pi

DFRobot mě oslovil a poslal svůj Raspberry Pi 3 a Raspberry Pi Camera Module. Poté, co jsem otevřel krabice, jsem se dostal do práce nastavením SD karty. Nejprve jsem šel na stránku Stahování Raspberry Pi a stáhl si nejnovější verzi Raspbian. Poté jsem soubor extrahoval a vložil do vhodného adresáře. Soubor.img nemůžete pouze zkopírovat/vložit na kartu SD, musíte jej „vypálit“na kartu. Můžete si stáhnout nástroj pro vypalování, jako je Etcher.io, abyste mohli snadno přenést bitovou kopii operačního systému. Poté, co byl soubor.img na mé SD kartě, vložil jsem ho do Raspberry Pi a dal mu sílu. Asi po 50 sekundách jsem odpojil kabel a vyjmul kartu SD. Poté jsem vložil kartu SD zpět do počítače a šel do adresáře „boot“. Otevřel jsem poznámkový blok a uložil jej jako prázdný soubor s názvem „ssh“bez přípony. Byl zde také soubor, který jsem přidal, nazvaný „wpa_supplicant.conf“a vložil do něj tento text:

síť = {ssid = psk =}

Poté jsem kartu uložil a vysunul a vložil zpět do Raspberry Pi 3. To by nyní mělo umožnit použití SSH a připojení k WiFi.

Krok 3: Příprava fotoaparátu

Příprava fotoaparátu
Příprava fotoaparátu

Ve výchozím nastavení je kamera na Pi zakázána, takže pro otevření nabídky musíte otevřít typ terminálu sudo raspi-config. Přejděte na „možnosti rozhraní“a poté povolte kameru. Nyní stačí vybrat „Dokončit“a zasunout plochý kabel kamerového modulu do správné oblasti Pi.

Krok 4: Instalace softwaru

Existuje několik různých softwarů, které mohou streamovat video, například vlc a pohyb, ale rozhodl jsem se použít mjpeg-streamer kvůli jeho nízké latenci a snadné instalaci. Podle pokynů na webu proveďte klon git https://github.com/jacksonliam/mjpg-streamer.git do složky a poté zadejte sudo apt-get install cmake libjpeg8-dev a nainstalujte potřebné knihovny. Změňte svůj adresář na složku, kterou jste stáhli, a poté zadejte make a poté sudo make install pro kompilaci softwaru. Nakonec zadejte export LD_LIBRARY_PATH =. a pro spuštění zadejte./mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so" K proudu se můžete dostat tak, že přejdete na https://: 8080/stream.html a stream zobrazíte.

Krok 5: Ovladač

Ovladač
Ovladač
Ovladač
Ovladač

Poté přišla část, jak ovládat Raspberry Pi přes WiFi, protože Bluetooth má příliš malý dosah. Rozhodl jsem se pro odesílání dat použít server Flask běžící na Raspberry PI a modul ESP8266 ESP12E. ESP8266 má pouze jeden analogový vstup, což znamená, že jsem nemohl použít joystick přímo, protože to vyžaduje dva analogové vstupy. Nejlepší možností byl ADS1115, což je zařízení I2C, které čte analogové signály s rozlišením 16 bitů. Jednoduše jsem připojil SDA na 4 a SCL na 5 spolu s VCC a GND. Osa X joysticku se připojí k A0 na ADS1115 a osa Y se připojí k A1. ALE, omylem jsem vypálil ADS1115, takže jsem se musel uchýlit k další nejlepší věci: tlačítkům! Takže moje nastavení je ESP8266 Sparkfun Thing Dev Board se 3 tlačítky- vpřed, vpravo a vlevo. Nyní, kdykoli je stisknuto, odešle data k otočení kol v tomto směru.

Krok 6: Kód pro robota

Kód pro robota
Kód pro robota

Udělal jsem předchozí projekt, který využíval knihovnu Pi GPIO PWM k ovládání motorů přes json, takže jsem místo toho znovu přepracoval kód tak, aby přijímal data prostřednictvím aplikace Flask. Flask je knihovna Pythonu, která v podstatě změní váš Pi na webový server schopný odesílat a přijímat data. Použitím PWM lze motory ovládat s větší přesností ve srovnání s pohonem nádrže. To také znamená, že robot může jet proměnlivou rychlostí, než pevnou. Moje aplikace v baňce je nakonfigurována tak, aby měnila PWM motorů, jakmile obdrží data z požadavku GET přes http z ESP12e. Také používá knihovnu subprocess. Popen ke spuštění skriptu webového přenosu na pozadí. Připojil jsem kód na stránku projektu, takže vše, co je nutné, je stáhnout.

Krok 7: Kód ovladače

Kód byl docela jednoduchý, stačí vzít údaje ze 3 kolíků, spustit je pomocí příkazů if, abyste určili směr kola, a nakonec tyto hodnoty poslat na Raspberry Pi. Doplněk desky ESP8266 pro Arduino IDE je dodáván s knihovnou HTTPClient, která zpracovává záhlaví a odesílání dat. Server Flask potřebuje přijímat data prostřednictvím volání POST, takže kód zahájí spojení s webovým serverem Raspberry Pi, poté k datům přidá záhlaví označující, že je kódováno ve formátu JSON, a nakonec odešle data ve formě objektu JSON. Přidal jsem zpoždění 40 ms, abych zabránil přetížení dat Raspberry Pi.

Krok 8: Spuštění Raspberry SPy

Spuštění Raspberry SPy
Spuštění Raspberry SPy
Spuštění Raspberry SPy
Spuštění Raspberry SPy

Vše, co je potřeba, je napsat sudo python.py! Měli byste vidět kameru rozsvítit a přechodem na webovou adresu pí s portem 8080 by měl být stream viditelný. Nyní můžete ovladač používat kdekoli v domě a mít také živý přenos.

Doporučuje: