Sisällysluettelo:
- Vaihe 1: BOM
- Vaihe 2: Pääkomponenttien tiedot
- Vaihe 3: KYTKENTÄ
- Vaihe 4: KUNNAN VALMISTAMINEN O.S
- Vaihe 5: WIFI -SÄILYTIMEMME NODE.JS: N JA WEBSOCKETIN KANSSA
- Vaihe 6: VIDEOVIRTAUSKAPPALEEN LISÄÄMINEN
- Vaihe 7: SÄILIÖ -OHJELMA
- Vaihe 8: KÄYNNISTÄ OHJAUSLIITTYMÄ JA Suoratoistopalvelin
Video: Vadelma -säiliö web -käyttöliittymällä ja videon suoratoistolla: 8 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
Katsomme, kuinka olen ymmärtänyt pienen WiFi -säiliön, joka pystyy etäohjaamaan web -ohjausta ja videon suoratoistoa.
Tämä on tarkoitettu opetusohjelmaksi, joka vaatii perustiedot elektronisesta ja ohjelmistojen ohjelmoinnista. Tästä syystä olen valinnut säiliön kotelosarjan (sen sijaan, että tulostan sen 3D -tulostimella, se voi olla myöhempi päivitys) ja yhteensä 6 komponenttia, mukaan lukien paristot. Ohjelmistopuolella voit seurata askel askeleelta asennusprosessia ja ohjelmointi pidetään minimissä, perustiedot Raspberry -asioista voivat auttaa.
Olen arvioinut 12 tunnin työskentelyn nollasta käyttövalmiiseen säiliöön. Kaikkien komponenttien kokonaishinta 70 €.
Vaihe 1: BOM
1 - DIY RC Robot Chassis Tank - 32 (€)
www.banggood.com/DIY-RC-Robot-Chassis-Tan…
1 - Dual Channel L298N DC Motor Driver Driver Board - 1, 39 (€)
www.banggood.com/Dual-Channel-L298N-DC-Mo…
1 - Raspberry Pi Zero W Starter Kit - 26 (€)
amzn.eu/1ugAaMP
1-16 Gt SD -kortti - 5,50 (€)
www.gearbest.com/memory-cards/pp_337819.h…
1 - Raspberry Pi 5MP Camera Module Webcam for Model Zero - 8 (€)
www.gearbest.com/raspberry-pi/pp_612249.h…
1 - Virtapankki 5V
1-9v akku
Sekaleipälevyn kaapelin Dupont -liitin
Hiiri, näppäimistö, näyttö tai TV vadelma -asetuksia varten (valinnainen, vain helpottaaksesi ensimmäistä asennusta)
Vaihe 2: Pääkomponenttien tiedot
Moottori
JGA25-370 DC-vaihdemoottori
Tässä moottorissa on D-muotoinen lähtöakseli.
Tekniset tiedot
· Käyttöjännite: 6 V - 18 V
· Nimellisjännite: 12 V
· Vapaa ajonopeus 12 V: 399 rpm
· Vapaa virta 12 V: 50 mA
· Katkaisuvirta 12 V: 1200 mA
· Jäännösmomentti 12 V: 2,2 kg.cm
· Välityssuhde: 1:21
· Supistimen koko: 19 mm
· Paino: 84 g
Kaksikanavainen L298N DC -moottorin ohjainkortti
Kaksi H-sillan moottorinohjainta, voi käyttää kahta tasavirtamoottoria tai 4-johtimista kaksivaiheista askelmoottoria. Sisäänrakennettu TSD suojaa moottorin jumittumiselta.
Tekniset tiedot
· Moduulin syöttöjännite: DC 2V-10V
· Signaalin tulojännite: DC 1,8-7V
· Yksittäinen työvirta: 1,5 A.
· Huippuvirta enintään 2,5A
· Alhainen valmiustilavirta (alle 0,1 uA)
· Sisäänrakennettu yhteinen johtopiiri, tuloliitin tyhjä, moottori ei toimi
· Koko: 24,7 x 21 x 7 mm
Vaihe 3: KYTKENTÄ
Tämä on viimeinen johdotus, mutta odota, ennen kuin joudumme asentamaan joitain
ohjelmisto, ja on hyvä idea testata sitä yksinkertaisemmalla johdotuksella, kun se on valmis, palaa tänne.
Tarvitsemme kaksi erilaista virtalähdettä, toisen moottorille ja toisen Vadelmalle.
Moottorinohjaimen kaksikanavainen L298N DC-moottorin ohjainkortti (maks. Tulojännite DC 2V-10V) saa virtansa 9 V: n paristolla ja Raspberry Pi käyttää 5 V: n vakio-USB-akkua.
Moottorin ohjaimen GND -nasta liitetään akku miinus ja Raspberry Pi (GND). Raspberry Pi: n GPIO -nastat on kytketty moottorin ohjaimeen taulukon mukaisesti.
Vaihe 4: KUNNAN VALMISTAMINEN O. S
Tämä on Raspbian -käyttöjärjestelmän vakioasennus, löydät
paljon yksityiskohtaisia opetusohjelmia hakuja verkosta, periaatteessa vaiheet ovat:
1. Lataa iso RASPBIAN STRETCH WITH DESKTOP osoitteesta
2. Alusta 16 Gt: n SD -kortti, olen käyttänyt SD -muotoilua
3. Polta. IMG -tiedosto, olen käyttänyt Win32DiskImageria
Nyt vadelma on valmis käynnistymään, liitä se USB -virtalähteeseen (5 V, 2 A) ja valmistaudu ensimmäiseen käynnistykseen. Voit tehdä sen kahdella tavalla käyttämällä ulkoisia laitteita, kuten hiirtä, näppäimistöä ja näyttöä tai käyttämällä tietokonettasi ja etäyhteyttä Raspberryyn. Tästä on paljon opetusohjelmia, yksi on:
Vaihe 5: WIFI -SÄILYTIMEMME NODE. JS: N JA WEBSOCKETIN KANSSA
Nyt meillä on uusi Raspberry -mikro -PC -asennus valmiina suorittamaan työmme, joten… mitä käytämme antamaan komentoja säiliölle?
Python on erittäin helppokäyttöinen kieli, jota käytetään yleisesti Rapsberry -projektin hiekan suorittamiseen, ja sitä voidaan helposti käyttää myös vuorovaikutuksessa Rapsberry -tulo- ja tulostusnapojen (GPIO) kanssa
Tavoitteeni oli kuitenkin yhdistää tankin wi-fi mistä tahansa laitteesta (tietokone, matkapuhelin, tabletti …) käyttäen yleistä verkkoselainta ja myös suoratoistaa videota siitä. Joten, unohda Python toistaiseksi ja siirry eteenpäin NODE. JS: n ja SOCKET. IO: n kautta.
NODE.js
Node.js (https://github.com/nodejs/node/wiki) on js -kieleen perustuva avoimen lähdekoodin palvelinkehys. Koska käytän Raspberry Pi Zeroa (ARMv6 -suoritin), emme voi käyttää automaattista asennusprosessia (tarkoitettu ARMv7 -suorittimelle) ja meidän on tehtävä se manuaalisesti:
Lataa Nodejs paikallisesti (olen käyttänyt ARMv6: n 7.7.2 -versiota, tarkista muut versiot täältä
pi@vadelma: ~ $ wget
nodejs.org/dist/v7.7.2/node-v7.7.2-linux-…
Kun olet valmis, purkaa pakattu tiedosto:
pi@vadelma: ~ $ tar -xzf node-v7.7.2-linux-armv6l.tar.gz
Kopioi ja asenna tiedostot /user /local
pi@vadelma: ~ $ sudo cp -R node-v7.7.2-linux-armv6l/*/usr/local/
Lisää polku paikkaan, johon asennamme nodejs, muokkaa.profile -tiedostoa:
pi@vadelma: ~ $ nano ~/.profiili
Lisää seuraava rivi tiedoston loppuun, tallenna ja poistu
PATH = $ PATH:/usr/local/bin
Poista ladattu tiedosto:.
pi@vadelma: ~ $ rm ~/node-v7.7.2-linux-armv6l.tar.gz
pi@vadelma: ~ $ rm -r ~/node-v7.7.2-linux-armv6l
Kirjoita seuraavat komennot tarkistaaksesi nodejs -asennuksen:
pi@vadelma: ~ $ node -v
pi@vadelma: ~ $ npm -v
Sinun pitäisi lukea v7.7.2 ja v4.1.2 vastauksena.
Jos kaikki meni hyvin, luo uusi kansio nodejs -tiedostojesi isännöimiseksi:
pi@vadelma: ~ $ mkdir nodehome
Siirry uuteen kansioon:
pi@vadelma: ~ $ cd nodehome
Asenna lisämoduuli, jota tarvitaan GPIO: n hallintaan yksinkertaisimmalla tavalla, ON ja OFF:
pi@vadelma: ~ $ npm asentaa päälle
Nyt on aika testata ensimmäinen projektimme “Blink.js”, tuloksena on… vilkkuva LED
pi@vadelma: ~ $ nano blink.js
Liitä seuraava koodi, tallenna ja poistu:
var Gpio = vaatia ('onoff'). // sisällyttää päälle
var LED = uusi Gpio (3, 'out'); // käytä GPIO 3
var blinkInterval = setInterval (blinkLED, 250);
// vilkkuu LED 250 sekunnin välein
toiminto blinkLED () {// toiminto vilkkua
jos
(LED.readSync () === 0) {// tarkista nastan tila, jos tila on 0 (tai pois päältä)
LED.writeSync (1);
// aseta nastan tila 1 (kytke LED päälle)
} muuta {
LED.writeSync (0);
// aseta nastan tilaksi 0 (sammuta LED)
}
}
toiminto endBlink () {// lopettaa vilkkumisen
clearInterval (blinkInterval); // Lopeta välähdysvälit
LED.writeSync (0); // Sammuta LED
LED.unexport (); // Vie GPIO vapaaksi resursseiksi
}
setTimeout (endBlink, 5000); // lopeta vilkkuminen 5 sekunnin kuluttua
Kytke LED, vastus (200 ohmia) kaavion mukaisesti ja suorita projekti:
pi@vadelma: ~ $ solmu blink.js
Solmu on valmis.
SOCKET. IO
WebSocket on TCP -yhteyteen perustuva tietokoneviestintäprotokolla, joka tarjoaa ohjelmoijan palvelimen ja asiakkaan luomiseksi. Asiakas muodostaa yhteyden palvelimeen ja lähettää ja vastaanottaa viestejä palvelimelle ja palvelimelta. Node.js: n WebSocket -toteutuksen nimi on Socket.io (https://socket.io/).
Asenna socket.io:
pi@vadelma: ~ $ npm asenna socket.io --save
Siirry aiemmin luodun nodejs -kodin sisälle:
pi@vadelma: ~ $ cd nodehome
Ja luo uusi kansio "julkinen":
pi@vadelma: ~ $ mkdir public
Luo uusi näyteverkkopalvelin, kutsu sitä "webserver.js"
pi@vadelma: ~ $ nano -verkkopalvelin.js
Liitä seuraava koodi, tallenna ja poistu:
var http = vaatia ('http'). createServer (käsittelijä); // vaaditaan http -palvelin ja luodaan palvelin funktionkäsittelijällä ()
var fs = vaatia ('fs'); // vaativat tiedostojärjestelmämoduulin
http.listen (8080); // kuuntele porttia 8080
funktionkäsittelijä (req, res) {// luo palvelin
fs.readFile (_ dirname + '/public/index.html', function (err, data) {// luku
tiedosto index.html julkisessa kansiossa
jos (virhe) {
res.writeHead (404, {'Content-Type': 'text/html'}); // näytä virhe 404
return res.end ( 404 Ei
Löytyi );
}
res.writeHead (200, {'Content-Type': 'text/html'}); // kirjoittaa HTML
res.write (data); // kirjoittaa dataa
hakemistosta index.html
return res.end ();
});
}
Tämä verkkopalvelin kuuntelee Raspberry -porttiasi 8080 ja tarjoaa tiedostoja mille tahansa sitä yhdistävälle verkkosovellukselle. Nyt meidän on luotava jotain isännöidä ja tarjota asiakkaillemme: Siirry "julkiseen" kansioon: pi@vadelma: ~ $ cd public
Luo uusi html -tiedosto "index.html":
pi@vadelma: ~ $ nano index.html
Liitä koodi liitteenä olevasta "HelloWorld.txt" -tiedostosta, tallenna ja poistu.
Siirry nodejs -kansion "nodehome" sisälle:
pi@vadelma: ~ $ cd nodehome
Käynnistä HTTP -verkkopalvelin:
pi@vadelma: ~ $ node webserver.js
Avaa verkkosivusto selaimella käyttämällä https:// Raspberry_IP: 8080/(korvaa Raspberry_IP IP -osoitteellasi)
Vaihe 6: VIDEOVIRTAUSKAPPALEEN LISÄÄMINEN
Videoiden suoratoisto Raspberrylla on helpoin tapa eri tavoin
Tähän asti olen havainnut, että Miguel Mota -projektin perusta on suuri suorituskyky ja se voidaan integroida verkkokäyttöliittymään:
miguelmota.com/blog/raspberry-pi-camera-bo…
Kiitos Miguel! Hänen blogistaan ovat seuraavat vaiheet:
Asenna komponentit libjpeg8 ja cmake:
pi@vadelma: ~ $ sudo apt-get install libjpeg8
pi@vadelma: ~ $ sudo apt-get install libjpeg8-dev
pi@vadelma: ~ $ sudo apt-get install cmake
Lataa mjpg-streamer raspicam-laajennuksella:
pi@vadelma: ~ $ git -klooni
github.com/jacksonliam/mjpg-streamer.git ~/mjpg-streamer
Vaihda hakemisto:
pi@vadelma: ~ $ cd ~/mjpg-streamer/mjpg-streamer-experimental
Koota:
pi@vadelma: ~ $ puhdista kaikki
Korvaa vanha mjpg-streamer:
pi@vadelma: ~ $ sudo rm -rf /opt /-j.webp
pi@vadelma: ~ $ sudo mv ~/mjpg-streamer/mjpg-streamer-experimental
/opt/mjpg-streamer
pi@vadelma: ~ $ sudo rm -rf ~/mjpg -streamer
Luo uusi "start_stream.sh" -tiedosto, kopioi ja liitä liitteenä olevasta "start_stream.txt" -tiedostosta.
Tee siitä suoritettava (luo komentosarjoja):
pi@vadelma: ~ $ chmod +x start_stream.sh
Käynnistä suoratoistopalvelin:
pi@vadelma: ~ $./start_stream.sh
Avaa verkkosivusto selaimella käyttämällä https:// Raspberry_IP: 9000 (korvaa Raspberry_IP IP -osoitteellasi)
Vaihe 7: SÄILIÖ -OHJELMA
Kaikki on valmis, nyt meidän on luotava verkkosivumme säiliön hallintaan (index.html) ja verkkopalvelimemme kuuntelemaan komentojamme (webserver.js). Joten korvaa tähän asti nähneet tiedostot (vain esimerkkejä järjestelmän testaamisesta) liitteenä olevilla webserver.txt- ja index.txt -tiedostoilla.
Vaihe 8: KÄYNNISTÄ OHJAUSLIITTYMÄ JA Suoratoistopalvelin
Voit käynnistää palvelut avaamalla kaksi pääteikkunaa ja suorittamalla seuraavat komennot:
solmu nodehome/webserver.js
./nodehome/start_stream.sh
Avaa verkkosivusto selaimella käyttämällä https:// Raspberry_IP: 8080 (korvaa Raspberry_IP IP -osoitteellasi)
Suositeltava:
Rakenna Internet-ohjattu videon suoratoistorobotti Arduinon ja Raspberry Pi: n avulla: 15 vaihetta (kuvilla)
Rakenna Internet-ohjattu videostriimausrobotti Arduinon ja Raspberry Pi: n kanssa: Olen @RedPhantom (alias LiquidCrystalDisplay / Itay), 14-vuotias israelilainen opiskelija, joka opiskelee Max Shein Junior High School for Advanced Science and Mathematics -koulussa. Teen tämän projektin kaikkien opittavaksi ja jaettaviksi! Sinulla saattaa olla
Langaton ovikello - (Vadelma PI ja Amazon Dash): 4 vaihetta (kuvilla)
Langaton ovikello - (Vadelma PI ja Amazon Dash): Mitä se tekee? (katso video) Kun painiketta painetaan, Raspberry löytää uuden laitteen kirjautuvan langattomaan verkkoon. Tällä tavalla se tunnistaa painetun painikkeen ja välittää tämän tiedon matkapuhelimeesi (tai laitteeseesi)
Cocktail -kone, jossa on GUI -vadelma: 7 vaihetta (kuvilla)
Cocktail -kone, jossa on graafinen käyttöliittymä Vadelma: Pidätkö tekniikasta ja juhlista? Tämä projekti on tehty sinua varten! Tässä opetusohjelmassa luomme automaattisen cocktailkoneen, jossa on graafinen käyttöliittymä. Kaikki vadelman ohjaama! EDIT: Tein uuden helpommaksi ja halvemmaksi tästä linkistä
Raspberry Pi Wifi -ohjattu videon suoratoistorobotti: 8 vaihetta (kuvilla)
Raspberry Pi Wifi -ohjattu videon suoratoistorobotti: Oletko koskaan ajatellut rakentaa viileän robotin, jossa on kamera? No, tulit oikeaan paikkaan, näytän sinulle askel askeleelta kuinka tämä robotti rakennetaan. Tämän avulla voit mennä aaveiden metsästykseen yöllä hallitsemalla ja katsomalla videosyötettäsi
Jaetun näytön videon tekeminen neljällä vaiheella: 4 vaihetta (kuvilla)
Jaetun näytön videon tekeminen neljällä vaiheella: Näemme usein saman henkilön näyttävän kohtauksessa kahdesti TV -näytössä. Ja sikäli kuin tiedämme, näyttelijällä ei ole kaksoisveljeä. Olemme myös seuranneet, että kaksi lauluvideota laitetaan yhteen ruutuun vertaamaan heidän laulutaitojaan. Tämä on spl: n voima