- Szükséges anyagok
- A Node.js telepítése a Raspberry Pi-re
- LED villogása a Node.js használatával
- Node.js LED Blink parancsfájl és magyarázat
- Áramkör a LED villogásához a Node.js segítségével
- Raspberry Pi
Az előző Raspberry Pi oktatóprogramokban számos különféle programozási nyelvet és szoftvert használtunk a Raspberry Pi vezérléséhez, beleértve a Python-ot, a beágyazott C-t, a lombikot stb..js) a Raspberry Pi GPIO-k helyi és globális vezérléséhez webszerverként történő beállítással. Kezdetben a Node.js-t a Google Chrome számára fejlesztették ki, később azonban a Google nyílt forráskódú volt.
Ebben az oktatóanyagban egy Raspberry Pi-hez csatlakoztatott LED-et fogunk vezérelni két módszerrel
- Először egyszerűen a Node.js segítségével írunk egy JavaScript kódot a LED villogásához
- A második módszerben létrehozunk egy HTML oldalt két gombbal a LED be- és kikapcsolásához. Ez a HTML weboldal a málna pi-n lesz tárolva, és bármely webböngészőben megnyitható. Tehát itt Raspberry Pi fog webszerverként működni
Szükséges anyagok
- Raspberry pi tábla, benne Raspbian
- VEZETTE
Ebben az oktatóanyagban HDMI-kábellel rendelkező külső monitort használok a Raspberry Pi csatlakoztatásához. Ha nincs monitorja, akkor az SSH kliens (Putty) vagy a VNC szerver segítségével csatlakozhat a Raspberry pi számítógéphez laptop vagy számítógép segítségével. Ha bármilyen nehézséget talál, kövesse az Első pillantás a Raspberry Pi útmutatóval című cikkünket.
A Node.js telepítése a Raspberry Pi-re
A Node.js-t a következő parancsok segítségével telepítjük a táblánkra.
1. lépés: - Először ellenőrizze a málna pi tábla kar verzióját ezzel a paranccsal.
uname -m
Az én esetemben a verzió 7.
2. lépés: - Töltse le a telepítőt úgy, hogy átmásolja ezt a linket a terminálba. Ne felejtse el megváltoztatni a verziót az alábbi linken.
wget https://nodejs.org/dist/v4.6.1/node-v4.6.1-linux-armvl.tar.gz
3. lépés: - Csomagolja ki a fájlokat az alábbi paranccsal
tar -xvf csomópont-v4.6.1-linux-armvl.tar.gz
4. lépés: - Végül hajtsa végre ezeket a parancsokat a fontos fájlok hozzáadásához a helyi könyvtárakhoz is.
cd csomópont-v4.3.1-linux-armvl sudo cp -R * / usr / local /
A Node.js most telepítve van a Raspberry Pi-be. Ezzel a paranccsal ellenőrizze a csomópont verzióját.
csomópont –változat
Mielőtt Node.js szervert készítenénk, először meglátjuk, hogyan írhatunk egy szkriptet a LED villogására a node.js (npm onoff csomag) használatával.
LED villogása a Node.js használatával
A Raspberry Pi GPIO vezérléséhez a Node.js használatával az onoff modult fogjuk használni.
Az npm csomagkezelővel fogjuk használni az onoff modul telepítését az alábbi paranccsal
npm telepítés ki
Most írunk egy forgatókönyvet a led villogására. Nyissa meg a nano szerkesztőt, és adja meg a fájl nevét a paranccsal
nano blink_led.js
Ha kezdő vagy a Node.js és a csomagjai között, akkor a szkript jobb megértése érdekében átadhatod az npm dokumentációját.
Node.js LED Blink parancsfájl és magyarázat
Először deklarálja a led, delay és GPIO változókat. A LED csatlakoztatásához Raspberry Pi GPIO 4-et használok.
var Gpio = igényel ('onoff'). var LED = új Gpio (4, 'ki'); var blinkInterval = setInterval (blinkLED, 500);
Most elkészítünk egy funkciót a pislogás elindításához.
funkció blinkLED () {if (LED.readSync () === 0) {LED.writeSync (1); // állítsa a kimenetet 1-re, azaz kapcsolja be a led-et} else {LED.writeSync (0); // állítsa a kimenetet 0-ra, azaz kapcsolja ki a led-et }}
Hasonlóképpen készítsen egy funkciót a villogás leállításához
function endBlink () {clearInterval (blinkInterval); LED.writeSync (0); LED.unexport (); // A GPIO exportálása az erőforrások szabad mentéséhez} setTimeout (endBlink, 10000);
A Node.js teljes kódja a villogó LED-hez az oktatóanyag végén található. Másolja és illessze be a kódot a led_blink.js fájlba, amelyet korábban nano paranccsal hoztunk létre, mentse el a fájlt a Ctrl + x gombbal, majd nyomja meg az Y billentyűt és nyomja meg az Enter billentyűt.
A szkript futtatásához nyissa meg a terminált, és írja be az alábbi parancsot:
csomópont blink_led.js
Látni fogja, hogy a LED 10 másodpercig villog, és utána abbahagyja a villogást. Ellenőrizze a teljes munkát az oktatóanyag végén található videóban.
Áramkör a LED villogásához a Node.js segítségével
Raspberry Pi
Most jöjjön az érdekes rész, itt fogunk készíteni egy saját webszervert, amelyről egy weboldal segítségével vezérelhetjük a Raspberry pi GPIO-ját.
Ehhez először egy HTML oldalt kell készítenünk, és egy szkriptet kell írnunk a háttérfeladat végrehajtásához, azaz az RPi GPIO vezérléséhez.
1. lépés: - Készítsen egy könyvtárat az összes fájl egy helyen történő tárolásához.
mkdir nodejs_szerver
2. lépés: - A nodejs_server mappában hozzon létre még egy mappát a HTML fájl mentéséhez.
cd nodejs_server mkdir nézetek
3. lépés: - Ha képeket szeretne hozzáadni a html oldalához, akkor tegyen egy másik mappát nyilvánosnak a fő könyvtárba, azaz a nodejs_server mappába. A nyilvános mappában készítsen képmappát, és tárolja az összes képet ebben a mappában.
4. lépés: - Most elkészítjük a HTML oldalt. Ehhez lépjen a nézetek könyvtárba, és nyissa meg a nano szövegszerkesztőt az index.ejs fájlnévvel
Nincs semmi divatos a forgatókönyvben. Ez csak egy HTML fájl, amely lehetővé teszi a Be és Ki gombot.
Másolja be az alábbi HTML kód beillesztését a nano szövegszerkesztőbe és mentse el.
Üdvözli a Nodejs Server
Led állapot: <% = állapot%>5. lépés: - Most JavaScript-kódot kell írnunk. Csomópont expressz keretrendszert használunk a felhasználó által végrehajtott http kérések megválaszolására.
A linkre kattintva többet tudhat meg a Node Express szolgáltatásról.
Nyissa meg a terminált, és nyissa meg az index.js fájlnévvel ellátott nano szövegszerkesztőt a nodejs_server mappában, majd másolja és illessze be az alábbi java szkript kódot és ezt a fájlt.
var express = igényelni ('express'); var app = express (); var path = igényel ('path'); var gpio = igény ('rpi-gpio'); gpio.setup (7, gpio.DIR_OUT); app.set ('view engine', 'ejs'); app.use (express.static (path.join (__ dirname, 'public'))); console.log (elérési út.csatlakozás (__ dirname, 'public')); app.get ('/', function (req, res) { res.render ('index', {állapot: "Nyomja meg a gombot"}; }); app.post ('/ led / on', function (req, res) { gpio.write (7, true, function (err) { if ( tévedés) dobás tévedés ; console.log ('Írásbeli igaz pin-re'); console.log (path.join (__ dirname, 'public')); return res.render ('index',{állapot: "A LED be van kapcsolva"}); }); }); app.post ('/ led / off', function (req, res) { gpio.write (7, false, function (tévedés ) { if (tévedés) tévedés ; console.log ('Írásbeli hamis a kitűzéshez'); console.log (elérési út.csatlakozás (__ dirname, 'nyilvános')); return res.render ('index', {állapot: "A led ki van kapcsolva"}); }); }); app.listen (3000, function () { console.log ('A kiszolgáló a porton indult: 3000!') })
6. lépés: - A nodejs_server könyvtárban a következő parancsot kell végrehajtanunk a node.js könyvtárainak telepítéséhez
npm telepítés
7. lépés: - A szerver készen áll a működésre. A helyi kiszolgáló elindításához futtassa a következő parancsot a nodejs_server könyvtárban
csomópont index.js
a terminálon megjelenik egy üzenet, miszerint a kiszolgáló a megadott porton indul.
8. lépés: - Most nyissa meg a böngészőt, és nyissa meg a Raspberry Pi URL-t a portszámmal, azaz a raspberrypi: 3000-vel
Győződjön meg arról, hogy a málna pi és a laptop, amelyben megnyitja a böngészőt, ugyanahhoz a hálózathoz csatlakozik.
A következő oldalt fogja látni a böngészőben.
Most nyomja meg a LED On gombot a LED bekapcsolásához és a LED Off gombot a LED kikapcsolásához.