- Mikä on Node.js?
- Tarvittavat komponentit
- Piirikaavio
- Node.js-kehyksen määrittäminen
- Asennetaan Johnny-Five-kirjasto
- Vilkkuva LED Arduinon ja Node.js: n kanssa
- LED-kirkkauden säätäminen Arduinon ja Node.js-verkkopalvelimen avulla
Olemme nähneet lukuisia esimerkkejä LED-merkkivalon vilkkumisesta käyttämällä erilaisia mikro-ohjaimia ja erilaisia ohjelmointikieliä. Tänään käytämme erittäin suosittua JavaScript-kehystä Node.js ohjaamaan Arduino Unoon kytkettyä LEDiä. Käytämme myös Node.js-ohjelmaa LED-valon kirkkauden säätämiseen verkkosivulta Arduinoa käyttämällä. Muutamalla muutoksella ja ESP8266: lla tämä voidaan muuntaa IoT-projektiksi, jossa LEDiä voidaan ohjata mistä tahansa.
Mikä on Node.js?
Node.js on laajalti käytetty JavaScript perustuva järjestelmä perustuu Google Chromen JavaScript V8 ja sovellettu kehittämisessä I / O-intensiivisten web-sovellusten, kuten yhden sivun sovelluksia, videoiden suoratoisto sivustoja jne
Olemme tehneet aiemmin informatiivisen opetusohjelman Node.js: n ja Raspberry Pi: n käytön aloittamisesta LED: n ohjaamiseksi. Tässä opetusohjelmassa noudatamme samanlaista lähestymistapaa, eli LEDiä ohjataan kahdella tavalla, kuten:
- Yksinkertainen LED-valo vilkkuu kirjoittamalla JavaScript-koodi Node.js-kehykseen.
- LED-kirkkauden hallinta Node.js-kehyksen ja web-käyttöliittymän avulla millä tahansa selaimella: Arduino UNO toimii verkkopalvelimena ja HTML-verkkosivua isännöidään tietokoneella tai kannettavalla tietokoneella.
Tarvittavat komponentit
Laitteisto:
- Arduino UNO: n hallitus
- Led
- Vastus
Ohjelmisto:
- Arduino IDE: Luonnoksen lataaminen Arduino UNO Board -alustalle.
- Firmata: Se on protokolla yhteydenpitoon erilaisten mikrokontrollerien kanssa tietokoneen, älypuhelimen jne. Ohjelmistoista. Firmata-laiteohjelmisto voidaan ladata mihin tahansa mikro-ohjainkorttiin (kuten Arduino, Teensy) ja se pystyy puhumaan minkä tahansa kannettavan tietokoneen, tietokoneen tai älypuhelimen kanssa. Firmata-kirjaston mukana tulee Arduino IDE, joten sinun ei tarvitse ladata mistä tahansa. Olemme tehneet opetusohjelman Arduinon ohjaamisesta Raspberry Pi: llä pyFirmatan avulla.
- Johnny-Five: Johnny-Five on JavaScript-pohjainen robotti- ja IoT-foorumi, jota käytetään koodien kirjoittamiseen JavaScript-muodossa ja jota käytetään sillan luomiseen Arduino-levyjen ja tietokoneen välille. Johnny-Five on testattu useilla Arduino-yhteensopivilla levyillä, kuten Arduino UNO, NANO, Promini jne. Tässä opetusohjelmassa Johnny-Five-kirjasto on ladattava, jotta kaikkia sen ominaisuuksia voidaan käyttää. Asennusopas selitetään myöhemmin tässä opetusohjelmassa.
Piirikaavio
Piirikaavio on hyvin yksinkertainen, meidän on vain kytkettävä LED Arduinoon.Node.js-kehyksen määrittäminen
Ennen koodauksen ja kehityksen aloittamista Node.js on ladattava ja määritettävä. Noudata yksinkertaisia vaiheita ladataksesi Node.js-ympäristön.
Vaihe 1: - Lataa Node.js.exe-tiedosto viralliselta verkkosivustolta.
Vaihe 2: - Suorita.exe ja noudata asennusohjelman annettuja ohjeita.
Vaihe 3: - Käynnistä tietokone uudelleen, kuten Node.js-asiakirjassa suositellaan, ja käyttää myös kaikkia Node.js-ominaisuuksia
Vaihe 4: - Voit tarkistaa, onko solmu asennettu, avaamalla komentokehote ja kirjoittamalla Solmu –v
Vaihe 5: - Node.js-versio tulee näkyviin osoittamalla, että Node.js on asennettu.
Asennetaan Johnny-Five-kirjasto
Kun olet ladannut Node.js, luo uusi kansio nimeltä “LED_Control” Asiakirjoihin, jotta kaikki projektitiedostot pysyvät yhdessä paikassa. Jokainen projektitiedosto säilytetään “ LED_Control ” -kansiossa. Lataa nyt Johnny-Five-kirjasto “ LED_Control ” -kansioon. Lataa lataamalla seuraavat vaiheet:
Vaihe 1: - Avaa komentokehote
Vaihe 2: - Siirry “ LED_Control ” -kansioon seuraamalla ” cd ” -komentoa.
Vaihe 3: - Suorita komento ' npm install johnny-five'
Vaihe 4: - Tämä asentaa kaikki Johnny-Five-ohjelmiston riippuvuudet.
Vaihe 5: - Asenna myös tässä opetusohjelmassa tarvittavat kirjastot ledien kirkkauden säätämiseen. Tässä on kolme kirjastoa:
- express: HTTP-palvelimen kääre
- socket.i o: WebSockets-kirjasto
- serialpor t: Sarjaportin kääre
Vaihe 5: - Suorita alla olevat komennot yksitellen näiden kolmen kirjaston asentamiseksi.
npm install express npm install socket.io npm asenna sarjaportti
Kuten aiemmin kerrottiin, projekti on jaettu kahteen osaan:
- Ensinnäkin Arduino Vilkkuva LED ja Node.js
- Toiseksi LED-kirkkauden hallinta web-käyttöliittymästä Arduinon ja Node.js: n avulla.
Vilkkuva LED Arduinon ja Node.js: n kanssa
LED-valon vilkkuminen edellyttää, että Arduino on asetettu kommunikoimaan tietokoneen kanssa.
Arduino UNO: n asettaminen vilkkuvalle LEDille:
Jotta Arduino UNO hyväksyisi komennon kannettavasta tietokoneesta LED-merkkivaloon, Firmata-laiteohjelmisto on ladattava Arduino UNO -laitteeseen. Voit ladata Firmata-laiteohjelmiston seuraavasti:
- Liitä Arduino UNO USB-kaapelilla
- Avaa Arduino IDE ja valitse Työkaluista Arduino UNO -levy (jos käytät muuta korttia, valitse vastaava).
- Valitse liitetyn Arduino UNO: n vastaava COM-portti
- Etsi nyt Firmata-luonnos valitsemalla Valikko -> Tiedosto -> Esimerkit -> Firmata -> StandardFirmata.
- Lataa ”StandardFirmata” -piirustus siirtymällä kohtaan Tiedosto -> Lähetä.
Tämä lataa Firmata-luonnoksen Arduino UNO: lle ja nyt Arduino UNO on valmis hyväksymään kaikki komennot tietokoneelta.
Node.js-ohjelman kirjoittaminen vilkkuvalle LEDille:
Voit kirjoittaa Node.js-ohjelman avaamalla minkä tahansa tekstieditorin (Muistio, Notepad ++ jne.) Ja liittämällä tämän opetusohjelman loppuun liitetyn 'blink_led' -koodin ja tallentamalla sen .js- laajennuksella eli (blink_led.js) aiemmin luotussa LED_Control- kansiossa. Keskustelemme tärkeistä vaiheista blink_led.js- kooditiedostossa.
Määritä aluksi mikrokontrollerin tappi siihen, mihin led on kytketty. Tässä esimerkissä LED on kytketty Arduino UNO: n tapaan 5. Node.js: n 'var' edustaa muuttujan ilmoitusta.
var led_pin = 5;
Johnny-viisi moduulia joudutaan mukana ja hallituksen tarpeet voidaan valita. Node.js: n moduulit ovat kirjastoja. Toiminto ' vaatia () ' käyttää moduulia.
var johnny_five = vaatia ("johnny-viisi"); var arduino_board = uusi johnny_five.Board ();
Console.log lausunto on samanlainen print ja se tulostaa viestin. Ja LED-tappi asetetaan lähtötilaan ja määritelty viive annetaan vilkkuvalle ledille.
console.log ("LED on alkanut vilkkua!"); var led = uusi johnny_five.Led (led_pin); led.blink (100);
Noudata seuraavia ohjeita ohjelman suorittamiseksi:
- Avaa komentokehote
- Etsi ”LED_Control” -kansio seuraamalla ”cd” -komentoa
- Suorita Node led_blink.js -komento. Jos se suoritetaan onnistuneesti, se näyttää "LED on alkanut vilkkua!" kuten alla olevassa kuvassa näkyy .
- Led alkaa vilkkua Arduino UNO Pin 5: ssä.
- Ja tämä viimeistelee opetusohjelmamme ensimmäisen osan eli vilkkuvan LEDin Node.js: llä
LED-kirkkauden säätäminen Arduinon ja Node.js-verkkopalvelimen avulla
Samoin kuin LED-merkkivalon vilkkuminen Node.js: n kanssa, tässä osassa on myös joitain osia, esimerkiksi Arduino UNO: n asettaminen, verkkoliittymän asettaminen ja Node.js-ohjelman kirjoittaminen.
Arduino UNO: n asettaminen ohjaamaan ledien kirkkautta:
Voit asettaa Arduino UNO: n lataamalla luonnoksen “ arduino_control.ino ” Arduino UNO -taululle ja siinä kaikki. Tämä perustaa Arduino Boardin. Voit ladata koko koodin HTML-tiedostoineen täältä. ” Arduino_control.ino” koodi on seuraavat tärkeät vaiheista.
Aluksi tiedonsiirtonopeudeksi on asetettu 9600.
Sarjan alku (9600);
Sarjaportti etsii aina saapuvaa tavua ja tavu kirjoitetaan Pin 5: een, joka on PWM Pin.
kun taas (! Sarja.a saatavilla ()); analogWrite (5, Serial.read ());
Se siitä. Tämä asettaa Arduinon lukitsemaan tavun PWM- nastalle ja muuttamaan LED: n kirkkautta.
Verkkoliittymän määrittäminen:
Ledin kirkkauden hallitsemiseksi web-käyttöliittymällä kirjoitetaan yksi pieni osa HTML-koodia , jotta selaimessa olisi käyttöliittymä. Jos haluat saada käyttöliittymän, noudata seuraavia yksinkertaisia ohjeita:
- Luo uusi kansio nimeltä ”public” aiemmin luotuun LED_Control- kansioon.
- Lataa nyt "index.html" - ja "style.css" -tiedostot ja siirrä molemmat tiedostot yllä olevassa ensimmäisessä vaiheessa luotuun "julkiseen" kansioon. Tiedostot voi ladata täältä.
Tämä luo verkkosivulle liukusäätimen, jolla ohjataan LEDien kirkkautta Node.js: n ja Arduinon avulla.
LEDin hallintaa verkkosivulta on mielenkiintoista oppia, ja se voidaan tehdä muiden mikrokontrollerien kanssa luomalla verkkopalvelin ja isännöimällä verkkosivua verkkopalvelimella. Tarkista kaikki verkkopalvelimeen liittyvät projektit täältä.
Node.js-ohjelman kirjoittaminen LED-valon kirkkauden säätämiseksi:
Seuraava vaihe on luonnoksen "brightness_control.js" kirjoittaminen Node.js: n avulla ja koodin suorittaminen. Koodin suoritus on vähän samanlainen kuin Node.js: n LED-merkkivalo vilkkuu.
Voit kirjoittaa Node.js-ohjelman avaamalla minkä tahansa tekstieditorin (Muistio, Notepad ++, jne.) Ja liittämällä tämän opetusohjelman loppuun liitetyn 'brightness_control' -koodin ja tallentamalla sen .js- laajennuksella eli (brightness_control.js) aiemmin luotussa LED_Control- kansiossa. Voit myös ladata koodin täältä.
Kuten Blink Led Node.js -ohjelmassa, tässä osassa käytetään myös moduuleja (kirjasto). Sisällytä 'express', 'http' ja 'sarjaportti' moduulit.
var express = vaatia ('express'); app = express (); palvelin = vaatia ('http'). createServer (sovellus); io = vaatia ('socket.io'). kuuntele (palvelin); var SerialPort = vaatia ("serialport") //. SerialPort
Aseta nyt COM-portti ja baudrate. Huomaa, että ikkunoissa se on aina COM ja numeron laajennus (COM6, COM4, COM24 jne.), Joten aseta alla tarvittaessa '/': n jälkeen. Aseta myös buadrate.
var serialPort = uusi SerialPort ("/ COM4", {baudRate: 9600});
Aloita kuunnella palvelinta portissa 8080.
palvelin. kuuntele (8080);
Aseta kirkkaudeksi aluksi 0. Lukitse sitten kirkkaustiedot IO: lle pistorasiamoduulilla, joka on verkkopistemoduuli. Tiedot vastaanotetaan Web-käyttöliittymän kautta socket-protokollaa käyttäen.
io.sockets.on ('connection', function (socket) { socket.on ('led', function (data) { brightness = data.value; var buf = new Buffer (1); buf.writeUInt8 (kirkkaus, 0); serialPort.write (buf);
Lähetä nyt LED-kirkkauden arvo, joka on saatu pistorasiasta LED-nastaa.
io.sockets.emit ('led', {arvo: kirkkaus}); }); socket.emit ('led', {arvo: kirkkaus}); });
Lisää vain tulostuslauseke vain virheenkorjausta varten loppuun. Console.log on tulostuslausunto Node.js-tiedostossa.
console.log ("Verkkopalvelin aloitettu, siirry selaimesi osoitteeseen" http: // localhost: 8080 ".);
Suorita nyt ohjelma noudattamalla seuraavia vaiheita:
- Avaa komentokehote
- Etsi ”LED_Control” -kansio seuraamalla ”cd” -komentoa
- Suorita Node brightness_control.js -komento. Jos se on suoritettu onnistuneesti, se näyttää "Web Server Started go to go to" http: // localhost: 8080 "in your browser." aivan komennon alapuolella .
- Siirry nyt selaimeesi ja kirjoita URL-osoitteeseen “localhost: 8080”.
- Kirkkauden muuttamiseksi siirrä liukusäädintä välillä 0–255.
Koko koodi ja työskentely video sekä osa on kiinnitetty alla. Myös jos sinulla on epäilyksiä tai ehdotuksia, voit ottaa yhteyttä meihin foorumin tai kommentin alla. Kaikki kooditiedostot voidaan myös ladata täältä.