- Potrebni materijali
- Instaliranje Node.js na Raspberry Pi
- Trepćući LED pomoću Node.js
- Node.js LED Blink skripta i objašnjenje
- Kružni dijagram za treptanje LED-a pomoću Node.js
- Raspberry Pi
U prethodnim Vodičima za Raspberry Pi koristili smo mnogo različitih programskih jezika i softvera za kontrolu Raspberry Pi uključujući Python, ugrađeni C, tikvicu itd. Da bismo proširili horizont moćne ploče Raspberry Pi, danas ćemo koristiti vrlo popularno okruženje temeljeno na JavaScript (Node.js) za kontrolu Raspberry Pi GPIO-a lokalno i globalno postavljanjem kao web poslužitelja. U početku je Node.js razvijen za Google Chrome, no kasnije ga je Google otvorio.
U ovom ćemo uputstvu upravljati LED-om, povezanim na Raspberry Pi, pomoću dvije metode
- Prvo ćemo jednostavno napisati JavaScript kôd pomoću Node.js da trepne LED
- Drugom metodom stvorit ćemo HTML stranicu s dva gumba za uključivanje i isključivanje LED diode. Ova HTML web stranica bit će hostirana na Raspberry Pi i može se otvoriti u bilo kojem web pregledniku. Dakle, ovdje će Raspberry Pi djelovati kao web poslužitelj
Potrebni materijali
- Raspberry pi ploča s instaliranim Raspbianom
- LED
U ovom uputstvu koristim vanjski monitor pomoću HDMI kabela za povezivanje s Raspberry Pi. Ako nemate monitor, možete se koristiti SSH klijentom (Putty) ili VNC poslužiteljem za povezivanje s Raspberry pi pomoću prijenosnog računala ili računala. Ako naiđete na poteškoće, slijedite naš vodič za raspravljanje o Raspberry Pi.
Instaliranje Node.js na Raspberry Pi
Instalirat ćemo Node.js na našu ploču pomoću sljedećih naredbi.
Korak 1: - Prvo provjerite postoji li verzija vaše ploče maline pi pomoću ove naredbe.
uname -m
U mom slučaju, verzija je 7.
Korak 2: - Preuzmite instalacijski program kopiranjem ove veze u terminal. Ne zaboravite promijeniti verziju na donjem linku.
wget https://nodejs.org/dist/v4.6.1/node-v4.6.1-linux-armvl.tar.gz
Korak 3: - Izdvojite datoteke pomoću naredbe u nastavku
tar -xvf čvor-v4.6.1-linux-armvl.tar.gz
Korak 4: - Napokon, izvršite ove naredbe da biste važne datoteke dodali i u lokalne direktorije.
cd čvor-v4.3.1-linux-armvl sudo cp -R * / usr / local /
Node.js je sada instaliran u vaš Raspberry Pi. Provjerite verziju čvora za potvrdu pomoću ove naredbe.
čvor –verzija
Prije nego što krenemo u izradu Node.js poslužitelja, prvo ćemo vidjeti kako napisati skriptu koja će treptati LED pomoću node.js (npm onoff paket).
Trepćući LED pomoću Node.js
Za kontrolu GPIO-a na Raspberry Pi pomoću Node.js, koristit ćemo onoff modul.
Mi ćemo koristiti NPM upravitelj paketa za instalaciju onoff modul pomoću ispod naredbe
npm instalirati onoff
Sada ćemo napisati skriptu za treptanje led-a. Otvorite nano editor i naredbom dajte naziv datoteci
nano blink_led.js
Ako ste početnik u Node.js-u i njegovim paketima, možete potražiti dokumentaciju npm-a radi boljeg razumijevanja skripte.
Node.js LED Blink skripta i objašnjenje
Prvo deklarirajte varijable za led, kašnjenje i GPIO. Za povezivanje LED-a koristim Raspberry Pi GPIO 4.
var Gpio = require ('onoff'). Gpio; var LED = novi Gpio (4, 'out'); var blinkInterval = setInterval (blinkLED, 500);
Sada ćemo napraviti funkciju za pokretanje treptanja.
funkcija blinkLED () {if (LED.readSync () === 0) {LED.writeSync (1); // postavimo izlaz na 1, tj. uključimo led} else {LED.writeSync (0); // postavimo izlaz na 0 tj. isključimo led }}
Slično tome, napravite funkciju za zaustavljanje treptanja
funkcija endBlink () {clearInterval (blinkInterval); LED.writeSync (0); LED.unexport (); // Unexport GPIO za oslobađanje resursa} setTimeout (endBlink, 10000);
Kompletni Node.js kôd za trepćuću LED diodu je dat na kraju ovog vodiča. Dakle, kopirajte i zalijepite kod u datoteku led_blink.js , koju smo prethodno kreirali pomoću nano naredbe, spremite datoteku pomoću Ctrl + x, a zatim pritisnite Y i pritisnite enter.
Da biste pokrenuli skriptu, otvorite terminal i upišite donju naredbu:
čvor blink_led.js

Vidjet ćete da će LED treptati 10 sekundi, a nakon toga prestat će treptati. Provjerite kompletan rad u videu navedenom na kraju ovog vodiča.
Kružni dijagram za treptanje LED-a pomoću Node.js


Raspberry Pi
Sada, dođite do zanimljivog dijela, ovdje ćemo napraviti vlastiti web poslužitelj s kojeg možemo kontrolirati GPIO od Raspberry pi pomoću web stranice.
Za to prvo moramo napraviti HTML stranicu i napisati skriptu za izvršavanje pozadinskih zadataka, tj. Za kontrolu RPi GPIO.
Korak 1: - Napravite direktorij za pohranu svih datoteka na jednom mjestu.
mkdir nodejs_server
Korak 2: - Unutar mape nodejs_server napravite još jednu mapu za spremanje HTML datoteke.
cd nodejs_server mkdir prikazi
Korak 3: - Ako želite dodati slike na svoju html stranicu, trebali biste napraviti drugu mapu koja se zove javna unutar glavnog direktorija, tj. U mapi nodejs_server . U javnoj mapi napravite mapu sa slikama i spremite sve slike u ovu mapu.
Korak 4: - Sada ćemo napraviti HTML stranicu. Za to idite u direktorij pogleda i otvorite nano uređivač teksta s imenom datoteke index.ejs
U scenariju nema ništa otmjeno. To je samo HTML datoteka za stvaranje gumba za uključivanje i isključivanje.
Kopirajte donji HTML kôd u nano uređivač teksta i spremite ga.
Dobrodošli na Nodejs Server
Led status: <% = status%>Korak 5: - Sada moramo napisati JavaScript kôd. Koristimo node express framework za odgovor na http zahtjeve koje izvršava korisnik.
Možete slijediti vezu da biste saznali više o Node Expressu.
Otvorite terminal i otvorite nano editor teksta s nazivom datoteke index.js u mapi nodejs_server , zatim kopirajte i zalijepite donji kod Java skripte i ovu datoteku.
var express = require ('express'); var app = express (); var put = zahtijeva ('put'); var gpio = zahtijeva ('rpi-gpio'); gpio.setup (7, gpio.DIR_OUT); app.set ('view engine', 'ejs'); app.use (express.static (path.join (__ dirname, 'public'))); console.log (path.join (__ dirname, 'javni')); app.get ('/', funkcija (req, res) { res.render ('index', {status: "Pritisnite gumb"}); }); app.post ('/ led / on', function (req, res) { gpio.write (7, true, function (err) { if (greška) baciti pogrešku; console.log ('Written True to pin'); console.log (path.join (__ dirname, 'public')); return res.render ('index',{status: "Led je uključen"}); }); }); app.post ('/ led / off', function (req, res) { gpio.write (7, false, function (err) { if (greška) baciti pogrešku; console.log ('Napisano lažno prikvačiti'); console.log (path.join (__ dirname, 'public')); return res.render ('index', {status: "Led is Off"}); }); }); app.listen (3000, function () { console.log ('Poslužitelj pokrenut na priključku: 3000!') })
6. korak: - Unutar direktorija nodejs_server moramo izvršiti sljedeću naredbu da instaliramo biblioteke node.js
npm instalirati
7. korak: - Vaš je poslužitelj spreman za rad. Da biste pokrenuli lokalni poslužitelj, pokrenite sljedeću naredbu unutar direktorija nodejs_server
indeks čvora.js
u terminalu ćete vidjeti poruku da je vaš poslužitelj pokrenut na definiranom portu.

Korak 8: - Sada otvorite svoj preglednik i otvorite Raspberry Pi URL s brojem porta, tj. Raspberrypi: 3000
Provjerite jesu li vaši Raspberry Pi i prijenosno računalo u kojem otvarate preglednik povezani s istom mrežom.
U pregledniku ćete vidjeti sljedeću stranicu.

Sada, pritisnite LED na tipki za uključivanje LED i LED Off gumb za isključivanje LED.
