- Installation og konfiguration af 'Motion' for at få videofeed:
- Kolbeopsætning i Raspberry Pi til styring af robot via webside:
- HTML-kode til webside:
- Overvågningsrobot
- Kredsløbsdiagram og opsætning:
- Sådan betjenes:
I denne DIY-session bygger vi en webstyret overvågningsrobot ved hjælp af hindbær pi og et webcam. Dette kan være et nyttigt og billigt sikkerheds- og spionværktøj, som har mange konfigurerbare muligheder og kan bygges på få timer. I dette IoT-projekt bruger vi hovedsageligt Raspberry Pi, USB-webkamera og to DC-motorer med robotchassis til at bygge denne robotbil.
Det har et webkamera monteret over det, hvorigennem vi får live videofeed, og den interessante del her er, at vi kan kontrollere og flytte denne robot fra en webbrowser over internettet. Da det kan styres ved hjælp af en webside, betyder det, at det også kan styres ved hjælp af en webside i Mobile. Vi byggede en webside i HTML, som har Links, Right, Forward, Backward links og klikke på hvilken vi kan flytte robotten i alle retninger. Her brugte vi "Motion" til at få live video-feed fra USB-kamera og brugte "Flask" til at sende kommandoer fra websiden til Raspberry Pi ved hjælp af pythonat flytte robotten, som forklares detaljeret i den efterfølgende del af denne vejledning. Vi har Raspbian Jessie OS installeret på vores Raspberry Pi-kort. Du kan tjekke denne artikel for at installere Raspbian OS og komme i gang med Raspberry Pi.
Installation og konfiguration af 'Motion' for at få videofeed:
Motion (Surveillance Software) er gratis open source-bevægelsesdetektor CCTV-software udviklet til Linux. Den registrerer bevægelsen og begynder at optage video af den. Med 'Motion' installeret i din Raspberry Pi kan du magisk omdanne din Raspberry Pi til et sikkerhedskamera. Det bruges til at få live video feed, lave timelapse videoer og tage snapshots med jævne mellemrum. Den optager og gemmer videoen, når den registrerer bevægelse eller forstyrrelser i synsområdet. Live-video-feed kan ses i webbrowseren ved at indtaste Pi-IP-adressen sammen med porten.
Vi har oprettet en detaljeret vejledning om brug af bevægelse med Raspberry Pi og USB-kamera, her forklarer vi kort dens installation på Raspberry pi til vores robot til at sende live-videostreaming til websiden.
Her skal du kun køre få kommandoer for at begynde at få dit første videofeed over netværket. Før det skal du kontrollere, at din Raspberry Pi har forbindelse til internettet, enten ved hjælp af LAN eller Wi-Fi, og følg derefter nedenstående trin:
Trin 1: Kør først nedenstående kommando for at opdatere Raspbian OS på Raspberry Pi:
sudo apt-get opdatering
Trin 2: Installer derefter 'Motion' -biblioteket ved hjælp af kommandoen nedenfor:
sudo apt-get installer bevægelse
Trin 3: Sæt nu Motion-dæmonen til ja ved at redigere filen: / etc / default / motion, så den altid kører. Rediger denne fil ved hjælp af 'nano' editor med 'sudo' som angivet nedenfor:
sudo nano / etc / default / motion
Gem derefter filen ved at trykke på 'CTRL + X', derefter 'Y' og Enter.
Trin 4: Nu skal vi indstille tilladelsen til Target Directory (/ var / lib / motion /), hvor Motion gemmer alle videooptagelser og billedfiler. Vi er nødt til at indstille 'Motion' som ejer af denne mappe ved at udstede kommandoen nedenfor:
sudo chown bevægelse: bevægelse / var / lib / bevægelse /
Denne tilladelse er nødvendig, ellers får du fejl, når du tjekker status for bevægelsestjeneste.
Du kan kontrollere servicestatus ved hjælp af denne kommando: sudo service motion status
Trin 5: Nu er vi næsten færdige, kun vi har brug for at ændre en konfigurationsindstilling i Motion-konfigurationsfil (/etc/motion/motion.conf ), som er stream_localhost fra. Vi er nødt til at slukke for denne lokale værtsstreaming, ellers kan vi ikke få adgang til videofeed på vores netværk, og det er kun tilgængeligt fra selve Raspberry Pi. For at gøre dette skal du redigere Motion Configuration-filen med 'nano' editor og slukke for den, som vist nedenfor:
sudo nano /etc/motion/motion.conf
Nu er vi færdige og klar til at få vores live feed fra USB-webkameraet tilsluttet Pi. Bare start (eller genstart) Motion-tjenesten ved hjælp af kommandoen nedenfor, og åbn din Raspberry Pi's IP med port 8081 i din browser (som 192.168.43.199:8081). I dette projekt har vi integreret denne IP i vores HTML-kode i img src- tag.
sudo /etc/init.d/motion genstart
Og du vil se live-feedet fra dit webkamera. Her har vi brugt et billigt USB-webkamera, der fungerede problemfrit med vores Raspberry Pi, men du kan yderligere bruge et kamera i god kvalitet til bedre opløsning. Som det vises i browseren, kan du bruge en hvilken som helst enhed til at se feedet, der understøtter webbrowser som mobil, tablet osv.
Prøv at genstarte Raspberry Pi som et fejlfindingstrin, når det er nødvendigt:
sudo genstart
Dette handler om at bruge Motion til vores Surveillance Robot, bortset fra det har den flere konfigurationsmuligheder, som vi allerede har diskuteret i vores tidligere tutorial.
Bemærk: Hvis du er Raspberry Pi-model under version 3, skal du muligvis bruge en Wi-Fi-dongle for at tilslutte raspberry Pi trådløst til routeren.
Kolbeopsætning i Raspberry Pi til styring af robot via webside:
Her har vi oprettet en webserver ved hjælp af Flask, som giver en måde at sende kommandoerne fra websiden til Raspberry Pi for at kontrollere robotten over netværket. Flask giver os mulighed for at køre vores python-scripts gennem en webside, og vi kan sende og modtage data fra Raspberry Pi til webbrowser og omvendt. Flask er et mikrorammer til Python. Dette værktøj er Unicode-baseret med indbygget udviklingsserver og debugger, integreret enhedstestesupport, understøttelse af sikre cookies og det er let at bruge, disse ting gør det nyttigt for hobbyisten.
Installer en kolbesupportpakke i Raspberry Pi ved hjælp af den givne kommando:
$ pip installer kolbe
Derefter kan vi bruge kolben ved blot at importere den til vores program, som om vi har importeret følgende pakker med kolbe til dette projekt:
fra kolbeimport Kolbe fra kolbeimport Kolbe, render_template, anmodning
Du kan lære mere om programmeringen ved hjælp af Flask her, se også vores tidligere projekter, hvor vi har brugt Flask til at sende beskeden fra websiden til Raspberry Pi og sende vægtværdien til Raspberry Pi i Smart Container.
HTML-kode til webside:
Vi har oprettet en webside ved hjælp af HTML-sprog til visning af kontrollinks (venstre, højre, fremad, bagud) for at flytte robotten fra webbrowseren. Vi har brugt jQuery-script til at kalde funktionerne i vores Python-program. Der er fem funktioner i Python-kode til at flytte robotten til venstre, højre, fremad, bagud og for at stoppe den. Komplet Python-kode er givet i slutningen. Disse funktioner udføres ved at klikke på Control Links på websiden, og motorerne bevæger sig afhængigt af det link, der klikkes på. Her har vi skrevet koden på en sådan måde, at robotten bevæger sig i en bestemt retning, mens du klikker og holder på linket, og så snart vi slipper museknappen, stopper robotten. Nedenfor er HTML-koden til websiden inklusive jQuery:
Her kan du se, at vi har integreret IP-adressen, som videoen streamer på, ind på websiden ved hjælp af img src- tag. Skift IP-adresse i henhold til din Raspberry Pi, men hold porten den samme.
Brugeren skal kopiere og indsætte ovennævnte HTML-kode i en eller anden teksteditor (notesblok) og gemme filen med.HTML-udvidelse (robot.html). Sæt derefter denne HTML-fil i mappen / templates med hensyn til din python-scriptplacering. Betyder, at du er nødt til at oprette en mappe, der hedder skabeloner, hvor du har lagt din Python Code-fil til denne Raspberry Surveillance Robot, og derefter placere robot.html-filen i denne skabelonmappe. Dette trin er vigtigt, ellers fungerer vores projekt ikke. Du kan åbne filen robot.html direkte ved at dobbeltklikke på den for at se, hvordan dine kontrollinks ser ud. Tjek yderligere hele processen i demonstrationsvideo i slutningen. Når vi er færdige med programmeringen og alt, kan vi bare køre Python-koden i Raspberry Pi og åbne IP_address_of_your_Pi: 5010 i webbrowser (som
Du kan kontrollere IP-adressen på din Raspberry Pi ved hjælp af ifconfig- kommandoen:
ifconfig
Kredsløbsdiagram og opsætning:
Efter test af Live Video-feed og HTML-kode er vi nødt til at bygge en robot ved hjælp af håndlavede eller færdige robotchassis, hjul og møtrikbolte. Placer derefter Power bank over den for at tænde Raspberry pi, og placer derefter Raspberry Pi og webkamera over powerbanken, og fix opsætningen ved hjælp af cellobånd eller gummistrimler, tilslut USB-kameraet med Raspberry Pi.
I dette IoT-projekt behøver vi ikke lave mange forbindelser, vi behøver kun at forbinde nogle ledninger til motordriver IC L293D og DC-motorer. Forbindelser er vist i kredsløbsdiagrammet nedenfor. Her har vi brugt et PCB til almindelig brug til montering af L293D IC for at reducere pladsen, men du kan også bruge lille brødplade til at forbinde jævnstrømsmotorer med L293D.
Sådan betjenes:
Betjening og brug af denne overvågningsrobot er meget let. Opret en python-fil (.py-udvidelse), og kopier nedenstående kode ind i den, og gem den på din Raspberry Pi. Sæt derefter HTML-filen i skabelonmappen som forklaret ovenfor. Glem ikke at ændre IP-adressen i HTML-fil.
Kør derefter Python-koden ved at indtaste kommandoen nedenfor:
python navn_of_fil.py
Åbn derefter din Raspberry Pi IP-adresse med port 5010 som http://192.168.43.199:5010 (udskift igen IP-adressen med din adresse). Nu vil du se websiden med fire robotkontrollinks og live streaming video. Brugeren kan kontrollere robotten ved at klikke og holde på linkene. Hvis brugeren klikker og holder på linkene, bevæger robotten sig i henhold til det klikede link, og hvornår vil brugeren frigive linket, så stopper robotten automatisk.
Komplet Python-kode er angivet nedenfor, hvor vi har skrevet forskellige funktioner til at kontrollere robotten ved at klikke på linkene på websiden. Du kan let forstå dem, eller hvis du er nybegynder, så tjek vores tidligere Raspberry Pi-vejledninger. Besøg også vores robotafdeling for mere interessante og nemme at bygge robotter.