- Reikalingos medžiagos
- „Node.js“ diegimas „Raspberry Pi“
- Mirksintis šviesos diodas naudojant „Node.js“
- „Node.js“ LED mirksi scenarijus ir paaiškinimas
- Šviesos diodo mirksėjimo schema naudojant Node.js
- Avietė Pi
Ankstesnėse „Raspberry Pi“ mokymo programose „Raspberry Pi“ valdymui naudojome daug įvairių programavimo kalbų ir programinės įrangos, įskaitant „Python“, įdėtąjį C, kolbą ir kt. Norėdami išplėsti galingos „Raspberry Pi“ plokštės akiratį, šiandien naudosime labai populiarią „JavaScript“ pagrįstą aplinką (mazgas.js) valdyti „Raspberry Pi GPIO“ lokaliai ir visame pasaulyje, nustatant jį kaip tinklo serverį. Iš pradžių „Node.js“ buvo sukurtas „Google Chrome“, tačiau vėliau jį „Google“ atidarė.
Šioje pamokoje mes valdysime šviesos diodą, prijungtą prie „Raspberry Pi“, naudodami du metodus
- Pirmiausia mes tiesiog parašysime „JavaScript“ kodą naudodami „Node.js“, kad mirksėtų šviesos diodas
- Antruoju metodu sukursime HTML puslapį su dviem mygtukais, kad įjungtumėte ir išjungtumėte šviesos diodą. Šis HTML tinklalapis bus priglobtas aviečių pi ir gali būti atidarytas bet kurioje žiniatinklio naršyklėje. Taigi čia Raspberry Pi veiks kaip tinklo serveris
Reikalingos medžiagos
- „Raspberry pi“ lenta, kurioje įdiegta „Raspbian“
- LED
Šioje pamokoje aš naudoju išorinį monitorių, naudodamas HDMI kabelį, kad galėčiau prisijungti prie „Raspberry Pi“. Jei neturite monitoriaus, galite naudoti SSH klientą (glaistą) arba VNC serverį, kad prisijungtumėte prie „Raspberry pi“ naudodami nešiojamąjį kompiuterį ar kompiuterį. Jei pastebite kokių nors sunkumų, vadovaukitės mūsų žiūrėjimu į „Raspberry Pi Guide“.
„Node.js“ diegimas „Raspberry Pi“
Mes įdiegsime „Node.js“ savo plokštėje naudodami šias komandas.
1 žingsnis: - naudodamiesi šia komanda, pirmiausia patikrinkite, ar jūsų rankoje nėra jūsų aviečių pi lentos.
uname -m
Mano atveju versija yra 7.
2 žingsnis: - Atsisiųskite diegimo programą nukopijuodami šią nuorodą į terminalą. Nepamirškite pakeisti versijos žemiau pateiktoje nuorodoje.
wget https://nodejs.org/dist/v4.6.1/node-v4.6.1-linux-armvl.tar.gz
3 žingsnis: - Ištraukite failus naudodami žemiau esančią komandą
degutas -xvf mazgas-v4.6.1-linux-armvl.tar.gz
4 žingsnis: - Galiausiai vykdykite šias komandas, kad svarbius failus taip pat pridėtumėte prie vietinių katalogų.
CD mazgas-v4.3.1-linux-armvl sudo cp -R * / usr / local /
„Node.js“ dabar įdiegtas jūsų „Raspberry Pi“. Patikrinkite mazgo versiją, kad patvirtintumėte naudodami šią komandą.
mazgas –versija
Prieš pradėdami kurti „Node.js“ serverį, pirmiausia pamatysime, kaip parašyti scenarijų, kuris mirksi šviesos diodu naudodamas „node.js“ (paketas „npm onoff“).
Mirksintis šviesos diodas naudojant „Node.js“
Norėdami valdyti „Raspberry Pi“ GPIO naudodami „Node.js“, naudosime įjungimo modulį.
Mes naudosime NPM paketų tvarkyklę įdiegti ONOFF modulio naudojant žemiau komandą
npm įdiegti
Dabar mes parašysime šviesos diodų mirksėjimo scenarijų. Atidarykite „ nano“ redaktorių ir suteikite pavadinimą failui naudodami komandą
nano blink_led.js
Jei esate „Node.js“ ir jo paketų pradedantysis, galite geriau susipažinti su scenarijumi apie „npm“ dokumentaciją.
„Node.js“ LED mirksi scenarijus ir paaiškinimas
Pirmiausia paskelbkite kintamuosius, susijusius su „led“, „delay“ ir GPIO. Šviesos diodui prijungti naudoju „Raspberry Pi GPIO 4“.
var Gpio = reikalauti ('įjungti'). Gpio; var LED = naujas „Gpio“ (4, „out“); var blinkInterval = setInterval (blinkLED, 500);
Dabar atliksime funkciją, kuri pradės mirksėti.
funkcija mirksiLED () {if (LED.readSync () === 0) {LED.writeSync (1); // nustatykite išvestį į 1, ty įjunkite LED} else {LED.writeSync (0); // nustatykite išvestį į 0, ty išjunkite LED }}
Panašiai atlikite funkciją, kuri sustabdytų mirksėjimą
funkcija endBlink () {clearInterval (blinkInterval); LED.writeSync (0); LED.unexport (); // Nepavykdykite GPIO nemokamų išteklių} setTimeout (endBlink, 10000);
Pilnas „Node.js“ kodas, skirtas mirksinčiam šviesos diodui, pateikiamas šios pamokos pabaigoje. Taigi nukopijuokite ir įklijuokite kodą į failą led_blink.js , kurį anksčiau sukūrėme naudodami „ nano“ komandą, išsaugokite failą naudodami „ Ctrl“ + x, tada paspauskite Y ir paspauskite „Enter“.
Norėdami paleisti scenarijų, atidarykite terminalą ir įveskite žemiau esančią komandą:
mazgas blink_led.js
Pamatysite, kad šviesos diodas mirksi 10 sekundžių ir po to nustos mirksėti. Patikrinkite visą darbą vaizdo įraše, pateiktame šios pamokos pabaigoje.
Šviesos diodo mirksėjimo schema naudojant Node.js
Avietė Pi
Dabar eikite į įdomią dalį, čia mes sukursime savo interneto serverį, iš kurio mes galėsime valdyti „Raspberry pi“ GPIO naudodami tinklalapį.
Tam pirmiausia turime sukurti HTML puslapį ir parašyti scenarijų, kad galėtume atlikti užduotį, ty kontroliuoti RPi GPIO.
1 žingsnis: - Sukurkite katalogą, kuriame visi failai būtų saugomi vienoje vietoje.
mkdir nodejs_serveris
2 žingsnis: - viduje nodejs_server aplanko dar vieną aplanką taupymo HTML failą.
CD nodejs_server mkdir rodiniai
3 žingsnis: - Jei norite pridėti atvaizdus savo html puslapyje, tada jums reikia padaryti dar vieną aplanką visuomenę viduje pagrindinis kataloge ty nodejs_server aplankas. Viešajame aplanke sukurkite vaizdų aplanką ir visus vaizdus išsaugokite šiame aplanke.
4 žingsnis: - Dabar sukursime HTML puslapį. Norėdami tai padaryti, eikite į rodinių katalogą ir atidarykite nano teksto redaktorių su failo pavadinimu index.ejs
Scenarijuje nėra nieko įmantraus. Tai tik HTML failas, skirtas įjungti ir išjungti mygtuką.
Nukopijuokite žemiau esantį HTML kodą į nano teksto rengyklę ir išsaugokite.
Sveiki atvykę į „Nodejs Server“
Šviesos būsena: <% = status%>5 žingsnis: - Dabar turime parašyti „JavaScript“ kodą. Mes naudojame „Node Express“ sistemą, kad atsakytume į vartotojo pateiktas „http“ užklausas.
Norėdami sužinoti daugiau apie „Node Express“, galite spustelėti nuorodą.
Atidarykite terminalą ir atidarykite nano teksto redaktorių su index.js failo pavadinimu aplanke nodejs_server , tada nukopijuokite ir įklijuokite žemiau pateiktą „Java“ scenarijaus kodą ir šį failą.
var express = reikalauti ('express'); var app = express (); var kelias = reikalauti ('kelias'); var gpio = reikalauti ('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: "Paspauskite mygtuką"}); }); app.post ('/ led / on', function (req, res) { gpio.write (7, true, function (klysti) { if (klysti) mesti klysti; console.log ('Parašyta tiesa į smeigtuką'); console.log (path.join (__ dirname, 'public')); return res.render ('index',{statusas: "Šviesa įjungta"}); }); }); app.post ('/ led / off', function (req, res) { gpio.write (7, false, function (err) { if (klysti) mesti klysti; console.log ('Parašyta klaidinga prisegti'); console.log (path.join (__ dirname, 'public')); return res.render ('index', {status: "Led is Off"}); }); }); app.listen (3000, function () { console.log ('Serveris paleistas uoste: 3000!') })
6 žingsnis: - „ nodejs_server“ kataloge turime įvykdyti šią komandą, kad įdiegtume „node.js“ bibliotekas
npm įdiegti
7 žingsnis: - Dabar jūsų serveris yra pasirengęs veikti. Norėdami paleisti vietinį serverį, vykdykite šią komandą kataloge nodejs_server
mazgas index.js
terminale pamatysite pranešimą, kad jūsų serveris paleidžiamas apibrėžtame uoste.
8 žingsnis: - Dabar atidarykite savo naršyklę ir atidarykite „Raspberry Pi“ URL su prievado numeriu, ty „ raspberrypi: 3000“
Įsitikinkite, kad jūsų aviečių pi ir nešiojamas kompiuteris, kuriame atidarote naršyklę, yra prijungti prie to paties tinklo.
Naršyklėje pamatysite šį puslapį.
Dabar paspauskite LED įjungimo mygtuką, kad įjungtumėte šviesos diodą, ir LED išjungimo mygtuką, kad išjungtumėte šviesos diodą.