Innehållsförteckning:

Raspberry SPy Robot: 8 steg (med bilder)
Raspberry SPy Robot: 8 steg (med bilder)

Video: Raspberry SPy Robot: 8 steg (med bilder)

Video: Raspberry SPy Robot: 8 steg (med bilder)
Video: 10 САМЫХ КРАСИВЫХ АКТРИС РОССИЙСКОГО КИНО! Часть 1. 2024, Juli
Anonim
Image
Image
Hallon SPy Robot
Hallon SPy Robot

Detta projekt låter dig köra en robot via en webbsida och se en livestream. Den kan användas för att spionera på husdjur, se till att inget brinner i ugnen och till och med fågelskådning! DFRobot levererade Raspberry Pi 3 och Raspberry Pi kameramodul.

Steg 1: Robotelektroniken

Robotelektroniken
Robotelektroniken

Jag började med att montera 2WD MiniQ -chassit från DFRobot. Jag drog hjulen på motoraxlarna, satte sedan in dem i fästen och fäst dem på chassit. Slutligen lade jag till metallstödet. Nu var det dags att bygga huvudkortet. Motordrivrutinen L293d löddes på plats, tillsammans med kablar som gick till Raspberry Pi: s GPIO -stift. Därefter lödde jag en kontakt för batteriet, eftersom det ger huvudströmmen. Efter att strömkällan tillsattes installerade jag en 5V regulator.

Steg 2: Konfigurera Pi

Konfigurera Pi
Konfigurera Pi

DFRobot nådde ut till mig och skickade deras Raspberry Pi 3 och Raspberry Pi kameramodul. Så efter att jag öppnat lådorna fick jag rätt att arbeta genom att sätta upp SD -kortet. Först gick jag till sidan Raspberry Pi Downloads och laddade ner den senaste versionen av Raspbian. Jag extraherade sedan filen och lade den i en bekväm katalog. Du kan inte bara kopiera/klistra in en.img -fil till ett SD -kort, du måste "bränna den" på kortet. Du kan ladda ner ett brinnande verktyg som Etcher.io för att enkelt överföra OS -bilden. Efter att.img -filen fanns på mitt SD -kort satte jag in den i Raspberry Pi och gav den ström. Efter cirka 50 sekunder kopplade jag ur sladden och tog bort SD -kortet. Därefter satte jag tillbaka SD -kortet i min dator och gick till "boot" -katalogen. Jag öppnade anteckningsblock och sparade det som en tom fil med namnet "ssh" utan tillägg. Det fanns också en fil jag lade till som heter "wpa_supplicant.conf" och lägger in den här texten i den:

nätverk = {ssid = psk =}

Sedan sparade jag och kastade ut kortet och satte tillbaka det i Raspberry Pi 3. Detta bör nu möjliggöra användning av SSH och anslutning till WiFi.

Steg 3: Gör kameran redo

Gör kameran redo
Gör kameran redo

Som standard är kameran inaktiverad på Pi, så du måste öppna terminalen sudo raspi-config för att få fram menyn. Gå till "gränssnittsalternativ" och aktivera sedan kameran. Välj bara "Slutför" och sätt i bandkabeln på kameramodulen i rätt område på Pi.

Steg 4: Installera programvara

Det finns flera olika program som kan strömma video, till exempel vlc och motion, men jag bestämde mig för att använda mjpeg-streameren på grund av dess låga latens och enkel installation. Enligt instruktionerna på webbplatsen gör du en git-klon https://github.com/jacksonliam/mjpg-streamer.git i en mapp och skriver sedan sudo apt-get install cmake libjpeg8-dev för att installera de nödvändiga biblioteken. Ändra din katalog till den mapp du laddade ner och skriv sedan make följt av sudo make install för att kompilera programvaran. Slutligen ange export LD_LIBRARY_PATH =. och för att köra den skriver./mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so" Du kan komma åt strömmen genom att gå till https://: 8080/stream.html för att se strömmen.

Steg 5: Styrenhet

Kontroller
Kontroller
Kontroller
Kontroller

Sedan kom delen om hur man styr en Raspberry Pi över WiFi, eftersom Bluetooth har för lite räckvidd. Jag bestämde mig för att använda en Flask -server som körs på Raspberry PI och en ESP8266 ESP12E -modul för att skicka data till den. ESP8266 har bara en analog ingång, vilket innebär att jag inte kunde använda joysticken direkt, eftersom den tar två analoga ingångar. Det bästa alternativet var ADS1115, som är en I2C -enhet som läser analoga signaler med 16 bitars upplösning. Jag kopplade helt enkelt SDA till 4 och SCL till 5, tillsammans med VCC och GND. Joystickens X -axel ansluter till A0 på ADS1115 och Y -axeln ansluts till A1. MEN, jag av misstag brände ut ADS1115, så jag var tvungen att tillgripa det näst bästa: knappar! Så nu är min installation en ESP8266 Sparkfun Thing Dev Board med 3 knappar- framåt, höger och vänster. Nu när en trycks in, skickar den data för att vrida hjulen i den riktningen.

Steg 6: Koden för roboten

Koden för roboten
Koden för roboten

Jag gjorde ett tidigare projekt som använde Pi: s GPIO PWM-bibliotek för att styra motorer via json, så jag tänkte bara om koden för att acceptera data via en Flask-app istället. Flask är ett Python -bibliotek som i huvudsak gör din Pi till en webbserver som kan skicka och ta emot data. Genom att använda PWM kan motorerna styras med större precision jämfört med tankdrivning. Detta innebär också att roboten kan gå i varierande hastigheter snarare än en fast. Min kolv -app är konfigurerad för att ändra motorernas PWM när den tar emot data från en GET -begäran via http från ESP12e. Det använder också subprocess. Popen -biblioteket för att köra webbstreaming -skriptet i bakgrunden. Jag har bifogat kod till projektsidan, så allt som behövs är en nedladdning.

Steg 7: Kontrollkod

Koden var ganska enkel, ta bara avläsningar från de tre stiften, kör dem genom några if -uttalanden för att bestämma hjulriktningen och skicka slutligen dessa värden till Raspberry Pi. ESP8266 -korttillägget för Arduino IDE levereras med HTTPClient -biblioteket, som hanterar rubriker och skickar data. Kolvservern måste ta emot data via ett POST -samtal, så koden startar en anslutning till Raspberry Pi -webbservern och lägger sedan till en rubrik i data som anger att den är JSON -kodad och slutligen skickar den data i form av ett JSON -objekt. Jag lade till en 40 ms fördröjning för att förhindra att Raspberry Pi blir överbelastad med data.

Steg 8: Kör Raspberry SPy

Kör Raspberry SPy
Kör Raspberry SPy
Kör Raspberry SPy
Kör Raspberry SPy

Allt som krävs är att skriva sudo python.py! Du bör se kameran lysa upp, och genom att gå till webbadressen till pi: n med porten 8080 bör strömmen vara synlig. Nu kan du använda handkontrollen var som helst i huset och ha ett live -feed också.

Rekommenderad: