- Installera och konfigurera 'Motion' för att få videoflöde:
- Kolvinställning i Raspberry Pi för styrning av robot via webbsida:
- HTML-kod för webbsida:
- Övervakningsrobot
- Kretsschema och inställning:
- Hur man använder:
I denna DIY-session bygger vi en webbstyrd övervakningsrobot med hallon pi och en webbkamera. Detta kan vara ett användbart och billigt säkerhets- och spionverktyg, som har många konfigurerbara alternativ och kan byggas på några timmar. I detta IoT-projekt använder vi främst Raspberry Pi, USB-webbkamera och två likströmsmotorer med robotchassi för att bygga denna robotbil.
Den har en webbkamera monterad över den, genom vilken vi får live videoflöde och den intressanta delen här är att vi kan styra och flytta den här roboten från en webbläsare över internet. Eftersom det kan styras med hjälp av webbsida, betyder det att det också kan styras med hjälp av webbsidor i Mobile. Vi byggde en webbsida i HTML som har vänster, höger, framåt, bakåtlänkar, genom att klicka på vilken vi kan flytta roboten i vilken riktning som helst. Här använde vi "Motion" för att få live videoflöde från USB-kamera och använde "Flask" för att skicka kommandon från webbsidan till Raspberry Pi med pythonför att flytta roboten, som förklaras i detalj i efterföljande del av denna handledning. Vi har Raspbian Jessie OS installerat på vårt Raspberry Pi-kort. Du kan läsa den här artikeln för att installera Raspbian OS och komma igång med Raspberry Pi.
Installera och konfigurera 'Motion' för att få videoflöde:
Motion (Surveillance Software) är gratis CCTV-programvara med öppen källkod för rörelsedetektor, utvecklad för Linux. Den upptäcker rörelsen och börjar spela in video av den. Med 'Motion' installerad i din Raspberry Pi kan du på ett magiskt sätt förvandla din Raspberry Pi till en säkerhetskamera. Den används för att få live videoflöde, göra timelapse-videor och ta ögonblicksbilder med jämna mellanrum. Den spelar in och sparar videon när den upptäcker rörelse eller störningar i utsiktsområdet. Livevideo-flöde kan ses i webbläsaren genom att ange IP-adressen till Pi tillsammans med porten.
Vi har skapat en detaljerad handledning om hur du använder rörelse med Raspberry Pi och USB-kamera, här förklarar vi kort hur den installeras på Raspberry pi för vår robot för att skicka livevideostreaming till webbsidan.
Här behöver du bara köra några få kommandon för att börja få ditt första videoflöde över nätverket. Innan det, kontrollera korrekt att din Raspberry Pi är ansluten till internet, antingen med LAN eller Wi-Fi och följ sedan stegen nedan:
Steg 1: Kör först kommandot nedan för att uppdatera Raspbian OS på Raspberry Pi:
sudo apt-get uppdatering
Steg 2: Sedan installera 'Motion' Library genom att använda kommandot nedan:
sudo apt-get install motion
Steg 3: Ställ nu Motion daemon till ja genom att redigera filen: / etc / default / motion så att den alltid kommer att köras. Redigera den här filen med 'nano' -redigeraren med 'sudo' som anges nedan:
sudo nano / etc / default / motion
Spara sedan filen genom att trycka på 'CTRL + X', sedan 'Y' och Enter.
Steg 4: Nu måste vi ställa in behörigheten för Target Directory (/ var / lib / motion /), där Motion sparar alla videoinspelningar och bildfiler. Vi måste ställa in 'Motion' som ägare till den här katalogen genom att utfärda kommandot nedan:
sudo chown rörelse: rörelse / var / lib / rörelse /
Denna behörighet är nödvändig annars får du fel när du kontrollerar status för rörelsetjänst.
Du kan kontrollera servicestatus med det här kommandot: sudo service motion status
Steg 5: Nu är vi nästan klara, bara vi behöver ändra ett konfigurationsalternativ i Motion-konfigurationsfilen (/etc/motion/motion.conf ) som är stream_localhost off. Vi måste stänga av den här lokala värdströmningen, annars kommer vi inte att kunna komma åt videoflöden i vårt nätverk och det kommer bara att vara tillgängligt från själva Raspberry Pi. För att göra det, redigera Motion Configuration-filen med 'nano' -redigeraren och stäng av den, som visas nedan:
sudo nano /etc/motion/motion.conf
Nu är vi klara och redo att få vårt live-flöde från USB-webbkameran ansluten till Pi. Bara starta (eller starta om) Motion-tjänsten med kommandot nedan och öppna din Raspberry Pi's IP, med port 8081, i din webbläsare (som 192.168.43.199:8081). I det här projektet har vi bäddat in denna IP i vår HTML-kod i img src- taggen.
sudo /etc/init.d/motion starta om
Och du kommer att se direktsändningen från din webbkamera. Här har vi använt en billig USB-webbkamera som fungerade smidigt med vår Raspberry Pi, men du kan vidare använda en kamera av god kvalitet för bättre upplösning. Som det kommer att visas i webbläsaren kan du använda vilken enhet som helst för att titta på flödet, som stöder webbläsare som mobil, surfplatta etc.
Försök starta om Raspberry Pi som ett felsökningssteg när det behövs:
omstart av sudo
Det här handlar om att använda Motion för vår övervakningsrobot, förutom det har den flera konfigurationsalternativ som vi redan har diskuterat i vår tidigare handledning.
Obs! Om du är Raspberry Pi-modell under version 3 kan du behöva en Wi-Fi-dongel för att trådlöst ansluta hallon Pi till routern.
Kolvinställning i Raspberry Pi för styrning av robot via webbsida:
Här har vi skapat en webbserver med hjälp av Flask, som ger ett sätt att skicka kommandon från webbsidan till Raspberry Pi för att styra roboten över nätverket. Flask gör att vi kan köra våra python-skript via en webbsida och vi kan skicka och ta emot data från Raspberry Pi till webbläsaren och vice versa. Flask är en mikroram för Python. Detta verktyg är Unicode-baserat med inbyggd utvecklingsserver och felsökare, integrerat enhets teststöd, stöd för säkra kakor och dess enkla att använda, dessa saker gör det användbart för hobbyisten.
Installera ett kolvstödpaket i Raspberry Pi med det givna kommandot:
$ pip installera kolven
Sedan kan vi använda kolven genom att bara importera den i vårt program, som om vi har importerat följande kolvpaket för detta projekt:
från kolvimport Kolv från kolvimport Kolv, render_template, begäran
Du kan lära dig mer om programmeringen med Flask här, kolla även våra tidigare projekt där vi har använt Flask för att skicka meddelandet från webbsidan till Raspberry Pi och skicka viktvärde till Raspberry Pi i Smart Container.
HTML-kod för webbsida:
Vi har skapat en webbsida med HTML-språk för att visa kontrolllänkar (vänster, höger, framåt, bakåt) för att flytta roboten från webbläsaren. Vi har använt jQuery-skript för att anropa funktionerna i vårt Python-program. Det finns fem funktioner i Python-koden för att flytta roboten åt vänster, höger, framåt, bakåt och för att stoppa den. Komplett Python-kod har getts i slutet. Dessa funktioner kommer att utföras genom att klicka på Kontrolllänkar på webbsidan och motorer rör sig beroende på länken som du klickar på. Här har vi skrivit koden på ett sådant sätt att roboten kommer att röra sig i viss riktning medan du klickar och håller ned länken, och så snart vi släpper musknappen kommer roboten att sluta. Nedan följer HTML-koden för webbsidan inklusive jQuery:
Här kan du se att vi har bäddat in IP-adressen, som videon strömmar på, på webbsidan med img src- taggen. Ändra IP-adressen enligt din Raspberry Pi men håll porten densamma.
Användaren måste kopiera och klistra in ovanstående HTML-kod i någon textredigerare (anteckningsblock) och spara filen med.HTML-tillägget (robot.html). Sedan sätta detta HTML-filen i / templates mappen med avseende på din Python-skript plats. Det betyder att du måste skapa en mapp med namnen mallar, där du har lagt din Python-kodfil för denna Raspberry Surveillance Robot och sedan placera robot.html-filen i den här mallmappen. Det här steget är viktigt, annars fungerar inte vårt projekt. Du kan öppna filen robot.html direkt genom att dubbelklicka på den för att se hur dina styrlänkar kommer att se ut. Kontrollera vidare hela processen i demonstrationsvideo i slutet. När vi har gjort programmeringen och allt kan vi bara köra Python-koden i Raspberry Pi och öppna IP_address_of_your_Pi: 5010 i webbläsaren (som
Du kan kontrollera IP-adressen till din Raspberry Pi med kommandot ifconfig :
ifconfig
Kretsschema och inställning:
Efter att ha testat Live Video-flödet och HTML-koden måste vi bygga en robot med hjälp av handgjorda eller färdiga robotchassier, hjul och mutterbultar. Placera sedan Powerbank över den för att driva Raspberry pi och placera sedan Raspberry Pi och webbkameran över powerbanken och fixa installationen med hjälp av cellband eller gummilister, anslut USB-kameran till Raspberry Pi.
I detta IoT-projekt behöver vi inte göra många anslutningar, vi behöver bara ansluta några kablar för Motor Driver IC L293D och DC Motors. Anslutningarna visas i kretsschemat nedan. Här har vi använt en PCB för allmänt ändamål för montering av L293D IC för att minska utrymmet, men du kan också använda små brödbrädor för att ansluta likströmsmotorer med L293D.
Hur man använder:
Manövrering och arbete av denna övervakningsrobot är väldigt lätt. Skapa en pythonfil (.py-förlängning) och kopiera koden nedan till den och spara den på din Raspberry Pi. Sedan lägga HTML-filen i mallarna mapp som beskrivits ovan. Glöm inte att ändra IP-adressen i HTML-filen.
Kör sedan Python-koden genom att ange kommandot nedan:
python name_of_file.py
Öppna sedan din Raspberry Pi IP-adress med port 5010 som http://192.168.43.199:5010 (ersätt igen IP-adressen med din adress). Nu kommer du att se webbsidan med fyra robotstyrningslänkar och livestreamingvideo. Användaren kan styra roboten genom att klicka och hålla ned länkarna. Om användaren kommer att klicka och hålla ned länkarna kommer roboten att röra sig enligt klickad länk och när kommer användaren att släppa länken så slutar roboten automatiskt.
Komplett Python-kod ges nedan, där vi har skrivit olika funktioner för att styra roboten genom att klicka på länkarna på webbsidan. Du kan lätt förstå dem eller om du är nybörjare, kolla in våra tidigare Raspberry Pi-handledning. Besök också vår robotavdelning för mer intressanta och enkla att bygga robotar.