- Liikkeen asentaminen ja määrittäminen videon syötteen saamiseksi
- Pullon asennus Raspberry Pi -ohjelmassa robotin hallitsemiseksi verkkosivun kautta:
- HTML-koodi verkkosivulle:
- Valvontarobotti
- Piirikaavio ja asennus:
- Kuinka toimia:
Tässä DIY-istunnossa rakennamme verkko-ohjattua valvontarobottiautoa, jossa on vadelma pi ja verkkokamera. Tämä voi olla hyödyllinen ja edullinen tietoturva- ja vakoojatyökalu, jolla on monia konfiguroitavia vaihtoehtoja ja joka voidaan rakentaa muutamassa tunnissa. Tässä IoT-projektissa tämän robottiauton rakentamiseen käytämme pääasiassa Raspberry Pi: tä, USB-verkkokameraa ja kahta tasavirtamoottoria, joissa on robotti-runko.
Sen päälle on asennettu verkkokamera, jonka kautta saamme live-videosyötteen, ja mielenkiintoinen osa on, että voimme hallita ja siirtää tätä robottia verkkoselaimelta Internetin kautta. Koska sitä voidaan hallita verkkosivun avulla, se tarkoittaa, että sitä voidaan hallita myös mobiilisivulla. Rakensimme HTML-verkkosivun, jossa on Vasen, Oikea, Eteen, Taaksepäin-linkit, napsauttamalla sitä, voimme siirtää robottia mihin tahansa suuntaan. Tässä käytimme "Motion" -toimintoa suoran videosyötön saamiseksi USB-kamerasta ja "Flask" -toimintoa komentojen lähettämiseen verkkosivulta Raspberry Pi -ohjelmaan pythonrobotin siirtämiseksi, jotka on selitetty yksityiskohtaisesti tämän opetusohjelman seuraavassa osassa. Meillä on Raspbian Jessie -käyttöjärjestelmä asennettuna Raspberry Pi -levylle. Voit tarkistaa tämän artikkelin asentaaksesi Raspbian-käyttöjärjestelmän ja aloittamalla Raspberry Pi: n käytön.
Liikkeen asentaminen ja määrittäminen videon syötteen saamiseksi
Motion (Surveillance Software) on ilmainen, avoimen lähdekoodin liikeilmaisimen CCTV-ohjelmisto, joka on kehitetty Linuxille. Se tunnistaa liikkeen ja alkaa tallentaa videota siitä. Kun Raspberry Pi -laitteeseesi on asennettu 'Motion', voit muuttaa Raspberry Pi -kameran maagisesti turvakameraksi. Sitä käytetään live-videosyötteen tekemiseen, timelapse-videoiden tekemiseen ja tilannekuvien ottamiseen säännöllisin väliajoin. Se tallentaa ja tallentaa videon aina, kun se havaitsee liikettä tai häiriöitä näkymäalueella. Suoraa videotiedostoa voi katsella verkkoselaimessa syöttämällä Pi: n IP-osoitteen portin mukana.
Olemme luoneet yksityiskohtaisen opastuksen Liikkeen käytöstä Raspberry Pi: n ja USB-kameran kanssa, tässä selitämme lyhyesti sen asentamista Raspberry pi: lle Robotillemme lähettämään Live-videoiden suoratoistoa verkkosivulle.
Täällä sinun on suoritettava vain muutama komento, jotta saat ensimmäisen videosyötön verkon kautta. Ennen sitä tarkista, että Raspberry Pi on yhteydessä Internetiin joko LAN- tai Wi-Fi-yhteydellä, ja noudata sitten seuraavia ohjeita:
Vaihe 1: Suorita ensin seuraava komento Raspbian Pi: n päivittämiseksi Raspberry Pi: ssä:
sudo apt-get -päivitys
Vaihe 2: Asenna sitten Motion-kirjasto alla olevalla komennolla:
sudo apt-get install -liike
Vaihe 3: Aseta nyt Motion daemon -asetukseksi kyllä muokkaamalla tiedostoa: / etc / default / motion siten, että se on aina käynnissä. Muokkaa tätä tiedostoa 'nano' -editorilla 'sudo' -toiminnolla, kuten alla on annettu:
sudo nano / etc / default / motion
Tallenna sitten tiedosto painamalla 'CTRL + X', sitten 'Y' ja Enter.
Vaihe 4: Nyt meidän on määritettävä lupa kohdehakemistolle (/ var / lib / motion /), johon Motion tallentaa kaikki videotallenteet ja kuvatiedostot. Meidän on asetettava 'Motion' tämän hakemiston omistajaksi antamalla alla oleva komento:
sudo chown -liike: liike / var / lib / motion /
Tämä lupa on välttämätön, muuten saat virheilmoituksen tarkistaessasi Liikepalvelun tila.
Voit tarkistaa palvelun tilan käyttämällä tätä komentoa: sudo service motion status
Vaihe 5: Nyt olemme melkein valmiit, vain meidän on muutettava yksi kokoonpanovaihtoehto Motion-määritystiedostossa (/etc/motion/motion.conf ), joka on pois päältä stream_localhost. Meidän on kytkettävä tämä paikallisen isännän suoratoisto pois päältä, muuten emme voi käyttää videosyötettä verkossamme, ja siihen pääsee vain itse Vadelma Pi: ltä. Voit tehdä tämän muokkaamalla Motion Configuration -tiedostoa nano-editorilla ja sammuttamalla sen, kuten alla on esitetty:
sudo nano /etc/motion/motion.conf
Nyt olemme valmiit ja valmiit saamaan live-syötteemme Pi: hen liitetystä USB-verkkokamerasta. Käynnistä (tai käynnistä uudelleen) Motion-palvelu alla olevan komennon avulla ja avaa Raspberry Pi: n IP-osoite portilla 8081 selaimessasi (kuten 192.168.43.199:8081). Tässä projektissa olemme upottaneet tämän IP-osoitteen HTML-koodissamme img src -tagiin.
sudo /etc/init.d/motion käynnistetään uudelleen
Ja näet suoran syötteen verkkokamerastasi. Tässä olemme käyttäneet edullista USB-verkkokameraa, joka toimi sujuvasti Raspberry Pi: n kanssa, mutta voit käyttää edelleen laadukkaita kameroita parempaan resoluutioon. Kuten se näkyy selaimessa, voit käyttää mitä tahansa laitetta syötteen katseluun, joka tukee verkkoselainta, kuten mobiililaitetta, tablettia jne.
Yritä käynnistää Raspberry Pi uudelleen vianmääritysvaiheena tarvittaessa:
sudo uudelleenkäynnistä
Kyse on Motionin käytöstä valvontarobotillemme, sen lisäksi sillä on useita asetusvaihtoehtoja, joista olemme jo keskustelleet edellisessä opetusohjelmassa.
Huomaa: Jos olet Raspberry Pi -malli version 3 alapuolella, saatat tarvita Wi-Fi-sovittimen, jotta vadelma Pi voidaan yhdistää langattomasti reitittimeen.
Pullon asennus Raspberry Pi -ohjelmassa robotin hallitsemiseksi verkkosivun kautta:
Tässä olemme luoneet verkkopalvelimen pullolla, joka tarjoaa tavan lähettää komennot verkkosivulta Raspberry Pi: lle robotin ohjaamiseksi verkon kautta. Pullon avulla voimme suorittaa python-komentosarjamme verkkosivun kautta ja voimme lähettää ja vastaanottaa tietoja Raspberry Pi -palvelusta verkkoselaimeen ja päinvastoin. Pullo on Pythonin mikrokehys. Tämä työkalu on Unicode-pohjainen, ja siinä on sisäänrakennettu kehityspalvelin ja virheenkorjaus, integroitu yksikön testaustuki, suojattujen evästeiden tuki ja helppokäyttöisyys. Nämä asiat tekevät siitä hyödyllisen harrastajalle.
Asenna pullon tukipaketti Raspberry Pi: lle käyttämällä annettua komentoa:
$ pip asenna pullo
Sitten voimme käyttää pulloa tuomalla sen vain ohjelmaamme, kuten olemme tuoneet seuraavia pullopaketteja tähän projektiin:
pullosta tuonti Pullo pullosta tuonti Pullo, render_template, pyyntö
Voit oppia lisää ohjelmoinnista pullon avulla täältä, tarkista myös aiemmat projektimme, joissa olemme käyttäneet pulloa lähettämään viestin verkkosivulta Raspberry Pi: lle ja lähettämään painoarvon Raspberry Pi: lle Smart Containerissa.
HTML-koodi verkkosivulle:
Olemme luoneet verkkosivun, jossa käytetään HTML-kieltä ohjauslinkkien (vasen, oikea, eteenpäin, taaksepäin) näyttämiseksi, jotta robotti voidaan siirtää verkkoselaimesta. Olemme käyttäneet jQuery-komentosarjaa kutsuttaaksemme Python-ohjelmamme toimintoja. Python-koodissa on viisi toimintoa, joilla voidaan siirtää robotti vasemmalle, oikealle, eteenpäin, taaksepäin ja pysäyttää se. Täydellinen Python-koodi on annettu lopussa. Nämä toiminnot suoritetaan napsauttamalla verkkosivun Ohjauslinkkejä ja moottorit liikkuvat napsautettavan linkin mukaan. Tässä olemme kirjoittaneet koodin siten, että robotti liikkuu tiettyyn suuntaan samalla kun napsautat linkkiä ja pidät sitä alhaalla, ja heti kun vapautamme hiiren painikkeen, robotti pysähtyy. Alla on verkkosivun HTML-koodi, joka sisältää jQuery:
Täällä näet, että olemme upottaneet IP-osoitteen, josta video suoratoistetaan, verkkosivulle käyttämällä img src -tagia. Vaihda IP-osoite Raspberry Pi: n mukaan, mutta pidä portti samana.
Käyttäjän on kopioitava yllä oleva HTML-koodi johonkin tekstieditoriin (muistilehtiö) ja tallennettava tiedosto.HTML-laajennuksella (robot.html). Aseta sitten tämä HTML-tiedosto / templates-kansioon python-komentosarjan sijainnin mukaan. Tarkoittaa, että sinun on luotava kansio nimeltä templates, johon olet laittanut Python- kooditiedostosi tälle Vadelma-seurantarobotille ja sitten robot.html-tiedosto tähän mallikansioon. Tämä vaihe on tärkeä, muuten projektimme ei toimi. Voit avata robot.html-tiedoston suoraan kaksoisnapsauttamalla sitä nähdäksesi miltä ohjauslinkkisi näyttävät. Tarkista koko prosessi tarkemmin Esittelyvideossa lopussa. Kun olemme suorittaneet ohjelmoinnin ja kaikki, voimme vain suorittaa Python-koodin Raspberry Pi: ssä ja avata IP-osoitteen_omasi_Pi: 5010 verkkoselaimessa (kuten
Voit tarkistaa Raspberry Pi: n IP-osoitteen komennolla ifconfig :
ifconfig
Piirikaavio ja asennus:
Live Video -syötteen ja HTML-koodin testaamisen jälkeen meidän on rakennettava robotti käyttämällä käsintehtyjä tai valmiita robotin alustoja, pyöriä ja mutteripultteja. Aseta sitten virtapankki sen päälle Raspberry pi: n virran saamiseksi, aseta sitten Raspberry Pi ja verkkokamera virtapankin päälle ja korjaa asetukset sello-teipillä tai kuminauhoilla, liitä USB-kamera Raspberry Pi -laitteeseen.
Tässä IoT-projektissa meidän ei tarvitse tehdä monia yhteyksiä, meidän on vain liitettävä joitain johtoja moottoriohjaimen IC L293D- ja DC-moottoreille. Liitännät on esitetty alla olevassa piirikaaviossa. Tässä olemme käyttäneet yleiskäyttöistä piirilevyä L293D IC: n asentamiseen tilan pienentämiseksi, mutta voit käyttää myös pientä leipälevyä DC-moottoreiden liittämiseen L293D: n kanssa.
Kuinka toimia:
Tämän valvontarobotin käyttö ja käyttö on erittäin helppoa. Luo python-tiedosto (.py-laajennus) ja kopioi alla oleva koodi siihen ja tallenna se sitten Raspberry Pi -laitteellesi. Sitten laittaa HTML tiedosto malleja kansioon kuten edellä. Älä unohda muuttaa IP-osoitetta HTML-tiedostossa.
Suorita sitten Python-koodi kirjoittamalla alla oleva komento:
python name_of_file.py
Avaa sitten Raspberry Pi-IP-osoitteesi portilla 5010, kuten http://192.168.43.199:5010 (korvaa IP-osoite uudelleen osoitteellasi). Nyt näet verkkosivun, jossa on neljä robotin ohjauslinkkiä ja suoratoistovideo. Käyttäjä voi hallita robottia napsauttamalla linkkejä ja pitämällä niitä alhaalla. Jos käyttäjä napsauttaa linkkejä pitkään, robotti liikkuu napsautetun linkin mukaan ja milloin käyttäjä vapauttaa linkin, robotti pysähtyy automaattisesti.
Täydellinen Python-koodi on annettu alla, jossa olemme kirjoittaneet useita toimintoja robotin hallitsemiseksi napsauttamalla verkkosivun linkkejä. Voit ymmärtää ne helposti tai jos olet aloittelija, tarkista edelliset Vadelma Pi -oppaat. Vieraile myös robotiikkaosastollamme saadaksesi mielenkiintoisempia ja helpommin rakennettavia robotteja.