Sisukord:

Vaarikapaak veebiliidese ja video voogesitusega: 8 sammu (piltidega)
Vaarikapaak veebiliidese ja video voogesitusega: 8 sammu (piltidega)

Video: Vaarikapaak veebiliidese ja video voogesitusega: 8 sammu (piltidega)

Video: Vaarikapaak veebiliidese ja video voogesitusega: 8 sammu (piltidega)
Video: Uuringupunktide ja laboriproovide veebiliides 2024, November
Anonim
Vaarikapaak veebiliidese ja video voogesitusega
Vaarikapaak veebiliidese ja video voogesitusega

Me näeme, kuidas olen aru saanud väikesest WiFi -mahutist, mis on võimeline kaugjuhtimiseks veebis ja video voogesituseks.

See on mõeldud õpetuseks, mis nõuab põhiteadmisi elektroonilisest ja tarkvara programmeerimisest. Sel põhjusel olen valinud paagi šassii komplekti (selle asemel, et printida 3D -printeriga, võib olla hilisem versiooniuuendus) ja kokku 6 komponenti, sealhulgas patareid. Tarkvara poolel saate samm -sammult jälgida installiprotsessi ja programmeerimine on minimaalne, algteadmised Vaarika asjadest võivad aidata.

Hinnanguliselt olen töötanud 12 tundi paagist 0 töövalmis. Kõikide komponentide kogumaksumus 70 €.

1. samm: BOM

BOM
BOM
BOM
BOM
BOM
BOM
BOM
BOM

1 - DIY RC roboti šassii paak - 32 (€)

www.banggood.com/DIY-RC-Robot-Chassis-Tan…

1 - kahe kanaliga L298N alalisvoolumootori juhtplaat - 1, 39 (€)

www.banggood.com/Dual-Channel-L298N-DC-Mo…

1 - Raspberry Pi Zero W stardikomplekt - 26 (€)

amzn.eu/1ugAaMP

1 - 16 GB SD -kaart - 5, 50 (€)

www.gearbest.com/memory-cards/pp_337819.h…

1 - Raspberry Pi 5MP kaameramooduli veebikaamera mudelile Zero - 8 (€)

www.gearbest.com/raspberry-pi/pp_612249.h…

1 - Toitepank 5V

1 - 9v aku

Segatud leivaplaadi kaabli Duponti pistik

Hiir, klaviatuur, monitor või teler vaarika seadistamiseks (valikuline, lihtsalt lihtsamaks seadistamiseks)

2. samm: põhikomponentide andmed

Mootor

JGA25-370 DC reduktormootor

Sellel mootoril on D-kujuline väljundvõll.

Tehnilised andmed

· Tööpinge: vahemikus 6 V kuni 18 V

· Nimipinge: 12 V

· Vabakäigu kiirus 12 V juures: 399 p / min

· Vaba vool 12 V juures: 50 mA

· Seiskamisvool 12 V juures: 1200 mA

· Varisemismoment 12 V juures: 2,2 kg.cm

· Ülekandearv: 1:21

· Reduktori suurus: 19 mm

· Kaal: 84 g

Kahe kanaliga L298N alalisvoolumootori draiveriplaat

Kahe H-silla mootorijuht, saab juhtida kahte alalisvoolumootorit või 4-juhtmelist kahefaasilist samm-mootorit. Sisseehitatud TSD kaitseb mootori seiskumise eest.

Tehnilised andmed

· Mooduli toitepinge: DC 2V-10V

· Signaali sisendpinge: DC 1,8-7V

· Ühekordne töövool: 1,5A

· Tippvool kuni 2,5A

· Madal ootevool (alla 0,1 uA)

· Sisseehitatud ühine juhtimisahel, sisendklemm on vaba, mootor ei tööta

· Suurus: 24,7 x 21 x 7 mm

3. samm: KAABLITAMINE

Juhtmestik
Juhtmestik
Juhtmestik
Juhtmestik

See on viimane juhtmestik, kuid oodake, enne kui peame mõned installima

tarkvara ja see on hea mõte katsetada seda lihtsama juhtmestikuga, kui see on valmis ja tule siia tagasi.

Vajame kahte erinevat jõuallikat, ühte mootori jaoks ja ühte vaarika jaoks.

Mootori draiveri kahe kanaliga L298N alalisvoolumootori draiveriplaat (maksimaalne sisendpinge alalisvool 2V-10V) saab toite 9 V aku abil ja Raspberry Pi kasutab standardset 5 V USB-akut.

Mootorijuhi GND tihvt ühendatakse aku miinus ja Raspberry Pi (GND) külge. Raspberry Pi GPIO tihvtid on ühendatud mootoriga draiverina.

4. samm: VAARIKA O. S. VALMISTAMINE

See on Raspbiani operatsioonisüsteemi standardinstallatsioon

palju üksikasjalikke õpetusi veebis otsimiseks, põhimõtteliselt on sammud järgmised:

1. Laadige alla iso RASPBIAN STRETCH WATH DASKTOPiga aadressilt

2. Vormindage 16 GB SD -kaart, olen kasutanud SD -vormindajat

3. Põletage. IMG -fail, olen kasutanud Win32DiskImagerit

Nüüd on teie vaarikas käivitamiseks valmis, ühendage see USB -toiteallikaga (5V, 2A) ja valmistuge esmaseks käivitamiseks. Saate seda teha kahel viisil, kasutades väliseid seadmeid, nagu hiir, klaviatuur ja monitor, või oma arvutit ja Raspberry kaugühendust. Selle kohta on palju õpetusi, üks on:

Samm 5: KUIDAS KONTROLLIDA WIFI TANKIT NODE. JS JA WEBSOCKET. IO

KUIDAS HALIDA OMA WIFI TANKIT NODE. JS JA WEBSOCKET. IO
KUIDAS HALIDA OMA WIFI TANKIT NODE. JS JA WEBSOCKET. IO

Nüüd on meie Raspberry mikroarvuti värske installeerimine meie töö tegemiseks valmis, nii et … mida me kasutame tankile käskude väljastamiseks?

Python on väga hõlpsasti kasutatav keel, mida tavaliselt kasutatakse Rapsberry projekti liiva käitamiseks. Seda saab hõlpsasti kasutada ka Rapsberry sisend- ja väljundpistikutega (GPIO) suhtlemiseks

Kuid minu eesmärk oli ühendada oma tanki wi-fi mis tahes seadmest (arvuti, mobiiltelefon, tahvelarvuti …), kasutades tavalist veebibrauserit, ja voogesitada sellest ka videot. Niisiis, unustage Python praegu ja liigume edasi NODE. JS ja SOCKET. IO.

NODE.js

Node.js (https://github.com/nodejs/node/wiki) on avatud lähtekoodiga serveriraami töö, mis põhineb js -keelel. Kuna ma kasutan Raspberry Pi Zero (ARMv6 protsessorit), ei saa me kasutada automaatset installiprotsessi (mõeldud ARMv7 protsessorile) ja peame seda tegema käsitsi:

Laadige Nodejs alla kohalikult (olen kasutanud ARMv6 versiooni 7.7.2, teisi versioone vaadake siit

pi@vaarikas: ~ $ wget

nodejs.org/dist/v7.7.2/node-v7.7.2-linux-…

Kui olete valmis, ekstraheerige tihendatud fail:

pi@vaarikas: ~ $ tar -xzf node-v7.7.2-linux-armv6l.tar.gz

Kopeerige ja installige failid kausta /user /local

pi@vaarikas: ~ $ sudo cp -R node-v7.7.2-linux-armv6l/*/usr/local/

Lisage teele asukoht, kuhu me nodejs installime, muutke faili „.profile”:

pi@vaarikas: ~ $ nano ~/.profiil

Lisage faili lõppu järgmine rida, salvestage ja väljuge

PATH = $ PATH:/usr/local/bin

Eemaldage allalaaditud fail:.

pi@vaarikas: ~ $ rm ~/node-v7.7.2-linux-armv6l.tar.gz

pi@vaarikas: ~ $ rm -r ~/node-v7.7.2-linux-armv6l

Tippige järgmisi käske, et kontrollida nodejsi installimist:

pi@vaarikas: ~ $ node -v

pi@vaarikas: ~ $ npm -v

Vastuseks peaksite lugema v7.7.2 ja v4.1.2.

Kui kõik läks hästi, looge oma nodejs -failide majutamiseks uus kaust:

pi@vaarikas: ~ $ mkdir nodehome

Liigu uude kausta:

pi@vaarikas: ~ $ cd nodehome

Paigaldage lisamoodul, mis on vajalik GPIO haldamiseks kõige elementaarsemal viisil, sisse ja välja:

pi@vaarikas: ~ $ npm install onoff

Nüüd on aeg testida meie esimest projekti “Blink.js”, tulemuseks on … vilkuv LED

pi@vaarikas: ~ $ nano blink.js

Kleepige järgmine kood, salvestage ja väljuge:

var Gpio = nõuda ('onoff'). Gpio; // kaasata onoff

var LED = uus Gpio (3, 'väljas'); // kasuta GPIO 3

var blinkInterval = setInterval (blinkLED, 250);

// vilgub LED iga 250 ms tagant

function blinkLED () {// vilkuma hakkamise funktsioon

kui

(LED.readSync () === 0) {// kontrollige tihvti olekut, kui olek on 0 (või väljas)

LED.writeSync (1);

// määrake tihvti olek 1 (lülitage LED sisse)

} muud {

LED.writeSync (0);

// määrake tihvti olek 0 -le (lülitage LED välja)

}

}

function endBlink () {// vilkumise lõpetamise funktsioon

clearInterval (blinkInterval); // Lõpeta vilkumisintervallid

LED.writeSync (0); // Lülita LED välja

LED.unexport (); // GPIO eksportimine ressursside vabastamiseks

}

setTimeout (endBlink, 5000); // lõpetage vilkumine 5 sekundi pärast

Ühendage LED, takisti (200 oomi), nagu skeemil näidatud, ja käivitage projekt:

pi@vaarikas: ~ $ sõlm blink.js

Sõlm on valmis.

SOCKET. IO

WebSocket on arvutikommunikatsiooni protokoll, mis põhineb TCP -ühendusel ja pakub programmeerijat serveri ja kliendi loomiseks. Klient loob ühenduse serveriga ning saadab ja võtab vastu sõnumeid serverisse ja serverist. WebSocket'i rakendust Node.js jaoks nimetatakse Socket.io (https://socket.io/).

Paigaldage socket.io:

pi@vaarikas: ~ $ npm install socket.io --save

Liikuge nodejsis koju, loodud varem:

pi@vaarikas: ~ $ cd nodehome

Ja looge uus kaust "avalik":

pi@vaarikas: ~ $ mkdir avalik

Looge uus veebiserveri näidis, nimetage see „webserver.js”

pi@vaarikas: ~ $ nano veebiserver.js

Kleepige järgmine kood, salvestage ja väljuge:

var http = nõuda ('http'). createServer (käitleja); // nõuda http -serverit ja luua server funktsioonide käitlejaga ()

var fs = nõuda ('fs'); // nõua failisüsteemi moodulit

http.listen (8080); // kuula porti 8080

funktsiooni käitleja (req, res) {// serveri loomine

fs.readFile (_ dirname + '/public/index.html', function (viga, andmed) {// loe

fail index.html avalikus kaustas

kui (eks) {

res.writeHead (404, {'Content-Type': 'text/html'}); // kuvatakse tõrge 404

return res.end ( 404 Mitte

Leitud );

}

res.writeHead (200, {'Content-Type': 'text/html'}); // HTML -i kirjutamine

res.write (andmed); // andmete kirjutamine

saidilt index.html

return res.end ();

});

}

See veebiserver kuulab teie Raspberry porti 8080 ja pakub faili selle ühendavale veebikliendile. Nüüd peame looma midagi, mida oma klientidele majutada ja pakkuda: Liikuge kausta „avalik”: pi@vaarikas: ~ $ cd public

Looge uus html -fail "index.html":

pi@vaarikas: ~ $ nano index.html

Kleepige kood lisatud failist "HelloWorld.txt", salvestage ja väljuge.

Liikuge nodjs kausta "nodehome":

pi@vaarikas: ~ $ cd nodehome

Käivitage HTTP veebiserver:

pi@vaarikas: ~ $ node veebiserver.js

Avage veebisait brauseris, kasutades https:// Raspberry_IP: 8080/(asendage Raspberry_IP oma IP -ga)

6. toiming: VIDEO STREAMINGU VÕIMALUSE LISAMINE

Videovaatamise rakendamiseks vaarikas on kõige lihtsam viis

Siiani olen leidnud, et suurepärase jõudluse ja veebiliidesesse integreeritava aluseks on Miguel Mota projekt:

miguelmota.com/blog/raspberry-pi-camera-bo…

Aitäh Miguel! Tema ajaveebist leiate järgmised sammud:

Installige komponendid libjpeg8 ja cmake:

pi@vaarikas: ~ $ sudo apt-get install libjpeg8

pi@vaarikas: ~ $ sudo apt-get install libjpeg8-dev

pi@vaarikas: ~ $ sudo apt-get install cmake

Laadige alla raspicami pistikprogrammiga mjpg-streamer:

pi@vaarikas: ~ $ git kloon

github.com/jacksonliam/mjpg-streamer.git ~/mjpg-streamer

Muuda kataloogi:

pi@vaarikas: ~ $ cd ~/mjpg-streamer/mjpg-streamer-experimental

Koosta:

pi@vaarikas: ~ $ tee kõik puhtaks

Asenda vana mjpg-voogesitus:

pi@vaarikas: ~ $ sudo rm -rf /opt /-j.webp

pi@vaarikas: ~ $ sudo mv ~/mjpg-streamer/mjpg-streamer-experimental

/opt/mjpg-streamer

pi@vaarikas: ~ $ sudo rm -rf ~/mjpg -streamer

Looge uus fail „start_stream.sh”, kopeerige ja kleepige lisatud failist „start_stream.txt”.

Tehke see käivitatavaks (looge kestaskriptid):

pi@vaarikas: ~ $ chmod +x start_stream.sh

Käivitage voogesituse server:

pi@vaarikas: ~ $./start_stream.sh

Avage veebisait brauseris, kasutades https:// Raspberry_IP: 9000 (asendage Raspberry_IP oma IP -ga)

7. samm: TANGIPROGRAMM

Kõik on valmis, nüüd peame tanki juhtimiseks looma oma veebilehe (index.html) ja veebiserveri, et kuulata meie käske (webserver.js). Niisiis, lihtsalt asendage seni nähtud failid (vaid näited süsteemi testimiseks) lisatud veebiserver.txt ja index.txt failidega.

Samm 8: KÄIVITA KONTROLLI LIIDES JA VOOGASTAMISE SERVER

KÄIVITA KONTROLLI LIIDES JA VOOLITUSERV
KÄIVITA KONTROLLI LIIDES JA VOOLITUSERV

Teenuste käivitamiseks avage kaks terminaliakent ja käivitage need käsud:

sõlm nodehome/veebiserver.js

./nodehome/start_stream.sh

Avage veebisait brauseris, kasutades https:// Raspberry_IP: 8080 (asendage Raspberry_IP oma IP -ga)

Soovitan: