Tartalomjegyzék:
- 1. lépés: BOM
- 2. lépés: A fő összetevők adatai
- 3. lépés: BEKÖTÉS
- 4. lépés: A MÁRKA O.S. ELŐKÉSZÍTÉSE
- 5. lépés: HOGYAN KONTROLLÁLJUK WIFI -TÁROLÓUNKOT NODE.JS ÉS WEBSOCKET.IO
- 6. lépés: A VIDEO STREAMING KÉPESSÉG HOZZÁADÁSA
- 7. lépés: TANKPROGRAM
- 8. lépés: INDÍTSA EL A KEZELŐFELÜLETET ÉS A STREAMING SZERVERET
Videó: Málna tartály webes interfésszel és videó streameléssel: 8 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
Látni fogjuk, hogyan valósítottam meg egy kis WiFi -tartályt, amely képes a webes távvezérlésre és a videó streamelésre.
Ez oktatóanyag, amely alapvető ismereteket igényel az elektronikus és a szoftver programozásból. Ezért választottam egy tartály alváz készletet (3D nyomtató használatával történő nyomtatás helyett későbbi frissítés lehet) és összesen 6 komponenst, beleértve az elemeket is. A szoftveres oldalon lépésről lépésre követheti a telepítési folyamatot és a programozást minimális szinten tarthatja, a Raspberry dolgokkal kapcsolatos alapvető ismeretek segíthetnek.
12 órányi munkát becsültem 0 -tól üzemkész tankra. A teljes költség 70 € minden alkatrészre.
1. lépés: BOM
1 - DIY RC robot alváztartály - 32 (€)
www.banggood.com/DIY-RC-Robot-Chassis-Tan…
1 - Kétcsatornás L298N egyenáramú motorvezérlő kártya - 1, 39 (€)
www.banggood.com/Dual-Channel-L298N-DC-Mo…
1 - Raspberry Pi Zero W kezdő készlet - 26 (€)
amzn.eu/1ugAaMP
1 - 16 GB SD kártya - 5, 50 (€)
www.gearbest.com/memory-cards/pp_337819.h…
1 - Raspberry Pi 5MP kamera modul webkamera a Zero modellhez - 8 (€)
www.gearbest.com/raspberry-pi/pp_612249.h…
1 - Tápegység 5V
1 - 9 V -os akkumulátor
Vegyes Breadboard kábel Dupont csatlakozó
Egér, billentyűzet, monitor vagy TV a málna beállításához (opcionális, csak az első beállítás megkönnyítése érdekében)
2. lépés: A fő összetevők adatai
Motor
JGA25-370 DC hajtóműves motor
Ennek a motornak D alakú kimenő tengelye van.
Specifikációk
· Üzemi feszültség: 6 V és 18 V között
· Névleges feszültség: 12 V
· Szabadonfutási sebesség 12 V-nál: 399 RPM
· Szabadonfutó áram 12 V-nál: 50 mA
· Leállási áram 12V -nál: 1200 mA
· Elakadási nyomaték 12 V -nál: 2,2 kg.cm
· Áttétel: 1:21
· Reduktor mérete: 19 mm
· Súly: 84 g
Kétcsatornás L298N egyenáramú motor meghajtó panel
Kettős H-híd motor meghajtó, két egyenáramú motort vagy 4 vezetékes kétfázisú léptetőmotort hajthat. Beépített TSD, hogy megvédje a motor leállásától.
Specifikációk
· A modul tápfeszültsége: DC 2V-10V
· Jel bemeneti feszültség: DC 1,8-7V
· Egyetlen működő áram: 1,5A
· Csúcsáram 2,5A -ig
· Alacsony készenléti áram (kevesebb, mint 0,1uA)
· Beépített közös vezetési áramkör, a bemeneti csatlakozó üres, a motor nem hibásan működik
· Méret: 24,7 x 21 x 7 mm
3. lépés: BEKÖTÉS
Ez lesz a végső huzalozás, de VÁRJ, mielőtt telepítenünk kell néhányat
szoftvert, és jó ötlet egyszerűbb kábelezéssel tesztelni, ha készen áll, és térjen vissza ide.
Két különböző áramforrásra van szükségünk, az egyik a motorhoz, a másik a Málnához.
A motorvezérlő kétcsatornás L298N egyenáramú motorvezérlő kártya (max. DC 2V-10V bemeneti feszültség) a 9 V-os akkumulátor, a Raspberry Pi pedig a szabványos 5 V-os USB akkumulátort használja.
A motorvezérlő GND csapja az akkumulátor mínusz és a Raspberry Pi (GND) akkumulátorhoz lesz csatlakoztatva. A Raspberry Pi GPIO csapjai asztalként vannak csatlakoztatva a motor meghajtójához.
4. lépés: A MÁRKA O. S. ELŐKÉSZÍTÉSE
Ez a Raspbian operációs rendszer szabványos telepítése
sok részletes bemutató az interneten, alapvetően a lépések:
1. Töltse le a iso RASPBIAN STRETCH WITH DESKTOP címet a https://www.raspberrypi.org/downloads/raspbian/ webhelyről.
2. Formázzon egy 16 GB -os SD -kártyát, én SD formázót használtam
3. Írja be. IMG fájlt, Win32DiskImager -t használtam
Most a málna készen áll a rendszerindításra, csatlakoztassa azt egy USB áramforráshoz (5V, 2A), és készüljön fel az első rendszerindításra. Ezt kétféleképpen teheti meg: külső eszközök, például egér, billentyűzet és monitor használatával, vagy számítógépe és a Raspberry távoli kapcsolata segítségével. Sok oktatóanyag van erről, az egyik:
5. lépés: HOGYAN KONTROLLÁLJUK WIFI -TÁROLÓUNKOT NODE. JS ÉS WEBSOCKET. IO
Most a Raspberry mikro PC friss telepítése készen áll a munkánk elvégzésére, tehát… mit használunk parancsok kiadásához a tartályhoz?
A Python egy nagyon könnyen használható nyelv, amelyet általában használnak a Rapsberry projekt homokjának futtatásához.
De a célom az volt, hogy egy közös webböngésző segítségével bármilyen eszközről (PC-ről, mobiltelefonról, táblagépről …) csatlakoztassam tankom wi-fi-jét, és videót is streameljek belőle. Szóval, felejtsd el egyelőre a Python -t, és lépjünk tovább a NODE. JS és a SOCKET. IO -n.
NODE.js
A Node.js (https://github.com/nodejs/node/wiki) egy nyílt forráskódú szerverkeret, amely a js nyelvén alapul. Mivel Raspberry Pi Zero -t (ARMv6 CPU) használok, nem tudjuk használni az automatikus telepítési folyamatot (ARMv7 CPU -hoz szánt), és ezt manuálisan kell elvégeznünk:
Töltse le a Nodejs -t helyileg, (az ARMv6 7.7.2 verzióját használtam, a többi verziót itt találja:
pi@málna: ~ $ wget
nodejs.org/dist/v7.7.2/node-v7.7.2-linux-…
Ha kész, bontsa ki a tömörített fájlt:
pi@málna: ~ $ tar -xzf node-v7.7.2-linux-armv6l.tar.gz
Másolja és telepítse a fájlokat a /user /local mappába
pi@málna: ~ $ sudo cp -R node-v7.7.2-linux-armv6l/*/usr/local/
Adja hozzá a csomópont telepítési helyét az útvonalhoz, szerkessze a „.profile” fájlt:
pi@málna: ~ $ nano ~/.profile
Adja hozzá a következő sort a fájl végén, mentse és lépjen ki
PATH = $ PATH:/usr/local/bin
Távolítsa el a letöltött fájlt:.
pi@málna: ~ $ rm ~/node-v7.7.2-linux-armv6l.tar.gz
pi@málna: ~ $ rm -r ~/node-v7.7.2-linux-armv6l
Írja be a következő parancsokat a nodejs telepítésének ellenőrzéséhez:
pi@málna: ~ $ node -v
pi@málna: ~ $ npm -v
Válaszként olvassa el a 7.7.2. És a v4.1.2.
Ha minden jól ment, hozzon létre egy új mappát a nodejs fájlok tárolására:
pi@málna: ~ $ mkdir nodehome
Ugrás az új mappába:
pi@málna: ~ $ cd nodehome
Telepítse a GPIO legalapvetőbb kezeléséhez szükséges további modult, BE és KI:
pi@málna: ~ $ npm install onoff
Itt az ideje, hogy teszteljük első „Blink.js” projektünket, az eredmény… villogó LED
pi@málna: ~ $ nano blink.js
Illessze be a következő kódot, mentse és lépjen ki:
var Gpio = igényel ('ki'). Gpio; // bekapcsolás bekapcsolása
var LED = új Gpio (3, 'ki'); // GPIO 3 használata
var blinkInterval = setInterval (blinkLED, 250);
// 250 ms -onként villog a LED
function blinkLED () {// funkció a villogás megkezdéséhez
ha
(LED.readSync () === 0) {// ellenőrizze a tű állapotát, ha az állapot 0 (vagy kikapcsolt)
LED.writeSync (1);
// állítsa a pin állapotot 1 -re (kapcsolja be a LED -et)
} más {
LED.writeSync (0);
// állítsa a csap állapotát 0 -ra (kapcsolja ki a LED -et)
}
}
function endBlink () {// funkció a villogás leállítására
clearInterval (blinkInterval); // Állítsa le a pislogási időközöket
LED.writeSync (0); // Kapcsolja ki a LED -et
LED.unexport (); // A GPIO exportálása a szabad erőforrásokba
}
setTimeout (endBlink, 5000); // 5 másodperc múlva hagyja abba a villogást
Csatlakoztasson egy LED -et, egy ellenállást (200 ohm) a séma szerint, és futtassa a projektet:
pi@málna: ~ $ csomópont blink.js
A csomópont készen áll.
SOCKET. IO
A WebSocket egy számítógépes kommunikációs protokoll, amely TCP kapcsolaton alapul, és programozót biztosít szerver és ügyfél létrehozásához. Az ügyfél csatlakozik a szerverhez, és üzeneteket küld és fogad a szerverről és a szerverről. A Node.js WebSocket implementációjának neve Socket.io (https://socket.io/).
A socket.io telepítése:
pi@málna: ~ $ npm install socket.io --save
Mozgás a nodejs otthonába, korábban létrehozva:
pi@málna: ~ $ cd nodehome
És hozzon létre egy új „nyilvános” mappát:
pi@málna: ~ $ mkdir nyilvános
Hozzon létre új minta webszervert, hívja „webserver.js” -nek
pi@málna: ~ $ nano webszerver.js
Illessze be a következő kódot, mentse és lépjen ki:
var http = igényel ('http'). createServer (kezelő); // igényel http szervert, és hozzon létre szervert függvénykezelővel ()
var fs = igényel ('fs'); // fájlrendszer modul szükséges
http.listen (8080); // hallgassa meg a 8080 -as portot
függvénykezelő (req, res) {// szerver létrehozása
fs.readFile (_ dirname + '/public/index.html', function (err, data) {// olvas
fájl index.html nyilvános mappában
ha (téved) {
res.writeHead (404, {'Content-Type': 'text/html'}); // hiba esetén a 404 -es kijelző
return res.end ( 404 Nem
Megtalált );
}
res.writeHead (200, {'Content-Type': 'text/html'}); // HTML írása
res.write (adatok); // adatok írása
az index.html -ből
return res.end ();
});
}
Ez a webszerver figyelni fogja a Raspberry 8080 -as portját, és fájlokat szolgáltat az azt összekötő webes ügyfelekről. Most létre kell hoznunk valamit, amit vendégül láthatunk és biztosíthatunk ügyfeleinknek: Lépjen a „public” mappába: pi@málna: ~ $ cd public
Új „index.html” html fájl létrehozása:
pi@málna: ~ $ nano index.html
Illessze be a kódot a mellékelt "HelloWorld.txt" fájlból, mentse és lépjen ki.
Mozgás a nodejs mappában "nodehome":
pi@málna: ~ $ cd nodehome
Indítsa el a HTTP webszervert:
pi@málna: ~ $ node webserver.js
Nyissa meg a webhelyet egy böngészőben a https:// Raspberry_IP: 8080/segítségével (cserélje le a Raspberry_IP -t az IP -címére)
6. lépés: A VIDEO STREAMING KÉPESSÉG HOZZÁADÁSA
A videó streaming Raspberry -n való legegyszerűbb módja
Eddig azt találtam, hogy a nagy teljesítmény és a webes felületbe integrálható Miguel Mota projektje:
miguelmota.com/blog/raspberry-pi-camera-bo…
Köszi Miguel! A blogjában ezek a lépések:
Telepítse a libjpeg8 és a cmake összetevőket:
pi@málna: ~ $ sudo apt-get install libjpeg8
pi@málna: ~ $ sudo apt-get install libjpeg8-dev
pi@málna: ~ $ sudo apt-get install cmake
Letöltés mjpg-streamer raspicam beépülő modullal:
pi@málna: ~ $ git klón
github.com/jacksonliam/mjpg-streamer.git ~/mjpg-streamer
Könyvtár módosítása:
pi@málna: ~ $ cd ~/mjpg-streamer/mjpg-streamer-experimental
Fordítás:
pi@málna: ~ $ tisztítsa meg az összeset
A régi mjpg-streamer cseréje:
pi@málna: ~ $ sudo rm -rf /opt /-j.webp
pi@málna: ~ $ sudo mv ~/mjpg-streamer/mjpg-streamer-experimental
/opt/mjpg-streamer
pi@málna: ~ $ sudo rm -rf ~/mjpg -streamer
Hozzon létre egy új „start_stream.sh” fájlt, másolja ki és illessze be a csatolt „start_stream.txt” fájlból.
Tegye futtathatóvá (shell parancsfájlok létrehozása):
pi@málna: ~ $ chmod +x start_stream.sh
A Streaming szerver indítása:
pi@málna: ~ $./start_stream.sh
Nyissa meg a webhelyet egy böngészőben a https:// Raspberry_IP: 9000 használatával (cserélje le a Raspberry_IP -t az IP -címére)
7. lépés: TANKPROGRAM
Minden készen áll, most létre kell hoznunk a weboldalunkat a tartály vezérléséhez (index.html), és a webszerverünket, hogy meghallgassa a parancsainkat (webserver.js). Tehát csak cserélje le az eddig látott fájlokat (csak példák a rendszer tesztelésére) a mellékelt webserver.txt és index.txt fájlokra.
8. lépés: INDÍTSA EL A KEZELŐFELÜLETET ÉS A STREAMING SZERVERET
A szolgáltatások elindításához nyisson meg két terminál ablakot, és futtassa ezeket a parancsokat:
node nodehome/webserver.js
./nodehome/start_stream.sh
Nyissa meg a webhelyet egy böngészőben a https:// Raspberry_IP: 8080 használatával (cserélje le a Raspberry_IP -t az IP -címére)
Ajánlott:
Oktató a HMC5883L interfész Arduino interfésszel: 10 lépés (képekkel)
A HMC5883L interfész bemutatója Arduino-val: Leírás A HMC5883L egy háromtengelyes digitális iránytű, amelyet két általános célra használnak: egy mágneses anyag, például egy ferromágnes mágnesezésének mérésére, vagy az erősség és bizonyos esetekben az irány mérésére mágneses mező egy másodpercben
Mágneses intelligens zár titkos kopogással, infravörös érzékelővel és webes alkalmazással: 7 lépés (képekkel)
Mágneses intelligens zár titkos kopogással, infravörös érzékelővel és webes alkalmazással: Ha tetszik ez a projekt, kövessen engem az Instagramon és a YouTube -on. Ebben a projektben mágneses zárat fogok építeni az otthoni irodámhoz, amely megnyílik, ha tudja titkos kopogás. Ó… és lesz még néhány trükkje a hüvelyében is. Mágnes
ESP8266 Automatizálás webes interfésszel és DDNS -sel: 8 lépés
ESP8266 Automatizálás webes interfésszel és DDNS -sel: A mai cikkben egy olyan automatizálást mutatunk be, amely lehet lakossági, a DDNS (Dynamic Domain Name System) funkció használatával. Megérti, hogyan kell konfigurálni az ESP8266 -on, a NodeMCU -n elhelyezni kívánt alkalmazást. Továbbá meglátjuk, hogyan
RC autó vezérlése webes felületen keresztül: 6 lépés (képekkel)
RC autó vezérlése webes felületen keresztül: Hi barátok, Ebben az oktatható útmutatóban megtanítom Önt, hogy készítsen RC autót egy webes felületen keresztül. Vezeték nélkül irányítjuk saját szerverünkön keresztül. A bemutatott módszerrel nem kell RC vevőt használnunk. Az internet tárolásához
Olcsó webes termosztát: 12 lépés (képekkel)
Olcsó, internethez csatlakoztatott termosztát: Az intelligens termosztát az egyik első dolog, amely sok háztartásban megtalálta a tárgyak internetét. Megtanulhatják, mikor szereti a házat melegedni, és általában milyen szobahőmérsékletre van szükség. A jó dolog az, hogy ők is képesek