- Installere og konfigurere 'Motion' for å få videofeed:
- Kolbeoppsett i Raspberry Pi for å kontrollere robot via nettside:
- HTML-kode for nettside:
- Overvåkingsrobot
- Kretsdiagram og oppsett:
- Hvordan operere:
I denne DIY-økten bygger vi en nettstyrt overvåkingsrobotbil med bringebær-pi og et webkamera. Dette kan være et nyttig og billig sikkerhets- og spioneringsverktøy, som har mange konfigurerbare alternativer og kan bygges på få timer. I dette IoT-prosjektet bruker vi hovedsakelig Raspberry Pi, USB-webkamera og to DC-motorer med robotchassis for å bygge denne robotbilen.
Den har et webkamera montert over den, hvor vi får live videofeed, og den interessante delen her er at vi kan kontrollere og flytte denne roboten fra en nettleser over internett. Ettersom det kan kontrolleres ved hjelp av en webside, betyr det at det også kan kontrolleres ved hjelp av en webside i Mobile. Vi bygde en webside i HTML som har Venstre, Høyre, Fremover, Bakover lenker, ved å klikke på hvilken vi kan bevege roboten i alle retninger. Her brukte vi "Motion" for å få live videofeed fra USB-kamera og brukte "Flask" for å sende kommandoer fra nettsiden til Raspberry Pi ved hjelp av pythonå flytte roboten, som blir forklart i detalj i den påfølgende delen av denne opplæringen. Vi har Raspbian Jessie OS installert på vårt Raspberry Pi-kort. Du kan sjekke denne artikkelen for å installere Raspbian OS og komme i gang med Raspberry Pi.
Installere og konfigurere 'Motion' for å få videofeed:
Motion (Surveillance Software) er gratis CCTV-programvare med åpen kildekode-bevegelsesdetektor, utviklet for Linux. Den oppdager bevegelsen og begynner å spille inn video av den. Med 'Motion' installert i Raspberry Pi kan du magisk gjøre Raspberry Pi til et sikkerhetskamera. Den brukes til å få live videofeed, lage timelapse-videoer og ta stillbilder med jevne mellomrom. Den tar opp og lagrer videoen når den oppdager bevegelse eller forstyrrelser i visningsområdet. Live Video-feed kan sees i nettleseren ved å skrive inn IP-adressen til Pi sammen med porten.
Vi har laget en detaljert veiledning om bruk av bevegelse med Raspberry Pi og USB-kamera, her forklarer vi kort hvordan den installeres på Raspberry pi for at roboten vår skal sende live videostreaming til websiden.
Her trenger du bare å kjøre få kommandoer for å begynne å få din første videofeed over nettverket. Før det må du kontrollere at Raspberry Pi er koblet til internett, enten ved hjelp av LAN eller Wi-Fi, og følg deretter trinnene nedenfor:
Trinn 1: Kjør først kommandoen nedenfor for å oppdatere Raspbian OS på Raspberry Pi:
sudo apt-get oppdatering
Trinn 2: Installer deretter 'Motion' Library ved å bruke kommandoen nedenfor:
sudo apt-get installer bevegelse
Trinn 3: Sett nå bevegelsesdemonen til ja ved å redigere filen: / etc / standard / bevegelse slik at den alltid vil kjøre. Rediger denne filen ved å bruke 'nano' editor med 'sudo' som gitt nedenfor:
sudo nano / etc / standard / bevegelse
Lagre deretter filen ved å trykke 'CTRL + X', deretter 'Y' og Enter.
Trinn 4: Nå må vi sette tillatelsen til Target Directory (/ var / lib / motion /), der Motion lagrer alle videoopptakene og bildefilene. Vi må sette 'Motion' som eier av denne katalogen ved å utstede kommandoen nedenfor:
sudo chown bevegelse: bevegelse / var / lib / bevegelse /
Denne tillatelsen er nødvendig, ellers vil du få feil når du sjekker status for bevegelsestjeneste.
Du kan sjekke servicestatus ved å bruke denne kommandoen: sudo service motion status
Trinn 5: Nå er vi nesten ferdige, bare vi trenger å endre ett konfigurasjonsalternativ i bevegelseskonfigurasjonsfilen (/etc/motion/motion.conf ) som er stream_localhost av. Vi må slå av denne lokale vertstrømmingen, ellers vil vi ikke få tilgang til videofeeden på nettverket vårt, og det vil bare være tilgjengelig fra selve Raspberry Pi. For å gjøre det, rediger bevegelseskonfigurasjonsfilen med 'nano' editor og slå den av, som vist nedenfor:
sudo nano /etc/motion/motion.conf
Nå er vi ferdige og klare til å få vår live feed fra USB-webkameraet koblet til Pi. Bare start (eller start på nytt) bevegelsestjenesten ved hjelp av kommandoen nedenfor, og åpne Raspberry Pi's IP, med port 8081, i nettleseren din (som 192.168.43.199:8081). I dette prosjektet har vi lagt inn denne IP-en i HTML-koden vår i img src tag.
sudo /etc/init.d/motion starter på nytt
Og du vil se direktesendingen fra webkameraet ditt. Her har vi brukt et billig USB-webkamera som fungerte jevnt med Raspberry Pi, men du kan videre bruke et kamera av god kvalitet for bedre oppløsning. Som det vil vises i nettleseren, kan du bruke hvilken som helst enhet for å se strømmen, som støtter nettleser som mobil, nettbrett etc.
Prøv å starte Raspberry Pi på nytt som et feilsøkingstrinn når det er nødvendig:
sudo omstart
Dette handler om å bruke Motion for Surveillance Robot, bortsett fra det, den har flere konfigurasjonsalternativer som vi allerede har diskutert i vår forrige opplæring.
Merk: Hvis du er Raspberry Pi-modellen under versjon 3, kan det hende du trenger en Wi-Fi-dongle for å koble raspberry Pi trådløst til ruteren.
Kolbeoppsett i Raspberry Pi for å kontrollere robot via nettside:
Her har vi opprettet en webserver ved hjelp av Flask, som gir en måte å sende kommandoene fra nettsiden til Raspberry Pi for å kontrollere roboten over nettverket. Flask lar oss kjøre pythonskriptene våre via en webside, og vi kan sende og motta data fra Raspberry Pi til nettleseren og omvendt. Flask er et mikrorammer for Python. Dette verktøyet er basert på Unicode med innebygd utviklingsserver og feilsøking, integrert enhetstestestøtte, støtte for sikre informasjonskapsler og det er enkelt å bruke, disse tingene gjør det nyttig for hobbyisten.
Installer en kolbe-støttepakke i Raspberry Pi ved å bruke gitt kommando:
$ pip installer kolbe
Deretter kan vi bruke kolben ved å bare importere den i vårt program, som om vi har importert følgende pakker med kolbe for dette prosjektet:
fra kolbeimport Kolbe fra kolbeimport Kolbe, render_template, forespørsel
Du kan lære mer om programmering ved hjelp av Flask her, sjekk også våre tidligere prosjekter der vi har brukt Flask til å sende meldingen fra websiden til Raspberry Pi og sende vektverdi til Raspberry Pi i Smart Container.
HTML-kode for nettside:
Vi har opprettet en webside som bruker HTML-språk for å vise kontrolllenker (venstre, høyre, fremover, bakover) for å flytte roboten fra nettleseren. Vi har brukt jQuery-skript for å ringe til funksjonene i vårt Python-program. Det er fem funksjoner i Python-koden for å flytte roboten til venstre, høyre, fremover, bakover og for å stoppe den. Komplett Python-kode er gitt på slutten. Disse funksjonene vil bli utført ved å klikke på kontrollkoblingene på websiden, og motorene vil bevege seg avhengig av lenken du klikker på. Her har vi skrevet koden på en slik måte at roboten vil bevege seg i en bestemt retning mens du klikker og holder på lenken, og så snart vi slipper museknappen, vil roboten stoppe. Nedenfor er HTML-koden for websiden inkludert jQuery:
Her kan du se at vi har innebygd IP-adressen som videoen streamer på, inn på websiden ved å bruke img src- tag. Endre IP-adressen i henhold til din Raspberry Pi, men hold porten den samme.
Brukeren må kopiere og lime inn ovennevnte HTML-kode i et tekstredigeringsprogram (notisblokk) og lagre filen med.HTML-utvidelse (robot.html). Sett deretter denne HTML-filen i / templates-mappen med hensyn til plassering av python-skript. Betyr at du trenger å lage en mappe som heter maler, hvor du har lagt Python Code-filen for denne Raspberry Surveillance Robot, og deretter legger du robot.html-filen i denne malmappen. Dette trinnet er viktig, ellers vil ikke prosjektet vårt fungere. Du kan åpne robot.html-filen direkte ved å dobbeltklikke på den for å se hvordan kontrollkoblingene dine vil se ut. Se videre hele prosessen i demonstrasjonsvideo på slutten. Etter at vi er ferdig med programmeringen og alt, kan vi bare kjøre Python-koden i Raspberry Pi og åpne IP_address_of_your_Pi: 5010 i nettleseren (som
Du kan sjekke IP-adressen til Raspberry Pi ved å bruke ifconfig- kommandoen:
ifconfig
Kretsdiagram og oppsett:
Etter å ha testet Live Video-feed og HTML-kode, må vi bygge en robot ved å bruke håndlagde eller ferdige robotchassis, hjul og mutterbolter. Plasser deretter Power bank over den for å drive Raspberry pi, og plasser deretter Raspberry Pi og webkameraet over powerbanken og fikse oppsettet ved hjelp av cellobånd eller gummistrimler, koble USB-kameraet til Raspberry Pi.
I dette IoT-prosjektet trenger vi ikke gjøre mange tilkoblinger, vi trenger bare å koble til noen ledninger for Motor Driver IC L293D og DC Motors. Tilkoblinger er vist i kretsskjema nedenfor. Her har vi brukt en generell PCB for montering av L293D IC for å redusere plassen, men du kan også bruke lite brødbrett for å koble DC-motorer til L293D.
Hvordan operere:
Betjening og arbeid av denne overvåkingsroboten er veldig enkelt. Lag en python-fil (.py-utvidelse) og kopier koden nedenfor til den, og lagre den på Raspberry Pi. Deretter satte HTML-filen i malene mappen som forklart ovenfor. Ikke glem å endre IP-adressen i HTML-fil.
Kjør deretter Python-koden ved å angi kommandoen nedenfor:
python name_of_file.py
Åpne deretter Raspberry Pi IP-adressen din med port 5010 som http://192.168.43.199:5010 (erstatt igjen IP-adressen med adressen din). Nå vil du se websiden med fire robotkontrollkoblinger og live streamingvideo. Brukeren kan kontrollere roboten ved å klikke og holde på lenkene. Hvis brukeren vil klikke og holde på lenkene, vil roboten bevege seg i henhold til klikket på lenken, og når vil brukeren slippe lenken, vil roboten automatisk stoppe.
Fullstendig Python-kode er gitt nedenfor, hvor vi har skrevet forskjellige funksjoner for å kontrollere roboten ved å klikke på lenkene på websiden. Du kan forstå dem enkelt, eller hvis du er nybegynner, kan du sjekke våre tidligere Raspberry Pi-veiledninger. Besøk også Robotics-seksjonen for mer interessante og enkle å bygge roboter.