- חומרים נדרשים
- התקנת Node.js ב- Raspberry Pi
- מהבהב נורית LED באמצעות Node.js
- Node.js סקריפט LED מהבהב והסבר
- תרשים מעגל להבהוב נורית באמצעות Node.js
- פאי פטל
בהדרכות קודמות של Raspberry Pi, השתמשנו בשפות תכנות ותוכנות רבות ושונות כדי לשלוט ב- Raspberry Pi כולל Python, C מוטבע, Flask וכו '. כדי להרחיב את האופק של לוח Raspberry Pi חזק, היום נשתמש בסביבה מבוססת JavaScript מאוד פופולרית (Node.js) כדי לשלוט ב- Raspberry Pi GPIOs באופן מקומי וכן ברחבי העולם על ידי הגדרתו כשרת אינטרנט. בתחילה, Node.js פותח עבור Google Chrome אך מאוחר יותר הוא נפתח על ידי Google.
במדריך זה נשלוט על נורית LED, המחוברת ל- Raspberry Pi, בשתי שיטות
- ראשית פשוט נכתוב קוד JavaScript באמצעות Node.js כדי להבהב את ה- LED
- בשיטה שנייה ניצור דף HTML עם שני כפתורים להפעלה ולכיבוי של ה- LED. דף אינטרנט HTML זה יתארח על פטל pi וניתן לפתיחה בכל דפדפן אינטרנט. אז כאן Raspberry Pi ישמש כשרת אינטרנט
חומרים נדרשים
- לוח פי פטל עם Raspbian מותקן בו
- לד
במדריך זה אני משתמש בצג חיצוני באמצעות כבל HDMI לחיבור ל- Raspberry Pi. אם אין לך צג, אתה יכול להשתמש בלקוח SSH (Putty) או בשרת VNC כדי להתחבר ל- Raspberry pi באמצעות מחשב נייד או מחשב. אם אתה מוצא קושי כלשהו, עקוב אחר המדריך שלנו להתבונן בו עם פטל פי.
התקנת Node.js ב- Raspberry Pi
אנו נתקין את Node.js בלוח שלנו באמצעות הפקודות הבאות.
שלב 1: - בדוק תחילה את גרסת הזרוע של לוח הפטל פטל שלך באמצעות פקודה זו.
uname -m
במקרה שלי, הגרסה היא 7.
שלב 2: - הורד את המתקין על ידי העתקת קישור זה למסוף. אל תשכח לשנות את הגרסה בקישור הבא.
wget https://nodejs.org/dist/v4.6.1/node-v4.6.1-linux-armvl.tar.gz
שלב 3: - חלץ את הקבצים באמצעות הפקודה הבאה
tar -xvf node-v4.6.1-linux-armvl.tar.gz
שלב 4: - לבסוף, בצע פקודות אלה כדי להוסיף גם את הקבצים החשובים לספריות המקומיות.
cd node-v4.3.1-linux-armvl sudo cp -R * / usr / local /
Node.js מותקן כעת ב- Raspberry Pi שלך. בדוק את גרסת הצומת לאישור באמצעות פקודה זו.
צומת –גרסה
לפני שנכין שרת Node.js, ראשית נראה כיצד לכתוב סקריפט כדי להבהב נורית LED באמצעות node.js (חבילת npm onoff).
מהבהב נורית LED באמצעות Node.js
כדי לשלוט ב- GPIO ב- Raspberry Pi באמצעות Node.js, נשתמש במודול onoff.
נשתמש במנהל החבילות npm להתקנת מודול onoff באמצעות הפקודה הבאה
npm להתקין onoff
כעת נכתוב סקריפט להבהוב של לד. פתח את עורך ה- nano ותן את השם לקובץ באמצעות הפקודה
ננו blink_led.js
אם אתה מתחיל ב- Node.js וחבילות זה, אתה יכול לתיעוד של npm כדי להבין טוב יותר את הסקריפט.
Node.js סקריפט LED מהבהב והסבר
ראשית, הצהירו על המשתנים עבור led, עיכוב ו- GPIO. אני משתמש ב- Raspberry Pi GPIO 4 לחיבור ה- LED.
var Gpio = דורש ('onoff'). Gpio; var LED = Gpio חדש (4, 'out'); var blinkInterval = setInterval (blinkLED, 500);
כעת, אנו נכין פונקציה להפעלת המצמוץ.
פונקציה blinkLED () {if (LED.readSync () === 0) {LED.writeSync (1); // הגדר את הפלט ל -1 כלומר הפעל את ההפעלה} אחר {LED.writeSync (0); // הגדר את הפלט ל 0 כלומר כבה את ה- led }}
באופן דומה, בצע פונקציה כדי להפסיק את ההבהוב
פונקציה endBlink () {clearInterval (blinkInterval); LED.writeSync (0); LED.unexport (); // יציאת GPIO למשאבים פנויים} setTimeout (endBlink, 10000);
קוד Node.js השלם עבור LED מהבהב ניתן בסוף הדרכה זו. אז העתק והדבק את הקוד בקובץ led_blink.js , שיצרנו בעבר באמצעות פקודת nano , שמור את הקובץ באמצעות Ctrl + x, ואז לחץ על Y ולחץ על Enter.
להפעלת הסקריפט, פתח את המסוף והקלד את הפקודה הבאה:
צומת blink_led.js
תראה שהנורית תמצמץ למשך 10 שניות ולאחריה היא תפסיק להבהב. בדוק את העבודה המלאה בסרטון שניתן בסוף הדרכה זו.
תרשים מעגל להבהוב נורית באמצעות Node.js
פאי פטל
כעת, בואו לחלק המעניין, כאן אנו הולכים ליצור שרת אינטרנט משלנו ממנו אנו יכולים לשלוט ב- GPIO של Raspberry pi באמצעות דף אינטרנט.
לשם כך, ראשית עלינו ליצור דף HTML ולכתוב סקריפט לביצוע משימה עורפית כלומר לשלוט ב- RPi GPIO.
שלב 1: - הכינו ספרייה לאחסון כל הקבצים במקום אחד.
mkdir nodejs_server
שלב 2: - בתוך תיקיית nodejs_server הכינו תיקייה אחת נוספת לשמירת קובץ ה- HTML.
תצוגות mkdir של cd nodejs_server
שלב 3: - אם ברצונך להוסיף תמונות לדף ה- html שלך, עליך להפוך תיקייה נוספת בשם ציבורית בתוך הספריה הראשית כלומר בתיקיה nodejs_server . בתיקיה הציבורית, הכינו תיקיית תמונות ושמרו את כל התמונות בתיקיה זו.
שלב 4: - כעת, אנו נכין דף HTML. לשם כך, עבור לספריית תצוגות ופתח את עורך הטקסט של ננו עם שם הקובץ index.ejs
אין שום דבר מהודר בתסריט. זהו רק קובץ HTML להכנת לחצן הפעלה או כיבוי.
העתק והדבק את קוד ה- HTML שלהלן בעורך הטקסט של ננו ושמור אותו.
ברוך הבא לשרת Nodejs
סטטוס לד: <% = סטטוס%>שלב 5: - כעת עלינו לכתוב קוד JavaScript. אנו משתמשים במסגרת express express של הצומת כדי לענות לבקשות http המבוצעות על ידי המשתמש.
תוכל לעקוב אחר הקישור למידע נוסף על Node Express.
פתח את המסוף ופתח את עורך הטקסט של ננו עם שם הקובץ index.js בתיקיית nodejs_server , העתק והדבק את קוד הסקריפט של Java ומטה וקובץ זה.
var express = דורש ('express'); var app = express (); var path = דורש ('נתיב'); var gpio = דורש ('rpi-gpio'); gpio.setup (7, gpio.DIR_OUT); app.set ('מנוע תצוגה', 'ejs'); app.use (express.static (path.join (__ dirname, 'public'))); console.log (path.join (__ dirname, 'public')); app.get ('/', פונקציה (req, res) { res.render ('אינדקס', {סטטוס: "לחץ על כפתור"}); }); app.post ('/ led / on', function (req, res) { gpio.write (7, true, function (err) { if (err) throw err; console.log ('Written True to pin'); console.log (path.join (__ dirname, 'public')); return res.render ('index',{סטטוס: "Led דולק"}); }); }); app.post ('/ led / off', function (req, res) { gpio.write (7, false, function (err) { if (err) throw err; console.log ('Written False to pin'); console.log (path.join (__ dirname, 'public')); return res.render ('index', {status: "Led is Off"}); }); }); app.listen (3000, function () { console.log ('השרת התחיל ביציאה : 3000!') })
שלב 6: - בתוך ספריית nodejs_server , עלינו לבצע את הפקודה הבאה כדי להתקין ספריות של node.js
התקנת npm
שלב 7: - כעת, השרת שלך מוכן לעבודה. כדי להפעיל את השרת המקומי, הפעל את הפקודה הבאה בתוך ספריית nodejs_server
צומת index.js
תראה הודעה במסוף כי השרת שלך מופעל ביציאה המוגדרת.
שלב 8: - כעת פתח את הדפדפן ופתח את כתובת ה- Raspberry Pi עם מספר יציאה כלומר raspberrypi: 3000
וודא כי פטל ה- pi והמחשב הנייד שלך בו אתה פותח את הדפדפן מחוברים לאותה רשת.
תראה את הדף הבא בדפדפן.
כעת, לחץ על כפתור ה- LED מופעל כדי להדליק את ה- LED ולחצן ה- LED Off כדי לכבות את ה- LED.