- מהו Node.js?
- רכיבים נדרשים
- תרשים מעגל
- הגדרת מסגרת Node.js
- התקנת ספריית ג'וני-פייב
- נורית מהבהבת עם Arduino ו- Node.js
- שליטה על בהירות LED באמצעות שרת האינטרנט Arduino ו- Node.js
ראינו מספר דוגמאות להבהוב נורית באמצעות מיקרו-בקרים שונים ושפות תכנות שונות. היום נשתמש במסגרת JavaScript פופולרית מאוד Node.js כדי לשלוט על ה- LED המחובר ל- Arduino Uno. אנו נשתמש גם ב- Node.js כדי לשלוט על בהירות ה- LED מדף אינטרנט באמצעות Arduino. על ידי כמה שינויים ושימוש ב- ESP8266, ניתן להמיר זאת לפרויקט IoT שבו ניתן לשלוט על הנורית מכל מקום.
מהו Node.js?
Node.js היא מסגרת JavaScript מבוססת שימוש נרחב שנבנתה על מנוע V8 JavaScript של Google Chrome ויישומים בפיתוח I / O יישומי אינטרנט אינטנסיביים כגון יישומי עמוד בודד, אתרי הזרמת וידאו וכו '
ערכנו הדרכה אינפורמטיבית בעבר בנושא תחילת העבודה עם Node.js ו- Raspberry Pi לשליטה על נורית LED. במדריך זה נעקוב אחר הגישה הדומה, כלומר הנורית תישלט בשתי שיטות כגון:
- מהבהב נורית פשוט על ידי כתיבת קוד JavaScript במסגרת Node.js.
- בקרת בהירות LED באמצעות מסגרת Node.js וממשק אינטרנט מכל דפדפן: ארדואינו UNO ישמש כשרת אינטרנט ודף אינטרנט HTML יתארח במחשב נייד או מחשב נייד.
רכיבים נדרשים
חוּמרָה:
- מועצת UNO של ארדואינו
- לד
- נַגָד
תוֹכנָה:
- Arduino IDE: להעלאת שרטוט לוועדת UNO של Arduino.
- Firmata: זהו פרוטוקול לתקשורת עם מיקרו-בקרים שונים מתוכנות במחשב, בסמארטפון וכו '. ניתן לטעון את הקושחה של Firmata בכל לוח מיקרו-בקר (כמו Arduino, Teensy) והיא מסוגלת לדבר עם כל מחשב נייד, מחשב או טלפון חכם. ספריית Firmata מגיעה עם Arduino IDE, כך שאין צורך להוריד מכל מקום. ערכנו הדרכה לשליטה על Arduino עם Raspberry Pi באמצעות pyFirmata.
- Johnny-Five: Johnny-Five היא פלטפורמת הרובוטיקה מבוססת ה- JavaScript ו- IoT המשמשת לכתיבת קודים ב- JavaScript ומשמשת ליצירת גשר בין לוחות Arduino למחשב. ג'וני-פייב נבדקו עם מגוון לוחות תואמים לארדואינו כמו Arduino UNO, NANO, Promini וכו '. במדריך זה יש להוריד את ספריית Johnny-Five כדי להשתמש בכל התכונות שלה. מדריך ההתקנה יוסבר בהמשך במדריך זה.
תרשים מעגל
דיאגרמת מעגלים היא בסיסית מאוד, אנחנו רק צריכים לחבר נורית LED עם Arduino.הגדרת מסגרת Node.js
לפני תחילת הקידוד והפיתוח, יש להוריד ולהגדיר את Node.js. להורדת סביבת Node.js פשוט בצע צעדים פשוטים.
שלב 1: - הורד את הקובץ.exe של Node.js מהאתר הרשמי שלו.
שלב 2: - הפעל את ה- exe ופעל לפי ההוראות הנתונות במתקין.
שלב 3: - הפעל מחדש את המחשב כפי שהוא מומלץ במסמך Node.js וגם להשתמש בכל התכונות של Node.js
שלב 4: - כדי לבדוק אם הצומת הותקן, פתח את שורת הפקודה והקלד Node –v
שלב 5: - תוצג גרסת Node.js המציינת שה- Node.js מותקן.
התקנת ספריית ג'וני-פייב
כעת לאחר הורדת ה- Node.js, צור תיקיה חדשה בשם "LED_Control" במסמכים כדי לשמור את כל קבצי הפרויקט במקום אחד. כל קובץ פרויקט יישמר בתיקיית " LED_Control ". הורד כעת את ספריית ג'וני-פייב בתיקיה " LED_Control ". להורדה, בצע את השלבים הבאים:
שלב 1: - פתח את שורת הפקודה
שלב 2: - עבור לתיקיית " LED_Control " על ידי ביצוע הפקודה ' cd '.
שלב 3: - הפעל את הפקודה ' npm install johnny-five'
שלב 4: - זה יתקין את כל התלות של ג'וני-פייב.
שלב 5: - התקן גם ספריות נחוצות המשמשות במדריך זה לבקרת בהירות LED. ישנן שלוש ספריות המשמשות כאן:
- express: עטיפת שרת
- socket.i o: ספריית WebSockets
- serialpor t: עטיפת יציאה טורית
שלב 5: - הפעל את הפקודות שלמטה אחת אחת להתקנת שלוש הספריות הללו.
להתקין אקספרס npm להתקין שקע. nio להתקין סדרתי
כאמור קודם הפרויקט מחולק לשני חלקים:
- ראשית, Arduino LED מהבהב עם Node.js
- שנית, בקרת בהירות LED מממשק האינטרנט באמצעות Arduino ו- Node.js.
נורית מהבהבת עם Arduino ו- Node.js
כדי להבהב נורית, יש להגדיר את ה- Arduino כדי לתקשר עם המחשב.
הגדרת Arduino UNO עבור LED מהבהב:
על מנת לגרום ל- Arduino UNO לקבל פקודה ממחשב נייד ל LED Control, יש לטעון את הקושחה של Firmata ל- Arduino UNO. כדי לטעון את קושחת Firmata, פשוט בצע את הצעדים הפשוטים הבאים:
- חבר את ה- Arduino UNO באמצעות כבל USB
- פתח את Arduino IDE ובחר Arduino UNO לוח (אם אתה משתמש בלוח אחר בחר בהתאמה) מתוך כלים.
- בחר את יציאת ה- COM המתאימה של Arduino UNO המחובר
- עכשיו מצא את סקיצה Firmata באמצעות תפריט -> קובץ -> דוגמאות -> Firmata -> StandardFirmata.
- העלה את סקיצה "StandardFirmata" על ידי מעבר לקובץ -> העלאה.
זה יטען את סקיצה Firmata על Arduino UNO ועכשיו UND של Arduino מוכן לקבל כל פקודה מהמחשב.
כתיבת תוכנית Node.js עבור LED מהבהב:
כדי לכתוב תוכנית Node.js פתח כל עורך טקסט (Notepad, Notepad ++ וכו ') והדבק את קוד ' blink_led ' המצורף בסוף הדרכה זו ושמור אותו עם סיומת של '.js ' כלומר (blink_led.js) ב "LED_Control" התיקייה שנוצרה לפני. נדון בצעדים חשובים בקובץ הקוד blink_led.js.
הגדר תחילה את פין המיקרו-בקר שבו מחובר לד. בדוגמה זו, ה- LED מחובר לסיכה 5 של Arduino UNO. ה- 'var' ב- Node.js מייצג הצהרת משתנים.
var led_pin = 5;
וחמש ג'וני מודול צרכים להיכלל ואת הצרכים הלוח כדי להיבחר. המודולים ב- Node.js הם ספריות. הפונקציה ' דורש () ' תיכנס למודול.
var johnny_five = דורש ("Johnny-five"); var arduino_board = johnny_five.Board () חדש;
Console.log בהצהרה דומה הצהרת הדפסה וזה ידפיס הודעה. וסיכת ה- LED מוגדרת למצב פלט והעיכוב המוגדר ניתן להבהוב.
console.log ("הנורית החלה להבהב!"); var led = johnny_five.Led חדש (led_pin); led.blink (100);
כעת להפעלת התוכנית, בצע את השלבים הבאים:
- פתח את שורת הפקודה
- אתר את תיקיית "LED_Control" על ידי ביצוע הפקודה 'cd'
- הפעל את הפקודה 'Node led_blink.js'. אם תבוצע בהצלחה היא תראה "נורית החלה להבהב!" כפי שמוצג בתמונה למטה .
- ה- led יתחיל להבהב ב- Arduino UNO Pin 5.
- וזה מסיים את החלק הראשון של ההדרכה שלנו כלומר נורית מהבהבת עם Node.js
שליטה על בהירות LED באמצעות שרת האינטרנט Arduino ו- Node.js
בדומה להבהוב נורית עם Node.js, בחלק זה יהיו גם חלקים כלומר הגדרת Arduino UNO, הגדרת ממשק אינטרנט וכתיבת תוכנית Node.js.
הגדרת Arduino UNO לבקרת בהירות LED:
כדי להקים את Arduino UNO, פשוט העלה את הסקיצה " arduino_control.ino " ללוח UNO של Arduino וזהו. זה יקים את מועצת Arduino. תוכלו להוריד את הקוד השלם עם קבצי HTML מכאן. את " arduino_control.ino" קוד ביצוע צעדים חשוב מעורבים.
בתחילה קצב השידור נקבע על 9600.
Serial.begin (9600);
היציאה הטורית תמיד מחפשת בתים נכנסים והבת נכתב לסיכה 5 שהיא סיכת PWM.
בעוד (! Serial.available ()); analogWrite (5, Serial.read ());
זהו זה. זה יגדיר את Arduino לתפס את הבייט לסיכת PWM וישנה את בהירות ה- LED.
הגדרת ממשק אינטרנט:
כדי לשלוט על בהירות ה- LED באמצעות ממשק האינטרנט, נכתב פיסת קוד HTML אחת קטנה שיש לה ממשק בדפדפן. כדי לקבל ממשק, בצע את הצעדים הפשוטים להלן:
- צור תיקיה חדשה בשם "ציבורית" בתוך התיקיה "LED_Control" שנוצרה לפני כן.
- כעת הורד את הקבצים "index.html" ו- "style.css" והעביר את שני הקבצים לתיקיה "הציבורית" שנוצרה בשלב הראשון לעיל. ניתן להוריד קבצים מכאן.
זה ייצור מחוון בדף האינטרנט כדי לשלוט על בהירות ה- LED באמצעות Node.js ו- Arduino.
מעניין ללמוד בקרת נורית LED מדף אינטרנט והיא יכולה להתבצע עם מיקרו-בקר אחר על ידי יצירת שרת אינטרנט ומארח את דף האינטרנט בשרת. בדוק כאן את כל הפרויקטים הקשורים לשרת.
כתיבת תוכנית Node.js לבקרת בהירות LED:
השלב הבא יהיה כתיבת שרטוט "brightness_control.js" באמצעות Node.js וביצוע הקוד. הביצוע של הקוד יהיה קצת דומה ל- LED מהבהב עם Node.js.
כדי לכתוב תוכנית Node.js פתח כל עורך טקסט (Notepad, Notepad ++ וכו ') והדבק את קוד ' brightness_control ' המצורף בסוף מדריך זה ושמור אותו עם סיומת '.js ' כלומר (brightness_control.js) ב "LED_Control" התיקייה שנוצרה לפני. ניתן גם להוריד את הקוד מכאן.
בדומה לתוכנית Blink Led Node.js, חלק זה ישתמש גם במודולים (ספריה). כלול את המודול 'אקספרס', 'http' ו'יציאה טורית '.
var express = דורש ('express'); אפליקציה = express (); שרת = דורש ('http'). createServer (אפליקציה); io = דורש ('socket.io'). האזן (שרת); var SerialPort = דורש ("serialport") //. SerialPort
כעת הגדר את יציאת ה- COM ואת שידור הקידום. שים לב שב- Windows זה תמיד יהיה COM עם סיומת מספר (COM6, COM4, COM24 וכו '), אז הגדר למטה כנדרש אחרי' / '. הגדר גם buadrate.
var serialPort = SerialPort חדש ("/ COM4", {baudRate: 9600});
התחל להאזין לשרת ביציאה 8080.
server.listen (8080);
הגדר את בהירות 0 בהתחלה. ואז תפס את נתוני הבהירות ל- IO עם מודול שקעים, שהוא מודול שקע רשת. הנתונים יתקבלו באמצעות ממשק האינטרנט באמצעות פרוטוקול שקע.
io.sockets.on ('חיבור', פונקציה (שקע) { socket.on ('led', function (data) { brightness = data.value; var buf = new Buffer (1); buf.writeUInt8 (בהירות, 0)); serialPort.write (buf);
כעת פלט את ערך בהירות LED שהגיע משקע לסיכת LED.
io.sockets.emit ('led', {value: brightness}); }); socket.emit ('led', {value: brightness}); });
עכשיו רק כדי לבצע ניפוי באגים, הוסף הצהרת הדפסה בסוף. Console.log הוא הצהרת הדפסה ב- Node.js.
console.log ("שרת האינטרנט התחיל עבור אל 'http: // localhost: 8080' בדפדפן שלך.");
כעת כדי להפעיל את התוכנית על ידי ביצוע השלבים הבאים:
- פתח את שורת הפקודה
- אתר את תיקיית "LED_Control" על ידי ביצוע הפקודה 'cd'
- הפעל את הפקודה 'node brightness_control.js'. אם היא מבוצעת בהצלחה היא תראה "שרת האינטרנט התחיל עבור אל" http: // localhost: 8080 "בדפדפן שלך." ממש מתחת לפקודה .
- עכשיו עבור לדפדפן שלך והקלד "localhost: 8080" בכתובת האתר.
- כדי לשנות את הבהירות פשוט הזז את המחוון מערכים 0-255.
הקוד מלא וידאו עובד של המדורים שונים מצורף בהמשך. גם אם יש לך ספק או הצעה, תוכל להגיע אלינו באמצעות פורום או תגובה למטה. ניתן להוריד את כל קבצי הקוד גם מכאן.