- Kas ir Node.js?
- Nepieciešamās sastāvdaļas
- Ķēdes shēma
- Notiek Node.js ietvara iestatīšana
- Johnny-Five bibliotēkas instalēšana
- Mirgojošs gaismas diode ar Arduino un Node.js
- LED spilgtuma kontrole, izmantojot Arduino un Node.js Webserveri
Mēs esam redzējuši daudzus LED mirgošanas piemērus, izmantojot dažādus mikrokontrollerus un dažādas programmēšanas valodas. Šodien mēs izmantosim ļoti populāru JavaScript sistēmu Node.js, lai kontrolētu LED, kas savienots ar Arduino Uno. Mēs izmantosim arī Node.js, lai kontrolētu LED spilgtumu no vietnes, izmantojot Arduino. Veicot dažus pielāgojumus un izmantojot ESP8266, to var pārveidot par IoT projektu, kurā gaismas diode ir vadāma no jebkuras vietas.
Kas ir Node.js?
Par Node.js ir plaši izmantots JavaScript balstītu sistēmu balstās uz Google Chrome JavaScript V8 dzinējs un piemēroti izstrādē I / O intensīvas tīmekļa lietojumprogrammas, piemēram, vienas lapas lietojumprogrammas, video straumēšanas vietnēs uc
Iepriekš mēs esam veikuši informatīvu apmācību par Darba sākšana ar Node.js un Raspberry Pi, lai kontrolētu LED. Šajā apmācībā mēs ievērosim līdzīgu pieeju, ti, gaismas diode tiks kontrolēta, izmantojot divas metodes, piemēram:
- Vienkārša gaismas diode mirgo, ierakstot JavaScript kodu Node.js ietvarā.
- LED spilgtuma kontrole, izmantojot Node.js ietvaru un tīmekļa saskarni no jebkura pārlūka: Arduino UNO darbosies kā tīmekļa serveris, un HTML tīmekļa lapa tiks mitināta datorā vai klēpjdatorā.
Nepieciešamās sastāvdaļas
Aparatūra:
- Arduino UNO valde
- Led
- Rezistors
Programmatūra:
- Arduino IDE: skices augšupielādēšanai Arduino UNO valdē.
- Firmata: Tas ir protokols saziņai ar dažādiem mikrokontrolleriem, izmantojot programmatūru datorā, viedtālrunī utt. Firmata programmaparatūru var ielādēt jebkurā mikrokontrolleru panelī (piemēram, Arduino, Teensy), un tā spēj sarunāties ar jebkuru klēpjdatoru, datoru vai viedtālruni. Firmata bibliotēka nāk ar Arduino IDE, tāpēc nav nepieciešams lejupielādēt no jebkuras vietas. Mēs esam veikuši apmācību par Arduino kontroli ar Raspberry Pi, izmantojot pyFirmata.
- Džonijs-Piecis: Džonijs-Piecis ir uz JavaScript balstīta robotikas un IoT platforma, ko izmanto, lai rakstītu kodus JavaScript un izmantotu, lai izveidotu tiltu starp Arduino dēļiem un datoru. Džonijs-Piecis ir pārbaudīts ar dažādiem ar Arduino saderīgiem dēļiem, piemēram, Arduino UNO, NANO, Promini utt. Šajā apmācībā Jāņu piecu bibliotēka ir jālejupielādē, lai izmantotu visas tās funkcijas. Instalēšanas rokasgrāmata tiks paskaidrota vēlāk šajā apmācībā.
Ķēdes shēma
Ķēdes shēma ir ļoti vienkārša, mums vienkārši jāpievieno LED ar Arduino.Notiek Node.js ietvara iestatīšana
Pirms kodēšanas un izstrādes uzsākšanas Node.js ir jālejupielādē un jāiestata. Lai lejupielādētu Node.js vidi, veiciet vienkāršas darbības.
1. solis: - Lejupielādējiet Node.js.exe failu no tā oficiālās vietnes.
2. solis: - Palaidiet.exe un izpildiet instalētājā sniegtos norādījumus.
3. solis: - restartējiet datoru, kā ieteicams dokumentā Node.js, kā arī izmantot visas Node.js funkcijas
4. solis: - lai pārbaudītu, vai mezgls ir instalēts, atveriet komandu uzvedni un ierakstiet Node –v
5. darbība. - Tiks parādīta Node.js versija, kas norāda, ka Node.js ir instalēts.
Johnny-Five bibliotēkas instalēšana
Tagad, lejupielādējot Node.js, dokumentos izveidojiet jaunu mapi ar nosaukumu “LED_Control”, lai visus projekta failus saglabātu vienā vietā. Katrs projekta fails tiks saglabāts mapē “ LED_Control ”. Tagad lejupielādējiet Johnny-Five bibliotēku mapē “ LED_Control ”. Lai lejupielādētu, veiciet tālāk norādītās darbības.
1. darbība: - atveriet komandu uzvedni
2. solis: - dodieties uz mapi “ LED_Control ”, izpildot komandu “ cd ”.
3. solis: - Palaidiet komandu ' npm install johnny-five'
4. solis: - Tādējādi tiks instalētas visas Džonija-Piecas atkarības.
5. solis: - instalējiet arī nepieciešamās bibliotēkas, kas tiek izmantotas šajā apmācībā, lai kontrolētu LED spilgtumu. Šeit tiek izmantotas trīs bibliotēkas:
- express: HTTP servera iesaiņotājs
- socket.i o: WebSockets bibliotēka
- serialpor t: sērijas porta iesaiņotājs
5. solis: - Palaidiet tālāk norādītās komandas pa vienai, lai instalētu šīs trīs bibliotēkas.
npm install express npm install socket.io npm instalējiet seriālportu
Kā stāstīts iepriekš, projekts ir sadalīts divās daļās:
- Pirmkārt, Arduino mirgo LED ar Node.js
- Otrkārt, LED spilgtuma kontrolēšana no tīmekļa saskarnes, izmantojot Arduino un Node.js.
Mirgojošs gaismas diode ar Arduino un Node.js
Lai mirgot gaismas diode, Arduino ir jāiestata saziņai ar datoru.
Arduino UNO iestatīšana mirgojošai LED:
Lai liktu Arduino UNO pieņemt komandu no klēpjdatora uz vadības LED, Firmata programmaparatūra ir jāielādē Arduino UNO. Lai ielādētu Firmata programmaparatūru, rīkojieties šādi:
- Pievienojiet Arduino UNO, izmantojot USB kabeli
- Atveriet Arduino IDE un izvēlieties Rīki Arduino UNO dēlis (ja izmantojat citu dēli, izvēlieties atbilstošo).
- Atlasiet savienotā Arduino UNO atbilstošo COM portu
- Tagad atrodiet Firmata skici, izmantojot Menu -> File -> Piemēri -> Firmata -> StandardFirmata.
- Augšupielādējiet skici “StandardFirmata”, dodoties uz File -> Upload.
Tas ielādēs Firmata skici uz Arduino UNO, un tagad Arduino UNO ir gatavs pieņemt jebkuru komandu no datora.
Node.js programmas rakstīšana mirgojošai LED:
Lai rakstītu Node.js programmu, atveriet jebkuru teksta redaktoru (Notepad, Notepad ++ utt.) Un ielīmējiet šīs apmācības beigās pievienoto kodu “blink_led” un saglabājiet to ar paplašinājumu “.js”, ti, (blink_led.js) ar "LED_Control" mapi izveidots pirms tam. Mēs apspriedīsim svarīgas darbības blink_led.js koda failā.
Sākotnēji definējiet mikrokontrollera tapu, kur ir pievienots vadīts. Šajā piemērā gaismas diode ir savienota ar Arduino UNO 5. kontaktu. Vietnes Node.js “var” apzīmē mainīgā deklarāciju.
var led_pin = 5;
Šīs Johnny pieci moduļa vajadzībām jāiekļauj un valdes vajadzības jāizvēlas. Node.js moduļi ir bibliotēkas. Funkcija ' pieprasīt () ' piekļūs modulim.
var johnny_five = pieprasīt ("johnny-pieci"); var arduino_board = new johnny_five.Board ();
Console.log apgalvojums ir līdzīgs drukas paziņojumu, un tas būs drukāt ziņu. LED tapa ir iestatīta izejas režīmā, un noteiktā aizkave tiek dota, lai mirgot.
console.log ("Gaismas diode ir sākusi mirgot!"); var led = new johnny_five.Led (led_pin); led.blink (100);
Lai palaistu programmu, rīkojieties šādi:
- Atveriet komandu uzvedni
- Atrodiet mapi “LED_Control”, izpildot komandu “cd”
- Palaidiet komandu 'Mezgls led_blink.js'. Ja tas tiks veiksmīgi izpildīts, tas parādīs "Gaismas diode ir sākusi mirgot!" kā parādīts attēlā zemāk .
- Led sāks mirgot Arduino UNO tapā 5.
- Un tas pabeidz mūsu apmācības pirmo daļu, ti, mirgo LED ar Node.js
LED spilgtuma kontrole, izmantojot Arduino un Node.js Webserveri
Līdzīgi kā ar LED mirgošanu ar Node.js, arī šajā sadaļā būs dažas daļas, ti, Arduino UNO iestatīšana, tīmekļa saskarnes iestatīšana un Node.js programmas rakstīšana.
Arduino UNO iestatīšana, lai kontrolētu LED spilgtumu:
Lai iestatītu Arduino UNO, vienkārši augšupielādējiet skici “ arduino_control.ino ” Arduino UNO dēlī, un viss. Tādējādi tiks izveidota Arduino padome. Pilnu kodu ar HTML failiem varat lejupielādēt šeit. Kodam “ arduino_control.ino” ir jāveic šādi svarīgi soļi.
Sākotnēji pārraides ātrums ir iestatīts uz 9600.
Sērijas sākums (9600);
Seriālais ports vienmēr meklē ienākošo baitu, un baits tiek ierakstīts 5. tapā, kas ir PWM tapa.
kamēr (! Seriāls.pieejams ()); analogWrite (5, Serial.read ());
Tieši tā. Tas iestatīs Arduino fiksēt baitu uz PWM tapu un mainīs LED spilgtumu.
Tīmekļa saskarnes iestatīšana:
Lai kontrolētu LED spilgtumu, izmantojot tīmekļa saskarni, tiek uzrakstīts viens neliels HTML koda gabals, lai pārlūkprogrammā būtu saskarne. Lai būtu saskarne, veiciet tālāk norādītās vienkāršās darbības:
- Izveidojiet jaunu mapi ar nosaukumu “public” iepriekš izveidotajā mapē “LED_Control”.
- Tagad lejupielādējiet failus “index.html” un “style.css” un pārvietojiet abus failus mapē “public”, kas izveidota pirmajā solī. Failus var lejupielādēt šeit.
Tas izveidos tīmekļa vietnē slīdni, lai kontrolētu LED spilgtumu, izmantojot Node.js un Arduino.
Gaismas diodes vadību no tīmekļa lapas ir interesanti mācīties, un to var izdarīt ar citu mikrokontrolleru, izveidojot tīmekļa serveri un mitinot vietni tīmekļa serverī. Pārbaudiet visus ar tīmekļa serveri saistītos projektus šeit.
Rakstot Node.js programmu, lai kontrolētu LED spilgtumu:
Nākamais solis ir skices “brightness_control.js” uzrakstīšana, izmantojot Node.js, un koda izpilde. Koda izpilde būs mazliet līdzīga gaismas diode Mirgošanai ar Node.js.
Lai rakstītu Node.js programmu, atveriet jebkuru teksta redaktoru (Notepad, Notepad ++ utt.) Un ielīmējiet šīs apmācības beigās pievienoto kodu 'brightness_control' un saglabājiet to ar paplašinājumu '.js', ti, (brightness_control.js) ar "LED_Control" mapi izveidots pirms tam. Kodu var lejupielādēt arī šeit.
Līdzīgi kā Blink Led Node.js programmā, arī šajā sadaļā tiks izmantoti moduļi (bibliotēka). Iekļaujiet moduli “express”, “http” un “serial port”.
var express = pieprasīt ('express'); lietotne = express (); serveris = pieprasīt ('http'). createServer (lietotne); io = pieprasīt ('socket.io'). klausīties (serveris); = pieprasīt ("serialport") //
Tagad iestatiet COM portu un baudrate. Ņemiet vērā, ka logos tas vienmēr būs COM ar numura paplašinājumu (COM6, COM4, COM24 utt.), Tāpēc iestatiet zemāk, kā prasīts pēc “/”. Iestatiet arī buadrate.
var serialPort = jauns SerialPort ("/ COM4", {baudRate: 9600});
Sāciet klausīties serveri 8080. portā.
serveris.klausīties (8080);
Sākotnēji iestatiet spilgtumu uz 0. Pēc tam fiksējiet spilgtuma datus IO ar ligzdu moduli, kas ir tīmekļa ligzdas modulis. Datus saņems Web interfeiss, izmantojot kontaktligzdas protokolu.
io.sockets.on ('connection', function (socket) { socket.on ('led', function (data) { brightness = data.value; var buf = new Buffer (1); buf.writeUInt8 (spilgtums, 0); serialPort.write (buf);
Tagad izstaro LED spilgtuma vērtību, kas iegūta no kontaktligzdas līdz LED tapai.
io.sockets.emit ('vadīts', {vērtība: spilgtums}); }); socket.emit ('vadīts', {vērtība: spilgtums}); });
Tagad, lai atkļūdotu, beigās pievienojiet drukas paziņojumu. Console.log ir drukas paziņojums vietnē Node.js.
console.log ("Tīmekļa serveris ir sācis, pārlūkprogrammā dodieties uz vietni" http: // localhost: 8080 ".");
Tagad, lai palaistu programmu, rīkojieties šādi:
- Atveriet komandu uzvedni
- Atrodiet mapi “LED_Control”, izpildot komandu “cd”
- Palaidiet komandu 'Node brightness_control.js'. Ja tas tiks veiksmīgi izpildīts, tas parādīs "Web Server Started, pārlūkprogrammā dodieties uz" http: // localhost: 8080 "." tieši zem komandas .
- Tagad dodieties uz pārlūkprogrammu un URL ierakstiet “localhost: 8080”.
- Lai mainītu spilgtumu, vienkārši pārvietojiet slīdni no 0 līdz 255 vērtībām.
Pilns abu sadaļu kods un darba video ir pievienots zemāk. Arī tad, ja jums ir kādas šaubas vai ieteikumi, varat sazināties ar mums, izmantojot forumu vai komentāru zemāk. Visus kodu failus var lejupielādēt arī šeit.