Sisukord:
- 1. samm: BOM
- 2. samm: põhikomponentide andmed
- 3. samm: KAABLITAMINE
- 4. samm: VAARIKA O.S. VALMISTAMINE
- Samm 5: KUIDAS KONTROLLIDA WIFI TANKIT NODE.JS JA WEBSOCKET.IO
- 6. toiming: VIDEO STREAMINGU VÕIMALUSE LISAMINE
- 7. samm: TANGIPROGRAMM
- Samm 8: KÄIVITA KONTROLLI LIIDES JA VOOGASTAMISE SERVER
Video: Vaarikapaak veebiliidese ja video voogesitusega: 8 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
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
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
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
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
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:
UK Ring Video Doorbell Pro töötab mehaanilise kellamänguga: 6 sammu (piltidega)
UK Ring Video Doorbell Pro töötab mehaanilise kellamänguga: *************************************** *************** Pange tähele, et see meetod töötab praegu ainult vahelduvvooluga. Värskendan, kui/kui leian lahenduse alalisvoolu kasutavate uksekellade jaoks Vahepeal, kui teil on alalisvool tarnida, vajate
Täielik Pythoni veebiliidese komplekt PhidgetSBC3 jaoks: 6 sammu
Täielik Pythoni veebiliidese komplekt PhidgetSBC3 jaoks: PhidgetSBC3 plaat on täisfunktsionaalne üheplaadiline arvuti, mis töötab Debain Linuxiga. See sarnaneb vaarika Pi -ga, kuid sellel on 8 analoogsensori sisendit ja 8 digitaalsisendit ning 8 digitaalset väljundit. See tarnitakse koos veebiserveri ja veebirakendusega, et
Ehitage oma Interneti-juhitav video voogesitusrobot Arduino ja Raspberry Pi abil: 15 sammu (piltidega)
Arduino ja Raspberry Pi abil saate luua oma Interneti-juhitava videovoo robot: olen @RedPhantom (teise nimega LiquidCrystalDisplay / Itay), 14-aastane Iisraeli õpilane, kes õpib Max Sheini kõrgkooli kõrgkoolis. Teen selle projekti kõigile õppimiseks ja jagamiseks! Võimalik, et olete mures
ESP8266 Automatiseerimine veebiliidese ja DDNS -iga: 8 sammu
ESP8266 automaatika veebiliidese ja DDNS -iga: tänases artiklis näitame automaatikat, mis võib olla elamu, kasutades funktsiooni DDNS (Dynamic Domain Name System). Saate aru, kuidas seadistada rakendus, mille paigutate ESP8266 -le NodeMCU -s. Samuti näeme, kuidas
RC auto juhtimine veebiliidese kaudu: 6 sammu (piltidega)
RC -auto juhtimine veebiliidese kaudu: Hei sõbrad, selles juhendis õpetan teid veebiliidese kaudu RC -autot valmistama. Me juhime seda juhtmevabalt oma serveri kaudu. Kasutades teile näidatavat meetodit, ei pea me kasutama RC -vastuvõtjat. Veebi hostimiseks