תוכן עניינים:
וִידֵאוֹ: צלצל לאינטרנט !: 4 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:16
Ring the Web מיועד להשפעה על אתרים ממקומות מקומיים/אמיתיים.
מידע נוסף בנושא:
makker.hu/RingTheWeb/
אתה תצטרך:
- כפתור אחד
- נגד 10k
- ארדואינו (כל סוג)
- כבלים
- מחשב קטן, בעל הספק נמוך - במקרה זה RPi
- גישה לשרת או למחשב עם IP ציבורי עם node.js
- אתר אינטרנט
שלבים:
- כפתור לחיצה לארדואינו
- ארדואינו עד פטל
- פטל לשרת
- אתר לשרת
שלב 1: כפתור לחיצה לארדואינו
ראשית אתה צריך ארדואינו ולחצן לחיצה!
כל סוג שלהם אפשרי, זה תלוי בך לבחור.
לחיבורם, אנא עקוב אחר מדריך הכפתורים הרשמי של Arduino.
להלן קוד הארדואינו:
// קוד Arduino לקריאת סיכה דיגיטלית ושליחת ערך ליציאה הטורית
// Balázs Kovács, 2018. הגדרת חלל () {Serial.begin (9600); // לפתוח pinMode יציאה טורית (8, INPUT); // חבר כפתור לחיצה לפין 8} int counter = 0; // משהו המשמש מאוחר יותר לולאת חלל () {if (digitalRead (8) == 1) {// לבדוק סיכה 8 סטטוס Serial.write ("8"); } עיכוב (100); מונה ++; אם (מונה = 20) {// כל 20x100 = 2000ms -> מונה = 0; Serial.write ("0"); // שולח הודעה "אני קיים" לשרת}} // זה הכל!
שלב 2: ארדואינו עד פטל
כעת נוכל לחבר את ארדואינו למחשב. במקרה זה אנו משתמשים בפטל בגלל צריכת החשמל הנמוכה שלו.
חבר אותו באמצעות USB או ישירות בעזרת סיכות RX-TX, המתוארות כאן.
לאחר מכן התקן את node.js ו- npm כמתואר כאן. מילות המפתח הן:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
ואז
sudo apt -get install -y nodejs
Npm (מנהל החבילות של Node.js) זקוק למודולי socket.io-client ו- serialport, לכן התקן אותם:
npm להתקין socket.io-client
npm התקן יציאה טורית
פתח ושמור קובץ something.js עם הקוד הבא:
// אתחל את חיבור socket.io:
שקע var; var io = require ('socket.io-client'); socket = io ("https://yourserver.com:port"); // אם החיבור לשרת מצליח: socket.on ('התחבר', פונקציה () {socket.send ("אני כאן!"); console.log ("מחובר לשרת");}); // לאתחל את תקשורת היציאה הטורית, ניתן לשנות את NB /dev = ttyACM0: var SerialPort = require ('serialport'); var serialPort = SerialPort חדש ('/dev/ttyACM0', {baudRate: 9600}); // אם משהו מגיע מהארדואינו, שולח הודעות שונות // לשרת לפיו serialPort.on ('data', function (data) {console.log ('Data:', data.toString ('ascii')); if (data.indexOf ('8')! ==-1) {socket.send ('/RingTheBell 1');} if (data.indexOf ('0')! ==-1) {שקע. שלח ('/client1 1');}}); // קרא נתונים זמינים - אני חושב שזה לא הכרחי serialPort.on ('קריא', פונקציה () {console.log ('Data:', port.read ());});
כעת עליך להגדיר גם את קוד node.js בצד השרת עד שתוכל להתחיל ולבדוק את הסקריפט על ידי
צומת./something.js
אם משהו לא בסדר, אנא יידע אותי!
שלב 3: קוד בצד השרת
בצד השרת, אנו זקוקים ל- node.js עם שרת socket.io.
אז תוסיף אותו עם:
npm התקן socket-io
אז תזדקק לסקריפט דומה לקוד בשלב השני, עם ההבדל שהוא ממתין לחיבורים, ואם הם קיימים, הוא ישדר כל הודעה שנשלחה מהלקוח לכל הלקוחות, בזה במקרה, למשתמשי האתר …
אז, פתח servercript.js עם הדברים הבאים:
var http = require ('http'), io = require ('socket.io'); // לפתוח שרת http מינימלי. socket.io צריך את זה. var server = http.createServer (function (req, res) {res.writeHead (200, {'Content-Type': 'text/html'}); res.end ('hello');}); // הפעל שקע tcp - הגדר את היציאה שלך! server.listen (7004, function () {console.log ("שרת TCP פועל ביציאה 7004");}); // לנתח הודעות tcp var socket = io.listen (שרת); socket.on ('חיבור', פונקציה (לקוח, rinfo) {client.broadcast.emit ('מערכת', 'מישהו מחובר …'); client.on ('הודעה', פונקציה (אירוע) {console.log (אירוע); // שידר כל הודעה לכל משתמשים מחוברים! socket.emit ('הודעה', אירוע);}); client.on ('כולם', פונקציה (אירוע) {}); client.on ('נתק', function () {socket.emit ('הודעה', 'מישהו מנותק …');});});
נסה לבדוק עם זה
צומת./serverscript.js
אם גם הלקוח פועל, אתה אמור לראות את התקשורת שלו בשתי הקונסולות. לפחות אלה:
נתונים: 0
-מעת לעת אומר למערכת כי תקשורת השרת Arduino-> פטל-> פועלת.
ו
נתונים: 8
- אומר שהכפתור מופעל.
שלב 4: הגדרת אתר
עכשיו אנחנו מוכנים עם 75%!
סיימו את העבודה הקשה עם כלול את הקוד לאתר.
זה קל.
ראשית, כלול את לקוח socket.io:
לאחר מכן צור את מערכת מנתחי ההודעות:
שקע var;
socket = io ("yourserver.com:port"); socket.on ('connect', function () {socket.send ('לקוח אנונימי - משתמש באתר - מחובר!'); socket.on ('message', function (msg) {// אם אתה רוצה לראות כל הודעה, פשוט בטל את זה: // console.log (msg); אם (msg == "/RingTheBell 1") // כאן מגיע הקוד לשימוש לביטוי אירוע הלחיצה: {document.body.style.background = "#ccc"; setTimeout (function () {document.body.style.background = "#000";}, 1000);}; אם (msg == "/client1 1") {// כאן תוכל למקם משהו המגיב לסטטוס הלקוח המחובר};});
Voilá!
מוּכָן.
מוּמלָץ:
משוב לחות קרקע מבוקר מערכת השקיה בטפטוף מחוברת לאינטרנט (ESP32 ו- Blynk): 5 שלבים
משוב לחות הקרקע מבוקר מערכת השקיה בטפטוף מחוברת לאינטרנט (ESP32 ו- Blynk): דאג לגינה או לצמחים שלך כשאתה יוצא לחופשות ארוכות, או שכח להשקות את הצמח שלך מדי יום. ובכן הנה הפתרון שלה מערכת השקיה לטפטוף מבוקרת ולחות מחוברת גלובלית הנשלטת על ידי ESP32 בחזית התוכנה
חייגן אינטרנט לחייג לאינטרנט עבור Aritech עם Arduino: 6 שלבים
אזעקת בית חייגן אינטרנט עבור Aritech עם Arduino: אזעקה ביתית ועסקית נפוצה מאוד המשמשת במדינות רבות באירופה הן סדרת לוחות האזעקה של Aritech. אלה הותקנו עד תחילת שנת 2000 במאות אלפיהם ורבים עדיין קיימים בבתים כיום - בדרך כלל הם מסומנים מחדש על ידי
נורת לב LED ניאון לאינטרנט: 6 שלבים (עם תמונות)
נורת לב LED ניאון לאינטרנט: קילומטרים חוץ מהמישהו המיוחד הזה או סתם התרחקות חברתית? רוצה ליידע אותם שאתה חושב עליהם? בנה את מנורת הלב הניאון LED המחוברת לאינטרנט והגדר אותה פועמת מהטלפון או מהמחשב שלך, בכל עת ומכל מקום. הוראה זו
חממה מדהימה עם השקיה אוטומטית, חיבור לאינטרנט ועוד: 7 שלבים (עם תמונות)
חממה מדהימה עם השקיה אוטומטית, חיבור לאינטרנט והרבה יותר: ברוכים הבאים למדריך זה. בתחילת מרץ, הייתי בחנות גנים וראיתי כמה חממות. ומכיוון שרציתי לעשות פרויקט עם צמחים ואלקטרוניקה כבר הרבה זמן, המשכתי וקניתי אחד: https://www.instagram.com/p
יצירת סטריאו לחנות מחוברת לאינטרנט: 6 שלבים (עם תמונות)
יצירת סטריאו לחנות מחוברת לאינטרנט: כשאני מפעיל את הרדיו תוך כדי נסיעה אני פונה לתחנת הרדיו המקומית שלי במכללה 90.7 KALX. לאורך השנים ובמקומות שונים בהם חייתי תמיד הקשבתי לתחנות רדיו במכללה. בזכות העוצמה של האינטרנט אני יכול להאזין עכשיו