- Nepieciešamie materiāli
- Node.js instalēšana Raspberry Pi
- Mirgojoša gaismas diode, izmantojot Node.js
- Node.js LED Blink skripts un skaidrojums
- Gaismas diode mirgošanas shēma, izmantojot Node.js
- Aveņu Pi
Iepriekšējās Raspberry Pi apmācībās mēs izmantojām daudzas dažādas programmēšanas valodas un programmatūras, lai kontrolētu Raspberry Pi, ieskaitot Python, iegulto C, kolbu uc.js) kontrolēt Raspberry Pi GPIO lokāli, kā arī globāli, iestatot to kā tīmekļa serveri. Sākotnēji Node.js tika izstrādāts pārlūkam Google Chrome, bet vēlāk to atklāja Google.
Šajā apmācībā mēs vadīsim LED, kas savienots ar Raspberry Pi, izmantojot divas metodes
- Vispirms mēs vienkārši uzrakstīsim JavaScript kodu, izmantojot Node.js, lai mirgot LED
- Otrajā metodē mēs izveidosim HTML lapu ar divām pogām, lai ieslēgtu un izslēgtu LED. Šī HTML tīmekļa lapa tiks mitināta uz aveņu pi, un to var atvērt jebkurā tīmekļa pārlūkprogrammā. Tātad šeit Raspberry Pi darbosies kā tīmekļa serveris
Nepieciešamie materiāli
- Aveņu pi dēlis ar tajā instalētu Raspbian
- LED
Šajā apmācībā es izmantoju ārējo monitoru, izmantojot HDMI kabeli, lai izveidotu savienojumu ar Raspberry Pi. Ja jums nav monitora, varat izmantot SSH klientu (Putty) vai VNC serveri, lai izveidotu savienojumu ar Raspberry pi, izmantojot klēpjdatoru vai datoru. Ja jums rodas kādas grūtības, izpildiet mūsu sadaļu Raspberry Pi Guide.
Node.js instalēšana Raspberry Pi
Mēs instalēsim Node.js mūsu dēlī, izmantojot šādas komandas.
1. solis: - Vispirms pārbaudiet, vai jūsu aveņu pi dēļam ir arm versija, izmantojot šo komandu.
uname -m
Manā gadījumā versija ir 7.
2. solis: - lejupielādējiet instalēšanas programmu, nokopējot šo saiti terminālā. Neaizmirstiet mainīt versiju zemāk esošajā saitē.
wget https://nodejs.org/dist/v4.6.1/node-v4.6.1-linux-armvl.tar.gz
3. solis: - Izvelciet failus, izmantojot komandu zemāk
darva -xvf mezgls-v4.6.1-linux-armvl.tar.gz
4. solis: - Visbeidzot, izpildiet šīs komandas, lai svarīgos failus pievienotu arī vietējiem direktorijiem.
CD mezgls-v4.3.1-linux-armvl sudo cp -R * / usr / local /
Node.js tagad ir instalēts jūsu Raspberry Pi. Pārbaudiet mezgla versiju, lai apstiprinātu, izmantojot šo komandu.
mezgls –versija
Pirms došanās izveidot Node.js serveri, vispirms mēs redzēsim, kā rakstīt skriptu, lai mirgot LED, izmantojot node.js (npm onoff pakete).
Mirgojoša gaismas diode, izmantojot Node.js
Lai kontrolētu Raspberry Pi GPIO, izmantojot Node.js, mēs izmantosim onoff moduli.
Mēs izmantosim npm pakotņu pārvaldnieku, lai instalētu onoff moduli, izmantojot komandu zemāk
npm instalēt off
Tagad mēs uzrakstīsim skriptu LED mirgošanai. Atveriet nano redaktoru un piešķiriet failam nosaukumu, izmantojot komandu
nano blink_led.js
Ja esat iesācējs vietnē Node.js un tā pakotnēs, varat npm dokumentāciju, lai labāk izprastu skriptu.
Node.js LED Blink skripts un skaidrojums
Pirmkārt, deklarējiet mainīgos led, delay un GPIO. LED savienošanai es izmantoju Raspberry Pi GPIO 4.
var Gpio = pieprasīt ('izslēgt'). Gpio; var LED = jauns Gpio (4, 'out'); var blinkInterval = setInterval (blinkLED, 500);
Tagad mēs izveidosim funkciju mirgot.
funkcija mirgoLED () {if (LED.readSync () === 0) {LED.writeSync (1); // iestatiet izeju uz 1 ti ieslēdziet vadību} else {LED.writeSync (0); // iestatiet izvadi uz 0, ti, izslēdziet led }}}
Līdzīgi izveidojiet funkciju, lai pārtrauktu mirgot
funkcija endBlink () {clearInterval (blinkInterval); LED.writeSync (0); LED.unexport (); // Nepiedaliet GPIO bezmaksas resursos} setTimeout (endBlink, 10000);
Pilns Node.js mirgojošās gaismas diodes kods ir norādīts šīs apmācības beigās. Tātad nokopējiet un ielīmējiet kodu failā led_blink.js , kuru iepriekš esam izveidojuši, izmantojot komandu nano , saglabājiet failu, izmantojot Ctrl + x, pēc tam nospiediet Y un nospiediet enter.
Lai palaistu skriptu, atveriet termināli un ierakstiet šādu komandu:
mezgls blink_led.js
Jūs redzēsiet, ka gaismas diode mirgos 10 sekundes un pēc tam beigs mirgot. Pārbaudiet visu darbu video, kas sniegts šīs apmācības beigās.
Gaismas diode mirgošanas shēma, izmantojot Node.js
Aveņu Pi
Tagad nāciet uz interesanto daļu, šeit mēs izveidosim savu tīmekļa serveri, no kura mēs varēsim kontrolēt Raspberry pi GPIO, izmantojot tīmekļa lapu.
Lai to izdarītu, vispirms mums ir jāizveido HTML lapa un jāuzraksta skripts aizmugures uzdevuma veikšanai, ti, lai kontrolētu RPi GPIO.
1. solis: - izveidojiet direktoriju, kurā visi faili tiek glabāti vienā vietā.
mkdir nodejs_server
2. solis: - iekšpusē nodejs_server mape veikt vēl vienu mapi glābšanas HTML failu.
CD nodejs_server mkdir skati
3. solis: - Ja vēlaties pievienot attēlus savai HTML lapai, galvenajā direktorijā, piemēram, mapē nodejs_server, vajadzētu izveidot citu mapi ar publisku nosaukumu. Publiskajā mapē izveidojiet attēlu mapi un saglabājiet visus attēlus šajā mapē.
4. solis: - Tagad mēs izveidosim HTML lapu. Lai to izdarītu, dodieties uz skatu direktoriju un atveriet nano teksta redaktoru ar faila nosaukumu index.ejs
Scenārijā nav nekā izdomāta. Tas ir tikai HTML fails, lai izveidotu pogu Ieslēgt un Izslēgt.
Nokopējiet zemāk esošo HTML kodu nano teksta redaktorā un saglabājiet to.
Laipni lūdzam Nodejs Server
Led statuss: <% = statuss%>5. solis: - Tagad mums ir jāraksta JavaScript kods. Mēs izmantojam mezglu ekspress sistēmu, lai atbildētu uz lietotāja veiktajiem http pieprasījumiem.
Varat sekot saitei, lai uzzinātu vairāk par Node Express.
Atveriet termināli un atveriet nano teksta redaktoru ar index.js faila nosaukumu mapē nodejs_server , pēc tam nokopējiet un ielīmējiet zemāk esošo Java skripta kodu un šo failu.
var express = pieprasīt ('express'); var app = express (); var ceļš = pieprasīt ('ceļš'); var gpio = pieprasīt ('rpi-gpio'); gpio.setup (7, gpio.DIR_OUT); app.set ('view engine', 'ejs'); app.use (express.static (path.join (__ dirname, 'public'))); console.log (path.join (__ dirname, 'public')); app.get ('/', function (req, res) { res.render ('index', {status: "Preses poga"}); }); app.post ('/ led / on', function (req, res) { gpio.write (7, true, function (err) { if (kļūdīties) mest kļūdīties; console.log ('Rakstiski patiesi piespraustam'); console.log (path.join (__ dirname, 'public')); return res.render ('index',{status: "Led ir ieslēgts"}); }); }); app.post ('/ led / off', function (req, res) { gpio.write (7, false, function (err) { if (kļūdīties) mest kļūdīties; console.log ('Rakstiski nepatiesi, lai piespraustu'); console.log (path.join (__ dirname, 'public')); return res.render ('index', {status: "Led is Off"}); }); }); app.listen (3000, function () { console.log ('Serveris sākts portā: 3000!') })
Step 6: - Inside nodejs_server direktorijā, mums ir izpildīt šādu komandu, lai instalētu bibliotēkas node.js
npm instalēt
7. solis: - Tagad jūsu serveris ir gatavs darbam. Lai palaistu vietējo serveri, palaidiet šo komandu direktorijā nodejs_server
mezgls index.js
terminālā jūs redzēsiet ziņojumu, ka jūsu serveris ir palaists definētajā ostā.
8. solis: - Tagad atveriet savu pārlūkprogrammu un atveriet Raspberry Pi URL ar porta numuru, ti, raspberrypi: 3000
Pārliecinieties, ka jūsu aveņu pī un klēpjdators, kurā atverat pārlūkprogrammu, ir savienoti ar to pašu tīklu.
Pārlūkprogrammā redzēsiet šo lapu.
Tagad nospiediet LED On pogu, lai ieslēgtu LED, un LED Off pogu, lai izslēgtu LED.