- Co je Node.js?
- Požadované komponenty
- Kruhový diagram
- Nastavení rámce Node.js
- Instalace knihovny Johnny-Five
- Blikající LED s Arduino a Node.js
- Ovládání jasu LED pomocí webového serveru Arduino a Node.js
Viděli jsme mnoho příkladů blikání LED pomocí různých mikrokontrolérů a různých programovacích jazyků. Dnes budeme používat velmi populární rámec JavaScript Node.js ovládat LED připojené k Arduino Uno. Node.js také použijeme k ovládání jasu LED z webové stránky pomocí Arduina. Pomocí několika vylepšení a pomocí ESP8266 to lze převést na projekt IoT, kde lze LED kontrolovat odkudkoli.
Co je Node.js?
Tyto Node.js je široce používán JavaScript bázi rámec zabudované na Google Chrome JavaScript V8 a aplikovat v rozvojových I / O intenzivní webové aplikace, jako na jedinou stránku aplikací, streamování videa lokalit atd
Dříve jsme provedli informativní výukový program Začínáme s Node.js a Raspberry Pi pro ovládání LED. V tomto tutoriálu se budeme řídit podobným přístupem, tj. LED bude ovládána pomocí dvou metod, jako například:
- Jednoduché LED blikání napsáním kódu JavaScript v rámci Node.js.
- Ovládání jasu LED pomocí rámce Node.js a webového rozhraní z libovolného prohlížeče: Arduino UNO bude fungovat jako webový server a webová stránka HTML bude hostována na PC nebo notebooku.
Požadované komponenty
Hardware:
- Deska Arduino UNO
- Vedený
- Rezistor
Software:
- Arduino IDE: Pro nahrávání náčrtu na Arduino UNO Board.
- Firmata: Jedná se o protokol pro komunikaci s různými mikrokontroléry ze softwaru v počítači, smartphonu atd. Firmata firmware lze načíst na libovolnou desku mikrokontroléru (jako Arduino, Teensy) a je schopen komunikovat s jakýmkoli notebookem, počítačem nebo smartphonem. Knihovna Firmata je dodávána s Arduino IDE, takže není třeba stahovat odkudkoli. Udělali jsme návod na ovládání Arduina pomocí Raspberry Pi pomocí pyFirmata.
- Johnny-Five: Johnny-Five je platforma založená na JavaScriptu a IoT, která se používá k psaní kódů v JavaScriptu a slouží k vytvoření mostu mezi deskami Arduino a počítačem. Johnny-Five byly testovány s řadou desek kompatibilních s Arduino, jako jsou Arduino UNO, NANO, Promini atd. V tomto výukovém programu je nutné stáhnout knihovnu Johnny-Five, abyste mohli využívat všechny její funkce. Instalační příručka bude vysvětlena dále v tomto výukovém programu.
Kruhový diagram
Schéma zapojení je velmi základní, stačí jen připojit LED k Arduinu.Nastavení rámce Node.js
Před spuštěním programování a vývoje je nutné stáhnout a nastavit Node.js. Pro stažení prostředí Node.js postupujte podle jednoduchých kroků.
Krok 1: - Stáhněte si soubor.exe souboru Node.js z jeho oficiálního webu.
Krok 2: - Spusťte soubor.exe a postupujte podle pokynů v instalačním programu.
Krok 3: - Restartujte počítač tak, jak je doporučeno v dokumentu Node.js, a také abyste mohli využívat všechny funkce Node.js
Krok 4: - Chcete - li zkontrolovat, zda byl uzel nainstalován, otevřete Příkazový řádek a zadejte Node –v
Krok 5: - Zobrazí se verze Node.js označující, že je Node.js nainstalován.
Instalace knihovny Johnny-Five
Nyní po stažení souboru Node.js vytvořte v Dokumentech novou složku s názvem „LED_Control“, aby byly všechny soubory projektu na jednom místě. Každý soubor projektu bude uložen ve složce „ LED_Control “. Nyní si stáhněte knihovnu Johnny-Five do složky „ LED_Control “. Při stahování postupujte podle následujících pokynů:
Krok 1: - Otevřete příkazový řádek
Krok 2: - Přejděte do složky „ LED_Control “ pomocí příkazu „ cd “.
Krok 3: - Spusťte příkaz ' npm install johnny-five'
Krok 4: - Tím se nainstalují všechny závislosti Johnny-Five.
Krok 5: - Nainstalujte si také nezbytné knihovny použité v tomto výukovém programu pro řízení jasu LED. Zde se používají tři knihovny:
- express: obálka serveru
- socket.i o: knihovna WebSockets
- serialpor t: Obálka sériového portu
Krok 5: - Spusťte níže uvedené příkazy jeden po druhém a nainstalujte tyto tři knihovny.
npm install express npm install socket.io npm install serialport
Jak již bylo řečeno, projekt je rozdělen do dvou částí:
- Za prvé, Arduino blikající LED s Node.js
- Zadruhé, ovládání jasu LED z webového rozhraní pomocí Arduino a Node.js.
Blikající LED s Arduino a Node.js
Aby LED dioda blikala, musí být Arduino nastaveno na komunikaci s počítačem.
Nastavení Arduino UNO pro blikající LED:
Aby bylo možné Arduino UNO přijímat příkazy z LED na Laptop, je třeba do firmwaru Arduino UNO načíst firmware Firmata. Chcete-li načíst Firmata Firmware, postupujte podle těchto jednoduchých kroků:
- Připojte Arduino UNO pomocí kabelu USB
- Otevřete Arduino IDE a vyberte Arduino UNO board (Pokud používáte jinou desku, vyberte příslušnou) z Tools.
- Vyberte příslušný port COM připojeného Arduino UNO
- Nyní najděte Firmata Sketch pomocí Nabídka -> Soubor -> Příklady -> Firmata -> StandardFirmata.
- Nahrajte náčrt „StandardFirmata“ v části Soubor -> Nahrát.
Tím se načte Firmata Sketch do Arduino UNO a nyní je Arduino UNO připraveno přijmout jakýkoli příkaz z počítače.
Psaní programu Node.js pro blikající LED:
Chcete-li napsat program Node.js, otevřete libovolný textový editor (Poznámkový blok, Poznámkový blok ++ atd.) A vložte kód „blink_led“ připojený na konci tohoto tutoriálu a uložte jej s příponou „.js“, tj. (Blink_led.js) ve složce „LED_Control“ vytvořené dříve. Budeme diskutovat o důležitých krocích v souboru kódu blink_led.js.
Nejprve definujte Pin mikrokontroléru, kde je připojena led. V tomto příkladu je LED připojena ke kolíku 5 Arduino UNO. 'Var' v Node.js představuje deklaraci proměnné.
var led_pin = 5;
Je třeba zahrnout modul johnny-five a vybrat desku. Moduly v Node.js jsou knihovny. Funkce ' require () ' vstoupí do modulu.
var johnny_five = require ("johnny-five"); var arduino_board = nový johnny_five.Board ();
Příkaz console.log je podobný příkazu print a vytiskne zprávu. A pin LED je nastaven na výstupní režim a definované zpoždění je dáno blikající LED.
console.log („LED začala blikat!“); var led = new johnny_five.Led (led_pin); led.blink (100);
Nyní pro spuštění programu postupujte podle následujících kroků:
- Otevřete příkazový řádek
- Vyhledejte složku „LED_Control“ pomocí příkazu „cd“
- Spusťte příkaz 'Node led_blink.js'. Pokud bude úspěšně provedeno, zobrazí se „LED začala blikat!“ jak je znázorněno na obrázku níže .
- LED začne blikat v Arduino UNO Pin 5.
- A tím je dokončena první část našeho tutoriálu, tj. Blikající LED s Node.js
Ovládání jasu LED pomocí webového serveru Arduino a Node.js
Podobně jako Blinking LED with Node.js, tato sekce bude mít také některé části, tj. Nastavení Arduino UNO, Nastavení webového rozhraní a Psaní programu Node.js.
Nastavení Arduino UNO pro ovládání jasu LED:
Chcete-li nastavit Arduino UNO, jednoduše nahrajte skicu „ arduino_control.ino “ na desku Arduino UNO a je to. Tím se nastaví deska Arduino. Zde si můžete stáhnout kompletní kód se soubory HTML. Kód „ arduino_control.ino“ zahrnuje následující důležité kroky.
Zpočátku je přenosová rychlost nastavena na 9600.
Serial.begin (9600);
Sériový port vždy hledá příchozí bajt a bajt se zapíše na pin 5, což je pin PWM.
while (! Serial.available ()); analogWrite (5, Serial.read ());
A je to. Tím nastavíte Arduino na blokování bajtu na pin PWM a změníte jas LED.
Nastavení webového rozhraní:
Pro ovládání jasu LED pomocí webového rozhraní je napsán jeden malý kousek HTML kódu, který má rozhraní v prohlížeči. Chcete-li mít rozhraní, postupujte podle následujících jednoduchých kroků:
- Vytvořte novou složku s názvem „public“ uvnitř dříve vytvořené složky „LED_Control“.
- Nyní si stáhněte soubory „index.html“ a „style.css“ a oba soubory přesuňte do „veřejné“ složky vytvořené v prvním kroku výše. Soubory lze stáhnout zde.
Tím se na webové stránce vytvoří posuvník pro ovládání jasu LED pomocí Node.js a Arduino.
Je zajímavé se naučit ovládat LED z webové stránky a lze to udělat s jiným mikrokontrolérem vytvořením webového serveru a hostováním webové stránky na webovém serveru. Zkontrolujte všechny projekty související s webovým serverem zde.
Psaní programu Node.js pro ovládání jasu LED:
Dalším krokem by bylo napsání skici „ jas_kontrola.js “ pomocí Node.js a provedení kódu. Provedení kódu bude trochu podobné Blinking an LED s Node.js.
Chcete-li napsat program Node.js otevřít libovolný textový editor (Poznámkový blok Notepad ++, atd) a vložte ‚brightness_control“ kód připojený na konci tohoto výukového programu a uložte jej s příponou ‘JS ie (brightness_control.js) ve složce „LED_Control“ vytvořené dříve. Kód si můžete také stáhnout zde.
Podobně jako program Blink Led Node.js bude i tato část používat moduly (knihovna). Zahrňte modul „express“, „http“ a „sériový port“.
var express = require ('express'); app = express (); server = require ('http'). createServer (aplikace); io = require ('socket.io'). listen (server); var SerialPort = require ("serialport") //. SerialPort
Nyní nastavte port COM a přenosovou rychlost. Všimněte si, že v systému Windows to bude vždy COM s příponou number (COM6, COM4, COM24 atd.), Takže po '/' nastavte níže podle potřeby. Také nastavit buadrate.
var serialPort = nový SerialPort ("/ COM4", {baudRate: 9600});
Začněte naslouchat serveru na portu 8080.
server.listen (8080);
Nejprve nastavte jas na 0. Poté zajistěte data jasu na IO pomocí modulu soketů, což je modul webové zásuvky. Data budou přijímána webovým rozhraním pomocí protokolu soketu.
io.sockets.on ('connection', function (socket) { socket.on ('led', function (data) { jasnost = data.value; var buf = nový Buffer (1); buf.writeUInt8 (jas, 0); serialPort.write (buf);
Nyní emitujte hodnotu jasu LED získanou ze zásuvky na kolík LED.
io.sockets.emit ('led', {hodnota: jas}); }); socket.emit ('led', {hodnota: jas}); });
Nyní k ladění přidejte na konci tiskové prohlášení. Console.log je prohlášení o tisku v Node.js.
console.log („Webový server spuštěn, přejděte ve svém prohlížeči na„ http: // localhost: 8080 “.));
Nyní spusťte program podle následujících kroků:
- Otevřete příkazový řádek
- Vyhledejte složku „LED_Control“ pomocí příkazu „cd“
- Spusťte příkaz 'Node Bright_control.js'. Pokud bude úspěšně provedeno, zobrazí se „Webový server spuštěn, přejděte ve svém prohlížeči na„ http: // localhost: 8080 “.“ těsně pod příkazem .
- Nyní přejděte do svého prohlížeče a do adresy URL zadejte „localhost: 8080“.
- Chcete-li změnit jas, jednoduše posuňte jezdec z hodnot 0-255.
Kompletní kód a pracuje videa z obou oddílů je přiložena níže. Máte-li jakékoli pochybnosti nebo návrhy, můžete nás kontaktovat prostřednictvím níže uvedeného fóra nebo komentáře. Všechny soubory kódu lze stáhnout také odtud.