- „Motion“ diegimas ir konfigūravimas norint gauti vaizdo įrašą:
- „Raspberry Pi“ kolbos sąranka, skirta valdyti robotą per tinklalapį:
- Tinklalapio HTML kodas:
- Stebėjimo robotas
- Grandinės schema ir sąranka:
- Kaip veikti:
Šiame „pasidaryk pats“ užsiėmime mes statome internetinį valdomą stebėjimo robotą automobilį, kuriame naudojama aviečių pi ir internetinė kamera. Tai gali būti naudinga ir nebrangi saugos ir šnipinėjimo priemonė, turinti daug konfigūruojamų galimybių ir kurią galima sukurti per kelias valandas. Šiame „IoT“ projekte, kurdami šį robotą, daugiausia naudojame „ Raspberry Pi“, USB interneto kamerą ir du nuolatinės srovės variklius su „Robot“ važiuokle.
Jame yra sumontuota interneto kamera, per kurią gausime tiesioginį vaizdo srautą, o įdomi dalis yra ta, kad mes galime valdyti ir perkelti šį robotą iš interneto naršyklės per internetą. Kadangi tai galima valdyti naudojant tinklalapį, tai reiškia, kad jis taip pat gali būti valdomas naudojant tinklalapį „Mobile“. Sukūrėme HTML tinklalapį, kuriame yra kairės, dešinės, pirmyn, atgal nuorodos, spustelėjus robotą bet kuria kryptimi. Čia mes naudojome „Motion“, kad gautume tiesioginius vaizdo įrašus iš USB kameros, o „Flask“ - komandoms siųsti iš tinklalapio į „Raspberry Pi“, naudojant „python“.perkelti robotą, kurie yra išsamiai paaiškinti tolesnėje šios pamokos dalyje. „Raspberry Pi“ plokštėje turime įdiegtą „Raspbian Jessie“ OS. Galite patikrinti šį straipsnį, jei norite įdiegti „Raspbian“ OS ir pradėti naudoti „Raspberry Pi“.
„Motion“ diegimas ir konfigūravimas norint gauti vaizdo įrašą:
„Motion“ (stebėjimo programinė įranga) yra nemokama atvirojo kodo judesio detektoriaus vaizdo stebėjimo programinė įranga, sukurta „Linux“. Jis aptinka judesį ir pradeda įrašyti jo vaizdo įrašą. „Raspberry Pi“ įdiegę „Motion“, galite stebuklingai paversti „Raspberry Pi“ apsaugos kamera. Jis naudojamas norint gauti tiesioginį vaizdo įrašų kanalą, kurti laiko juostos vaizdo įrašus ir reguliariai fotografuoti momentines nuotraukas. Jis įrašo ir išsaugo vaizdo įrašą, kai tik aptinka judesį ar bet kokius trukdžius rodinio srityje. Tiesioginį vaizdo srautą galima žiūrėti žiniatinklio naršyklėje, kartu su uostu įvedant Pi IP adresą.
Mes sukūrėme išsamią instrukciją apie judesio naudojimą su „Raspberry Pi“ ir USB kamera, čia mes trumpai paaiškiname, kaip jis įdiegtas „Raspberry pi“, kad mūsų robotas galėtų siųsti tiesioginį vaizdo srautą į tinklalapį.
Čia turite paleisti tik keletą komandų, kad galėtumėte gauti pirmąjį vaizdo įrašą tinkle. Prieš tai tinkamai patikrinkite, ar „Raspberry Pi“ yra prijungtas prie interneto, naudojant LAN arba „Wi-Fi“, tada atlikite toliau nurodytus veiksmus:
1 žingsnis: Pirmiausia paleiskite žemiau esančią komandą, kad atnaujintumėte „Raspbian OS“ sistemoje „Raspberry Pi“:
sudo apt-get atnaujinimas
2 žingsnis: Tada įdiekite „Motion“ biblioteką naudodami žemiau esančią komandą:
sudo apt-get install judesys
3 žingsnis: Dabar nustatykite „Motion“ demoną taip, redaguodami failą: / etc / default / motion taip, kad jis visada veiktų. Redaguokite šį failą naudodami „nano“ redaktorių su „sudo“, kaip nurodyta toliau:
sudo nano / etc / default / motion
Tada išsaugokite failą paspausdami „CTRL + X“, tada „Y“ ir „Enter“.
4 žingsnis: Dabar turime nustatyti leidimą tiksliniam katalogui (/ var / lib / motion /), kuriame „Motion“ išsaugo visus vaizdo įrašus ir paveikslėlių failus. Turime nustatyti „Judėjimą“ kaip šio katalogo savininką, pateikdami žemiau esančią komandą:
sudo chown judėjimas: motion / var / lib / motion /
Šis leidimas būtinas, nes priešingu atveju gausite klaidą, kai patikrinsite „Motion service“ būseną.
Paslaugos būseną galite patikrinti naudodami šią komandą: „ sudo service motion status“
5 žingsnis: Dabar mes beveik baigėme, tik mums reikia pakeisti vieną sąrankos parinktį „Motion“ konfigūracijos faile (/etc/motion/motion.conf ), kuri yra išjungta stream_localhost. Turime išjungti šį vietinį prieglobos srautą, kitaip negalėsime pasiekti „Video“ srauto savo tinkle ir prie jo bus galima naudotis tik iš pačios „Raspberry Pi“. Norėdami tai padaryti, redaguokite „Motion Configuration“ failą naudodami „nano“ redaktorių ir išjunkite jį, kaip parodyta žemiau:
sudo nano /etc/motion/motion.conf
Dabar mes esame pasirengę gauti tiesioginį srautą iš USB tinklo kameros, prijungtos prie Pi. Tiesiog paleiskite (arba paleiskite iš naujo) „Motion“ paslaugą naudodami žemiau esančią komandą ir naršyklėje atidarykite „Raspberry Pi“ IP su 8081 prievadu (pvz., 192.168.43.199:8081). Šiame projekte mes įdėjome šį IP į savo HTML kodą img src žymoje.
sudo /etc/init.d/motion paleisti iš naujo
Ir pamatysite tiesioginį kanalą iš savo interneto kameros. Čia mes naudojome nebrangią USB žiniatinklio kamerą, kuri sklandžiai veikė su mūsų „Raspberry Pi“, tačiau geresnei raiškai galite toliau naudoti geros kokybės kamerą. Kaip jis bus rodomas naršyklėje, galite naudoti bet kurį įrenginį, kad galėtumėte žiūrėti kanalą, kuris palaiko žiniatinklio naršyklę, pvz., „Mobile“, planšetinį kompiuterį ir kt.
Jei reikia, pabandykite iš naujo paleisti „Raspberry Pi“ kaip trikčių šalinimo veiksmą:
sudo perkraukite
Viskas yra apie „ Motion“ naudojimą mūsų stebėjimo robotui, be to, jame yra keletas konfigūravimo parinkčių, kurias mes jau aptarėme ankstesnėje pamokoje.
Pastaba: jei naudojate „Raspberry Pi“ modelį, kurio versija yra žemesnė nei 3 versija, jums gali prireikti „Wi-Fi“ raktų, kad belaidžiu būdu prijungtumėte avietinę Pi prie maršrutizatoriaus.
„Raspberry Pi“ kolbos sąranka, skirta valdyti robotą per tinklalapį:
Čia mes sukūrėme žiniatinklio serverį naudodami „ Flask“, kuris suteikia galimybę nusiųsti komandas iš tinklalapio į „Raspberry Pi“, kad būtų galima valdyti robotą tinkle. Kolba leidžia mums paleisti savo python scenarijus per tinklalapį ir mes galime siųsti ir gauti duomenis iš „Raspberry Pi“ į interneto naršyklę ir atvirkščiai. Kolba yra „Python“ mikrorėmas. Šis įrankis yra „Unicode“ pagrįstas, turintis įmontuotą kūrimo serverį ir derintuvą, integruoto įrenginio testavimo palaikymą, saugių slapukų palaikymą ir paprastą naudojimąsi, todėl šie dalykai yra naudingi mėgėjams.
Įdiekite kolbos palaikymo paketą į „Raspberry Pi“ naudodami nurodytą komandą:
$ pip įdiegti kolbą
Tada mes galime naudoti kolbą tiesiog importuodami ją į savo programą, kaip ir mes importavome šiuos šio projekto kolbos paketus:
iš kolbos importo Kolba iš kolbos importo Kolba, render_template, užklausa
Čia galite sužinoti daugiau apie programavimą naudojant kolbą, taip pat patikrinkite ankstesnius mūsų projektus, kuriuose mes naudojome kolbą, norėdami išsiųsti pranešimą iš tinklalapio į „Raspberry Pi“ ir siųsti svorio vertę į „Raspberry Pi“ išmaniajame konteineryje.
Tinklalapio HTML kodas:
Sukūrėme tinklalapį, kuriame HTML kalba rodomos valdymo nuorodos (kairė, dešinė, pirmyn, atgal), kad galėtume perkelti robotą iš interneto naršyklės. „ PyQ“ programos funkcijoms iškviesti naudojome „ jQuery“ scenarijų. „Python“ kode yra penkios funkcijos, leidžiančios perkelti robotą kairėn, dešinėn, pirmyn, atgal ir jį sustabdyti. Pabaigoje pateiktas pilnas „Python“ kodas. Šios funkcijos bus vykdomos spustelėjus Valdymo saitai tinklalapyje, o varikliai judės priklausomai nuo spustelėtos nuorodos. Čia mes parašėme kodą taip, kad robotas judės tam tikra kryptimi spustelėdamas ir laikydamas nuorodą, ir kai tik atleisime pelės mygtuką, robotas sustos. Žemiau pateikiamas tinklalapio, įskaitant „jQuery“, HTML kodas:
Čia galite pamatyti, kaip mes įdėjome IP adresą, kuriame transliuojamas vaizdo įrašas, į tinklalapį naudodami žymą img src . Pakeiskite IP adresą pagal savo „Raspberry Pi“, bet palikite tą patį prievadą.
Vartotojas turi nukopijuoti aukščiau pateiktą HTML kodą į kurį nors teksto rengyklę (bloknotą) ir išsaugoti failą su plėtiniu.HTML (robot.html). Tada įdėkite šį HTML failą į / templates aplanką, atsižvelgdami į jūsų python scenarijaus vietą. Tai reiškia, kad turite sukurti aplanką, pavadintą šablonais, kuriame įdėjote savo „Python Code“ failą šiam „ Raspberry Surveillance Robot“, tada įdėkite robot.html failą į šį šablonų aplanką. Šis žingsnis yra svarbus, kitaip mūsų projektas neveiks. Galite tiesiogiai atidaryti failą robot.html dukart spustelėdami, kad pamatytumėte, kaip atrodys jūsų valdymo nuorodos. Toliau patikrinkite visą procesą demonstraciniame vaizdo įraše pabaigoje. Atlikę programavimą ir viską, galime tiesiog paleisti „Python“ kodą „Raspberry Pi“ ir interneto naršyklėje atidaryti „IP_address_of_your_Pi: 5010“ (pvz.,
Galite patikrinti „Raspberry Pi“ IP adresą naudodami komandą „ ifconfig“ :
ifconfig
Grandinės schema ir sąranka:
Išbandę „Live Video“ tiekimo kanalą ir HTML kodą, turime sukurti robotą, naudodami rankų darbo arba paruoštas roboto važiuokles, ratus ir veržles. Tada uždėkite maitinimo banką, kad galėtumėte maitinti „Raspberry pi“, tada įdėkite „Raspberry Pi“ ir žiniatinklio kamerą per maitinimo banką ir pataisykite sąranką naudodami „Cello“ juostą arba gumines juostas, prijunkite USB kamerą prie „Raspberry Pi“.
Šiame IoT projekte mums nereikia daryti daug jungčių, reikia tik prijungti keletą laidų, skirtų variklio tvarkyklės IC L293D ir nuolatinės srovės varikliams. Jungtys parodytos toliau pateiktoje grandinės schemoje. Čia mes naudojome bendrosios paskirties plokščią plokštę L293D IC montuoti, kad sumažintume erdvę, tačiau taip pat galite naudoti mažą duonos plokštę, kad galėtumėte prijungti nuolatinės srovės variklius su L293D.
Kaip veikti:
Šį stebėjimo robotą valdyti ir dirbti yra labai lengva. Sukurkite python failą (.py plėtinį) ir nukopijuokite žemiau esantį kodą, tada išsaugokite jį savo „Raspberry Pi“. Tada įdėkite HTML failą į šablonų aplanką, kaip paaiškinta aukščiau. Nepamirškite pakeisti IP adreso HTML faile.
Tada paleiskite „Python“ kodą įvesdami žemiau esančią komandą:
python name_of_file.py
Tada atidarykite „Raspberry Pi“ IP adresą naudodami 5010 prievadą, pvz., Http://192.168.43.199:5010 (vėl pakeiskite IP adresą savo adresu). Dabar pamatysite tinklalapį, kuriame yra keturios roboto valdymo nuorodos ir tiesioginis srautinis vaizdo įrašas. Vartotojas gali valdyti robotą spustelėdamas ir laikydamas nuorodas. Jei vartotojas spustelės ir palaikys nuorodas, robotas judės pagal spustelėtą nuorodą ir kada vartotojas atleis nuorodą, tada robotas automatiškai sustos.
Pilnas „ Python“ kodas pateikiamas žemiau, kur mes parašėme įvairias funkcijas, norėdami valdyti robotą spustelėdami tinklalapio nuorodas. Galite juos lengvai suprasti arba, jei esate pradedantysis, patikrinkite mūsų ankstesnes „Raspberry Pi“ pamokas. Taip pat apsilankykite mūsų robotikos skyriuje, kur rasite įdomesnių ir lengvai pastatomų robotų.