- Čo je Node.js?
- Súčasti sú povinné
- Schéma zapojenia
- Nastavenie rámca Node.js
- Inštaluje sa knižnica Johnny-Five
- Blikajúca LED s Arduino a Node.js
- Ovládanie jasu LED pomocou webového servera Arduino a Node.js
Videli sme množstvo príkladov blikania LED pomocou rôznych mikrokontrolérov a rôznych programovacích jazykov. Dnes budeme používať veľmi populárne rámec JavaScript Node.js ovládať LED pripojené k Arduino Uno. Node.js tiež použijeme na ovládanie jasu LED z webovej stránky pomocou Arduina. Pomocou niekoľkých vylepšení a pomocou ESP8266 sa to dá previesť na projekt IoT, kde je možné LED ovládať odkiaľkoľvek.
Čo je Node.js?
Tieto Node.js je široko používaný JavaScript báze rámec zabudovanej na Google Chrome JavaScript V8 a aplikovať v rozvojových I / O intenzívny webové aplikácie, ako na jedinú stránku aplikácií, streamovanie videa lokalít atď
Predtým sme vytvorili informatívny návod na tému Začíname s Node.js a Raspberry Pi na ovládanie LED. V tomto výučbe sa budeme riadiť podobným prístupom, tj LED sa bude ovládať pomocou dvoch metód, ako napríklad:
- Jednoduché blikanie LED napísaním kódu JavaScript v rámci Node.js.
- Ovládanie jasu LED pomocou rámca Node.js a webového rozhrania z ľubovoľného prehliadača: Arduino UNO bude fungovať ako webový server a webová stránka HTML bude hostená na počítači PC alebo notebooku.
Súčasti sú povinné
Hardvér:
- Rada Arduino UNO
- Led
- Rezistor
Softvér:
- Arduino IDE: Na nahrávanie náčrtu na dosku Arduino UNO.
- Firmata: Je to protokol na komunikáciu s rôznymi mikrokontrolérmi zo softvéru na počítači, smartfóne atď. Firmata firmvér je možné načítať do ľubovoľnej dosky mikrokontroléra (napríklad Arduino, Teensy) a je schopný hovoriť s akýmkoľvek prenosným počítačom, počítačom alebo smartfónom. Knižnica Firmata sa dodáva s Arduino IDE, takže nie je potrebné sťahovať odkiaľkoľvek. Urobili sme návod na ovládanie Arduina pomocou Raspberry Pi pomocou pyFirmata.
- Johnny-Five: Johnny-Five je platforma založená na JavaScripte Robotics a IoT, ktorá sa používa na písanie kódov v JavaScripte a slúži na vytvorenie mosta medzi doskami Arduino a počítačom. Johnny-Five boli testované s rôznymi doskami kompatibilnými s Arduino, ako sú Arduino UNO, NANO, Promini atď. V tomto výučbe je potrebné stiahnuť knižnicu Johnny-Five, aby ste mohli využívať všetky jej funkcie. Sprievodca inštaláciou bude vysvetlený neskôr v tomto návode.
Schéma zapojenia
Schéma zapojenia je veľmi základná, stačí ak pripojíme LED s Arduinom.Nastavenie rámca Node.js
Pred spustením programovania a vývoja je potrebné stiahnuť a nastaviť súbor Node.js. Pri sťahovaní prostredia Node.js postupujte podľa jednoduchých krokov.
Krok 1: - Stiahnite si súbor.exe súboru Node.js z jeho oficiálnych webových stránok.
Krok 2: - Spustite súbor.exe a postupujte podľa pokynov v inštalačnom programe.
Krok 3: - Reštartujte počítač tak, ako sa odporúča v dokumente Node.js, a tiež aby ste mohli využívať všetky funkcie súboru Node.js
Krok 4: - Ak chcete skontrolovať, či bol uzol nainštalovaný, otvorte príkazový riadok a zadajte príkaz Node –v
Krok 5: - Zobrazí sa verzia Node.js, čo znamená, že je Node.js nainštalovaný.
Inštaluje sa knižnica Johnny-Five
Teraz po stiahnutí súboru Node.js vytvorte v priečinkoch Dokumenty nový priečinok s názvom „LED_Control“, aby ste mali všetky súbory projektu na jednom mieste. Každý súbor projektu bude uložený v priečinku „ LED_Control “. Teraz si stiahnite knižnicu Johnny-Five v priečinku „ LED_Control “. Pri sťahovaní postupujte podľa krokov uvedených nižšie:
Krok 1: - Otvorte príkazový riadok
Krok 2: - Prejdite do priečinka „ LED_Control “ podľa nasledujúceho príkazu „ cd “.
Krok 3: - Spustite príkaz ' npm install johnny-five'
Krok 4: - Týmto sa nainštalujú všetky závislosti Johnny-Five.
Krok 5: - Nainštalujte si tiež potrebné knižnice použité v tomto výučbe na riadenie jasu LED. Používajú sa tu tri knižnice:
- express: obal servera
- socket.i o: knižnica WebSockets
- serialpor t: obal sériového portu
Krok 5: - Postupným spustením nasledujúcich príkazov nainštalujte tieto tri knižnice.
npm install express npm install socket.io npm install serialport
Ako už bolo povedané, projekt je rozdelený do dvoch častí:
- Po prvé, Arduino blikajúca LED s Node.js
- Po druhé, ovládanie jasu LED z webového rozhrania pomocou nástrojov Arduino a Node.js.
Blikajúca LED s Arduino a Node.js
Aby LED dióda blikala, musí byť Arduino nastavené na komunikáciu s počítačom.
Nastavenie Arduino UNO pre blikajúcu LED:
Ak chcete, aby Arduino UNO prijímalo príkazy z LED na laptop, je potrebné načítať firmvér Firmata do Arduino UNO. Ak chcete načítať firmvér Firmata, postupujte podľa týchto jednoduchých krokov:
- Pripojte Arduino UNO pomocou kábla USB
- Otvorte Arduino IDE a vyberte dosku Arduino UNO (ak používate inú dosku, potom vyberte príslušnú) v ponuke Nástroje.
- Vyberte príslušný port COM pripojeného Arduino UNO
- Teraz nájdite Firmata Sketch pomocou Menu -> Súbor -> Príklady -> Firmata -> StandardFirmata.
- Nahrajte náčrt „StandardFirmata“ tak, že prejdete do ponuky Súbor -> Nahrať.
Toto načíta Firmata Sketch do Arduino UNO a teraz je Arduino UNO pripravené prijať akýkoľvek príkaz z počítača.
Písanie programu Node.js pre blikajúcu LED:
Ak chcete napísať program Node.js, otvorte ľubovoľný textový editor (Poznámkový blok, Poznámkový blok ++ atď.) A vložte kód „blink_led“ priložený na konci tohto tutoriálu a uložte ho s príponou „.js“ tj (blink_led.js) v predtým vytvorenom priečinku „LED_Control“. Budeme diskutovať o dôležitých krokoch v súbore kódu blink_led.js.
Najskôr definujte Pin mikrokontroléra, kde je pripojená led. V tomto príklade je LED pripojená na pin 5 Arduino UNO. 'Var' v Node.js predstavuje deklaráciu premennej.
var led_pin = 5;
Je potrebné zahrnúť modul johnny-five a zvoliť dosku. Moduly v Node.js sú knižnice. K modulu bude mať prístup funkcia „ require () “.
var johnny_five = require ("johnny-five"); var arduino_board = nový johnny_five.Board ();
Príkaz console.log je podobný príkazu print a vypíše správu. A kolík LED je nastavený na výstupný režim a definované oneskorenie bliká.
console.log („LED začala blikať!“); var led = new johnny_five.Led (led_pin); led.blink (100);
Teraz spustite program podľa nasledujúcich pokynov:
- Otvorte príkazový riadok
- Vyhľadajte priečinok „LED_Control“ pomocou príkazu „cd“
- Spustite príkaz „Node led_blink.js“. Ak bude úspešne vykonané, zobrazí sa „LED začala blikať!“ ako je znázornené na obrázku nižšie .
- LED začne blikať v kolíku Arduino UNO Pin 5.
- A týmto je ukončená prvá časť nášho tutoriálu, tj Blikajúca LED s Node.js
Ovládanie jasu LED pomocou webového servera Arduino a Node.js
Podobne ako blikanie LED pomocou Node.js, aj táto časť bude mať niektoré časti, tj nastavenie Arduino UNO, nastavenie webového rozhrania a napísanie programu Node.js.
Nastavenie Arduino UNO na riadenie jasu LED:
Ak chcete nastaviť Arduino UNO, jednoducho nahrajte skicu „ arduino_control.ino “ na dosku Arduino UNO a je to. Týmto sa nastaví doska Arduino. Tu si môžete stiahnuť kompletný kód so súbormi HTML. Kód „ arduino_control.ino“ obsahuje nasledujúce dôležité kroky.
Prenosová rýchlosť je pôvodne nastavená na 9600.
Serial.begin (9600);
Sériový port vždy vyhľadáva prichádzajúci bajt a bajt sa zapisuje na pin 5, čo je pin PWM.
while (! Serial.available ()); analogWrite (5, Serial.read ());
To je všetko. Toto nastaví Arduino na zaistenie bajtu na PWM kolíku a zmení jas LED.
Nastavenie webového rozhrania:
Na kontrolu jasu LED diódy pomocou webového rozhrania je napísaný jeden malý kúsok kódu HTML, ktorý má rozhranie v Prehliadači. Ak chcete mať rozhranie, postupujte podľa jednoduchých krokov uvedených nižšie:
- Vytvorte nový priečinok s názvom „public“ vo vnútri predtým vytvoreného priečinka „LED_Control“.
- Teraz si stiahnite súbory „index.html“ a „style.css“ a oba súbory presuňte do „verejného“ priečinka vytvoreného v prvom kroku vyššie. Súbory si môžete stiahnuť odtiaľto.
Týmto sa na webovej stránke vytvorí posúvač na ovládanie jasu LED pomocou Node.js a Arduino.
Je zaujímavé naučiť sa ovládať LED z webovej stránky a možno to urobiť s iným mikrokontrolérom vytvorením webového servera a hostením webovej stránky na webovom serveri. Skontrolujte všetky projekty spojené s webovým serverom tu.
Písanie programu Node.js na riadenie jasu LED:
Ďalším krokom by bolo napísanie náčrtu „ jas_kontrola.js “ pomocou Node.js a vykonanie kódu. Vykonanie kódu bude trochu podobné ako pri blikaní LED s Node.js.
Ak chcete napísať program Node.js, otvorte ľubovoľný textový editor (Poznámkový blok, Poznámkový blok ++ atď.) A vložte kód „Bright_control“ pripojený na koniec tohto tutoriálu a uložte ho s príponou „.js“, tj. (Jas_control.js) v predtým vytvorenom priečinku „LED_Control“. Môžete si tiež stiahnuť kód tu.
Podobne ako v programe Blink Led Node.js, aj táto časť použije moduly (knižnicu). Zahrňte modul „express“, „http“ a „sériový port“.
var express = require ('express'); app = expres (); server = require ('http'). createServer (aplikácia); io = require ('socket.io'). listen (server); var SerialPort = require ("serialport") //. SerialPort
Teraz nastavte port COM a prenosovú rýchlosť. Upozorňujeme, že v systéme Windows to bude vždy COM s príponou čísla (COM6, COM4, COM24 atď.), Takže podľa znaku „/“ nastavte nižšie. Nastaviť aj buadrate.
var serialPort = nový SerialPort ("/ COM4", {baudRate: 9600});
Začnite server počúvať na porte 8080.
server.listen (8080);
Najprv nastavte jas na 0. Potom zaistite údaje jasu na IO pomocou modulu sockets, čo je modul websocket. Dáta budú prijímané webovým rozhraním pomocou protokolu socket.
io.sockets.on ('connection', function (socket) { socket.on ('led', function (data) { bright = data.value; var buf = new Buffer (1); buf.writeUInt8 (jas, 0); serialPort.write (buf);
Teraz emitujte hodnotu jasu LED získanú zo zásuvky na kolík LED.
io.sockets.emit ('led', {hodnota: jas}); }); socket.emit ('led', {hodnota: jas}); });
Teraz len na ladenie, na konci pridajte tlačené vyhlásenie. Console.log je vyhlásenie o tlači v Node.js.
console.log („Webový server spustený, prejdite vo svojom prehliadači na„ http: // localhost: 8080 “.));
Teraz spustite program podľa nasledujúcich krokov:
- Otvorte príkazový riadok
- Vyhľadajte priečinok „LED_Control“ pomocou príkazu „cd“
- Spustite príkaz „Node Bright_control.js“. Ak bude úspešne vykonaný, zobrazí sa správa „Webový server spustený, prejdite vo svojom prehliadači na„ http: // localhost: 8080 “.“ hneď pod príkazom .
- Teraz choďte do prehľadávača a do adresy URL zadajte „localhost: 8080“.
- Ak chcete zmeniť jas, posuňte posúvač z 0-255 hodnôt.
Kompletné kód a pracuje videá z oboch oddielov je priložená nižšie. Ak máte akékoľvek pochybnosti alebo návrhy, môžete nás kontaktovať prostredníctvom fóra alebo komentára uvedeného nižšie. Všetky súbory s kódom je možné tiež stiahnuť odtiaľto.