- Što je Node.js?
- Komponente potrebne
- Kružni dijagram
- Postavljanje okvira Node.js
- Instaliranje knjižnice Johnny-Five
- Trepćuća LED dioda s Arduinom i Node.jsom
- Upravljanje svjetlinom LED-a pomoću web servera Arduino i Node.js
Vidjeli smo brojne primjere treptanja LED diode pomoću različitih mikrokontrolera i različitih programskih jezika. Danas ćemo koristiti vrlo popularni JavaScript okvir Node.js za kontrolu LED-a spojenog na Arduino Uno. Također ćemo koristiti Node.js za kontrolu svjetline LED-a s web stranice pomoću Arduina. Nekoliko podešavanja i upotreba ESP8266, to se može pretvoriti u IoT projekt gdje se LED može kontrolirati s bilo kojeg mjesta.
Što je Node.js?
U Node.js je naširoko koristi JavaScript-based okvir temelji se na Google Chrome JavaScript V8 motor i primijeniti u razvoju I / O intenzivne web aplikacije kao što su jedne stranice aplikacija, streaming video web stranice i sl
Prethodno smo napravili informativni vodič o tome kako započeti s Node.js-om i Raspberry Pi za kontrolu LED diode. U ovom uputstvu slijedit ćemo sličan pristup, tj. LED će se kontrolirati pomoću dvije metode kao što su:
- Jednostavno LED trepće pisanjem JavaScript koda u okvir Node.js.
- LED kontrola svjetline pomoću okvira Node.js i web sučelja iz bilo kojeg preglednika: Arduino UNO će djelovati kao web poslužitelj, a HTML web stranica bit će hostirana na računalu ili prijenosnom računalu.
Komponente potrebne
Hardver:
- Arduino UNO odbor
- Led
- Otpornik
Softver:
- Arduino IDE: za prijenos skice na Arduino UNO Board.
- Firmata: To je protokol za komunikaciju s različitim mikrokontrolerima od softvera na računalu, pametnom telefonu itd. Firmata firmware se može učitati u bilo koju ploču mikrokontrolera (poput Arduino, Teensy) i može razgovarati s bilo kojim prijenosnim računalom, računalom ili pametnim telefonom. Knjižnica Firmata dolazi s Arduino IDE-om, tako da nema potrebe za preuzimanjem s bilo kojeg mjesta. Napravili smo tutorial o kontroli Arduina s Raspberry Pi pomoću pyFirmata.
- Johnny-Five: Johnny-Five je JavaScript zasnovana robotika i IoT platforma koja se koristi za pisanje kodova u JavaScript-u i koristi se za povezivanje Arduino ploča i računala. Johnny-Five testirani su na raznim pločama kompatibilnim s Arduino-om, kao što su Arduino UNO, NANO, Promini itd. U ovom vodiču biblioteka Johnny-Five mora se preuzeti kako bi se koristile sve njezine značajke. Vodič za instalaciju bit će objašnjen kasnije u ovom vodiču.
Kružni dijagram
Shema spoja je vrlo osnovna, samo trebamo povezati LED s Arduinom.
Postavljanje okvira Node.js
Prije početka kodiranja i razvoja potrebno je preuzeti i postaviti Node.js. Za preuzimanje okruženja Node.js slijedite jednostavne korake.
1. korak: - preuzmite.exe datoteku Node.js sa svog službenog web mjesta.
Korak 2: - Pokrenite.exe i slijedite dane upute u programu za instalaciju.

Korak 3: - Ponovo pokrenite računalo kako je preporučeno u dokumentu Node.js, a također i za korištenje svih značajki Node.js
Korak 4: - Da biste provjerili je li čvor instaliran, otvorite Command Prompt i upišite Node –v

Korak 5: - Prikazat će se verzija Node.js što znači da je Node.js instaliran.
Instaliranje knjižnice Johnny-Five
Nakon preuzimanja Node.js, stvorite novu mapu pod nazivom "LED_Control" u dokumentima kako biste sve projektne datoteke zadržali na jednom mjestu. Svaka datoteka projekta čuvat će se u mapi " LED_Control ". Sada preuzmite knjižnicu Johnny-Five u mapu " LED_Control ". Da biste preuzeli, slijedite korake u nastavku:
Korak 1: - Otvorite naredbeni redak
Korak 2: - Idite u mapu " LED_Control " slijedeći naredbu " cd ".
Korak 3: - Pokrenite naredbu ' npm install johnny-five'

4. korak: - Ovo će instalirati sve ovisnosti Johnny-Five-a.
Korak 5: - Također instalirajte potrebne knjižnice korištene u ovom vodiču za kontrolu svjetline LED-a. Ovdje se koriste tri knjižnice:
- express: omot HTTP poslužitelja
- socket.i o: biblioteka WebSockets
- serialpor t: Omotač serijskog porta
Korak 5: - Izvedite naredbe dolje jednu po jednu da biste instalirali ove tri knjižnice.
npm install express npm install socket.io npm install serialport



Kao što je ranije rečeno, projekt je podijeljen u dva dijela:
- Prvo, Arduino trepćuća LED sa Node.js
- Drugo, upravljanje svjetlinom LED-a s web sučelja pomoću Arduina i Node.js.
Trepćuća LED dioda s Arduinom i Node.jsom
Da bi trepnuo LED, Arduino mora biti postavljen za komunikaciju s računalom.
Postavljanje Arduina UNO za LED koji trepće:
Da bi Arduino UNO prihvatio naredbu s prijenosnog računala na kontrolnu LED, firmware Firmata mora se učitati u Arduino UNO. Da biste učitali firmware Firmata, slijedite ove jednostavne korake:
- Spojite Arduino UNO pomoću USB kabela
- Otvorite Arduino IDE i odaberite Arduino UNO ploču (Ako koristite drugu ploču, odaberite odgovarajuću) iz Alata.
- Odaberite odgovarajući COM port povezanog Arduino UNO-a
- Sada pronađite skicu Firmata koristeći Izbornik -> Datoteka -> Primjeri -> Firmata -> StandardFirmata.
- Prenesite skicu “StandardFirmata” tako što ćete otići na File -> Upload.
Ovo će učitati skicu Firmata na Arduino UNO i sada je Arduino UNO spreman prihvatiti bilo koju naredbu s računala.
Pisanje programa Node.js za LED koji trepće:
Da biste napisali program Node.js, otvorite bilo koji uređivač teksta (Notepad, Notepad ++, itd.) I zalijepite kod 'blink_led' priložen na kraju ovog vodiča i spremite ga s nastavkom '.js' tj. (Blink_led.js) u mapu “LED_Control” stvorenu prije. Razgovarat ćemo o važnim koracima u datoteci koda blink_led.js.
U početku definirajte pin mikrokontrolera na kojem je spojen led. U ovom primjeru, LED je spojen na pin 5 Arduino UNO. 'Var' u Node.js predstavlja deklaraciju varijable.
var led_pin = 5;
Treba uključiti modul johnny-pet i odabrati ploču. Moduli u Node.js su knjižnice. Funkcija ' require () ' pristupit će modulu.
var johnny_five = require ("johnny-five"); var arduino_board = novi johnny_five.Board ();
Console.log izjava je slična print izjave i to će ispisati poruku. A LED pin je postavljen na izlazni način rada i definirano kašnjenje daje se treptanju.
console.log ("LED je počeo treptati!"); var led = novi johnny_five.Led (led_pin); led.blink (100);
Sada za pokretanje programa slijedite korake u nastavku:
- Otvorite naredbeni redak
- Pronađite mapu “LED_Control” slijedeći naredbu 'cd'
- Pokrenite naredbu 'Node led_blink.js'. Ako se uspješno izvrši, prikazat će se "LED je počeo treptati!" kao što je prikazano na donjoj slici .

- LED će početi treptati na Arduino UNO Pinu 5.
- I ovim je završen prvi dio našeg vodiča, tj. Trepćuća LED dioda s Node.js
Upravljanje svjetlinom LED-a pomoću web servera Arduino i Node.js
Slično treptanju LED-a s Node.js, ovaj odjeljak također će imati neke dijelove, tj. Postavljanje Arduino UNO-a, postavljanje web sučelja i pisanje Node.js programa.
Postavljanje Arduina UNO za kontrolu svjetline LED-a:
Da biste postavili Arduino UNO, jednostavno prenesite skicu " arduino_control.ino " na ploču Arduino UNO i to je to. Ovo će postaviti Arduino Board. Kompletni kod s HTML datotekama možete preuzeti odavde. Kôd " arduino_control.ino" uključuje sljedeće važne korake.
U početku je brzina prijenosa postavljena na 9600.
Serial.begin (9600);
Serijski port uvijek traži dolazni bajt, a bajt se zapisuje na pin 5 koji je PWM pin.
while (! Serial.available ()); analogWrite (5, Serial.read ());
To je to. To će postaviti Arduino da prikvači bajt na PWM pin i promijenit će svjetlinu LED-a.
Postavljanje web sučelja:
Za kontrolu svjetline LED-a pomoću web sučelja napisan je jedan mali dio HTML koda koji ima sučelje u pregledniku. Da biste imali sučelje, slijedite jednostavne korake u nastavku:
- Stvorite novu mapu pod nazivom "javna" unutar mape "LED_Control" kreirane prije.

- Sada preuzmite datoteke "index.html" i "style.css" i premjestite obje datoteke u "javnu" mapu stvorenu u prvom koraku iznad. Datoteke možete preuzeti ovdje.

To će stvoriti klizač na web stranici za kontrolu svjetline LED-a pomoću Node.js i Arduino.

Upravljanje LED diodom s web stranice zanimljivo je naučiti, a to se može učiniti s drugim mikrokontrolerom stvaranjem web poslužitelja i hostiranjem web stranice na web poslužitelju. Ovdje provjerite sve projekte povezane s web poslužiteljem.
Pisanje programa Node.js za kontrolu svjetline LED-a:
Sljedeći bi korak bio pisanje skice “brightness_control.js” pomoću Node.js i izvršavanje koda. Izvršenje koda bit će pomalo slično treptanju LED diode s Node.js.
Da biste napisali program Node.js, otvorite bilo koji uređivač teksta (Notepad, Notepad ++, itd.) I zalijepite kod 'brightness_control' koji je priložen na kraju ovog vodiča i spremite ga s nastavkom '.js' tj. (Brightness_control.js) u mapu “LED_Control” stvorenu prije. Kod također možete preuzeti ovdje.
Slično programu Blink Led Node.js, i ovaj će se odjeljak koristiti modulima (knjižnicom). Uključite modul 'express', 'http' i 'serial port'.
var express = require ('express'); app = express (); poslužitelj = zahtijeva ('http'). createServer (aplikacija); io = require ('socket.io'). listen (server); var SerialPort = require ("serialport") //. SerialPort
Sada postavite COM priključak i baudrate. Imajte na umu da će u prozorima uvijek biti COM s proširenjem broja (COM6, COM4, COM24 itd.), Pa je postavljeno u nastavku prema '/'. Također postavite buadrate.
var serialPort = novi SerialPort ("/ COM4", {baudRate: 9600});
Počnite slušati poslužitelj na priključku 8080.
server.listen (8080);
U početku postavite svjetlinu na 0. Zatim podatke o svjetlini zakvačite za IO modulom utičnica, koji je modul web-utičnice. Podaci će se primati putem web sučelja koristeći socket protokol.
io.sockets.on ('connection', function (socket) { socket.on ('led', function (data) { brightness = data.value; var buf = new Buffer (1); buf.writeUInt8 (svjetlina, 0); serialPort.write (buf);
Sada emitirajte vrijednost svjetline LED-a dobivenu od utičnice do LED pina.
io.sockets.emit ('led', {vrijednost: svjetlina}); }); socket.emit ('led', {vrijednost: svjetlina}); });
Sada samo za otklanjanje pogrešaka, dodajte ispis za ispis na kraju. Console.log je izjava ispis u Node.js.
console.log ("Web poslužitelj pokrenut, idite na 'http: // localhost: 8080' u vašem pregledniku.");
Sada pokrenite program slijedeći korake u nastavku:
- Otvorite naredbeni redak
- Pronađite mapu “LED_Control” slijedeći naredbu 'cd'
- Pokrenite naredbu 'Node brightness_control.js'. Ako se uspješno izvrši, prikazat će se "Web Server Started idite na" http: // localhost: 8080 "u vašem pregledniku." odmah ispod naredbe .

- Sada idite na svoj preglednik i u url upišite "localhost: 8080".
- Da biste promijenili svjetlinu, samo pomaknite klizač od 0-255 vrijednosti.

Kompletan kod i radi videa oba odjeljka je priložen u nastavku. Ako imate bilo kakve sumnje ili prijedloge, možete nas kontaktirati putem foruma ili komentara u nastavku. Sve datoteke s kodom također možete preuzeti ovdje.
