תוכן עניינים:
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-23 14:46
ערכת התחלה של OSOYOO NodeMCU IOT
אנא עקוב אחרינו בפייסבוק, מצא את הפריט החדש ששוחרר ושתף את הרעיון והסרטון שלך כיצד להשתמש במוצרינו באופן יצירתי. אתה יכול לקבל מאיתנו החזר כספי או מתנה! Facebook:
יוטיוב:
בשיעור זה, נחבר כפתור מתג ל- NodeMCU, ונשלח את מצב המתג לברוקר MQTT. כאשר לוחצים על הכפתור, NodeMCU יפרסם את מצב הלחצן "נלחץ" לברוקר MQTT ולקוח MQTT ירשם להודעות אלה. כאשר שחרור כפתור הלחיצה יישלח "לא נלחץ".
שלב 1: הכנה
חוּמרָה:
לוח NodeMCU x 1
לחצן מתג x 1
הנגד 1K x 1
לוח לחם x 1
חוטי מגשר
תוֹכנָה:
Arduino IDE (גרסה 1.6.4+)
חבילת לוח ESP8266 ומנהל ההתקן הטורי
לקוח MQTT (MQTTBox כאן)
ספריית Arduino: PubSubClient
שלב 2: תרשים חיבור
בשיעור זה אנו משתמשים ב- D2 (GPIO4) לשליטה במתג, אנא הגדר את החומרה בהתאם לגרף החיבור.
הערה: הנגד 1k משמש כנגד משיכה למטה, במעגל כזה, כאשר המתג סגור, קלט NodeMCU הוא בעל ערך לוגי גבוה, אך כאשר המתג פתוח, הנגד הנפתח מושך את מתח הכניסה. עד הקרקע (ערך אפס לוגי), ומונע מצב לא מוגדר בכניסה.
שלב 3: קוד
העתק את הקוד למטה ל- Arduino IDE:
/ * _ _ _ _ _ _ _ _ _ _ * / _ / / _) / _ / | | | | / _ / / _ / / _) _ / | / *| | _ | | _ | | _ | | | _ | | | _ | | | _ | ((_ | | _ | | | | | * / _/ (_/ / _/ / _ | / _/ / _ (_) _) _/ | _ | _ | _ | * (_/ * השתמש ב- NodeMCU שלח סטטוס לחצן מתג ללקוח MQTT באמצעות WiFi * כתובת אתר הדרכה: * CopyRight www.osoyoo.com */ #include #include
int BUTTON_PIN = D2; הכפתור // מחובר לפין GP1 D1
// עדכן אותם עם ערכים המתאימים לרשת שלך. const char*ssid = "********"; // שים את ה- wifi ssid שלך כאן const char*password = "********"; // שים את סיסמת ה- wifi שלך כאן. const char* mqtt_server = "broker.mqttdashboard.com"; // const char* mqtt_server = "iot.eclipse.org";
WiFiClient espClient;
לקוח PubSubClient (espClient); long lastMsg = 0; הודעת char [50];
void setup_wifi () {
עיכוב (100); // אנו מתחילים בחיבור לרשת WiFi Serial.print ("התחברות ל-"); Serial.println (ssid); WiFi.begin (ssid, סיסמא); בעוד (WiFi.status ()! = WL_CONNECTED) {עיכוב (500); Serial.print ("."); } randomSeed (מיקרו ()); Serial.println (""); Serial.println ("WiFi מחובר"); Serial.println ("כתובת IP:"); Serial.println (WiFi.localIP ()); }
שיחה חוזרת בטלה (char* topic, byte* מטען, אורך אינט לא חתום)
{} // סיים את ההתקשרות החזרה
חיבור מחדש של ריק () {
// לולאה עד שאנו מחוברים מחדש בזמן (! Client.connected ()) {Serial.print ("ניסיון לחיבור MQTT …"); // צור מזהה לקוח אקראי String clientId = "ESP8266Client-"; clientId += מחרוזת (אקראית (0xffff), HEX); // נסה להתחבר // אם למתווך MQTT יש clientID, שם משתמש וסיסמה // שנה את השורה הבאה ל- if (client.connect (clientId, userName, passWord)) if (client.connect (clientId.c_str ())) {Serial.println ("מחובר"); // לאחר שהתחברתי לברוקר MQTT, עשה פקודת subscribe אם יש client.subscribe ("OsoyooCommand"); } אחר {Serial.print ("נכשל, rc ="); Serial.print (client.state ()); Serial.println ("נסה שוב בעוד 5 שניות"); // המתן 5 שניות לפני השהיית ניסיון חוזר (5000); }}}} // לסיים את החיבור מחדש ()
הגדרת בטל () {
Serial.begin (115200); setup_wifi (); client.setServer (mqtt_server, 1883); client.setCallback (callback); pinMode (BUTTON_PIN, INPUT); }
לולאת חלל () {
אם (! client.connected ()) {התחבר מחדש (); } client.loop (); זמן רב עכשיו = מיליס (); סטטוס int; // שלח הודעה כל 2 שניות אם (עכשיו - lastMsg> 2000) {lastMsg = עכשיו; status = digitalRead (BUTTON_PIN); String msg = "מצב לחצן:"; if (status == HIGH) {msg = msg+ "לחץ"; הודעת צ'ארה [58]; msg.toCharArray (הודעה, 58); Serial.println (הודעה); // לפרסם נתוני חיישנים לברוקר MQTT client.publish ("OsoyooData", הודעה); } אחר {msg = msg+ "לא ללחוץ"; הודעת צ'ארה [58]; msg.toCharArray (הודעה, 58); Serial.println (הודעה); // לפרסם נתוני חיישנים לברוקר MQTT client.publish ("OsoyooData", הודעה); }}}
ערוך את הקוד כך שיתאים להגדרות ה- WiFi וה- MQTT שלך כפעולות הבאות: 1) הגדרת נקודה חמה: מצא מתחת לשורת הקוד, שם את ה- SSID והסיסמה שלך.
const char* ssid = "your_hotspot_ssid"; const char* password = "your_hotspot_password שלך";
2) הגדרת כתובת שרת MQTT: תוכל להשתמש בכתובת ה- URL של מתווך MQTT או בכתובת ה- IP שלך כדי להגדיר מעל ערך mqtt_server. תוכל גם להשתמש בשרת MQTT מפורסם בחינם כדי לבדוק את הפרויקט כגון "broker.mqtt-dashboard.com", "iot.eclipse.org" וכו '.
const char* mqtt_server = "broker.mqtt-dashboard.com";
3) הגדרות לקוח MQTT אם מתווך MQTT שלך דורש זיהוי לקוח, שם משתמש וסיסמה, עליך לשנות
אם (client.connect (clientId.c_str ()))
ל
אם (client.connect (clientId, userName, passWord)) // שים כאן את clientId/userName/passWord שלך
אם לא, פשוט שמור אותם כברירת מחדל. לאחר שתעשה זאת, בחר את סוג הלוח המתאים וסוג היציאה כמפורט להלן, ולאחר מכן העלה את הסקיצה ל- NodeMCU.
- לוח: "NodeMCU 0.9 (מודול ESP-12)"
- תדר המעבד: "80MHz" גודל הבזק:"
- 4M (3M SPIFFS)”
- מהירות העלאה:”115200 ″
- יציאה: בחר יציאה סידרית משלך עבור NodeMCU שלך
שלב 4: הגדרות לקוח MQTT
אם אינך יודע כיצד להגדיר לקוח MQTT, בקר במאמר האחרון שלנו:
הגדרות נושאים: נושא לפרסום: OsoyooCommand
נושא להרשמה: OsoyooData
תוצאת ריצה
לאחר ההעלאה, אם שם נקודה חמה וסיסמת Wi -Fi תקינים והמתווך MQTT מחובר, פתח את הצג הטורי, תראה את התוצאה הבאה: המשך ללחוץ על כפתור זה, הצג הסידורי יפיק "סטטוס לחצן: נלחץ" כל 2 שניות; לאחר שחרור כפתור זה, הצג הסידורי יפיק "2 לחצן מצב: לא נלחץ" כל 2 שניות.
מוּמלָץ:
מתג Tuchless למכשירי חשמל ביתיים -- שלוט במכשירי הבית שלך ללא כל מתג: 4 שלבים
מתג Tuchless למכשירי חשמל ביתיים || שלוט במכשירי הבית שלך ללא כל מתג: זהו מתג ללא תאימות למכשירי חשמל ביתיים. אתה יכול להשתמש בזה לכל מקום ציבורי כך שיעזור להילחם בכל וירוס. המעגל מבוסס על מעגל חיישן כהה מתוצרת Op-Amp ו- LDR. החלק החשוב השני במעגל זה של Flip-Flop SR עם Sequencell
מתג WAVE -- מתג פחות מגע באמצעות 555: 4 שלבים
מתג WAVE || מתג פחות מגע באמצעות 555: שלום לכולם ברוכים הבאים היום אני בונה מתג פחות מגע פשוט, הוא מופעל על ידי רק מנופף ביד בעזרת חיישן אינפרא אדום ו 555 טיימר IC אז בואו לבנות אותו …. פעולתו פשוטה כאשר 555 עובדת ככפכף בחנות שלה
מתג אור בשלט רחוק Bluetooth - התאמה מחדש. מתג אור עדיין עובד, ללא כתיבה נוספת: 9 שלבים (עם תמונות)
מתג אור בשלט רחוק Bluetooth - התאמה מחדש. מתג אור עדיין פועל, ללא כתיבה נוספת: עדכון 25 בנובמבר 2017 - לגרסת עוצמה גבוהה של פרויקט זה שיכול לשלוט בקילוואט של עומס, ראה התאמה מחדש של בקרת BLE לעומסי הספק גבוה - אין צורך בחיווט נוסף עדכון 15 בנובמבר 2017 - כמה לוחות / ערימות תוכנה של BLE
מתג מגע - כיצד לבצע מתג מגע באמצעות טרנזיסטור ולוח: 4 שלבים
מתג מגע | כיצד לבצע מתג מגע באמצעות טרנזיסטור ולוח: מתג המגע הוא פרויקט פשוט מאוד המבוסס על יישום טרנזיסטורים. הטרנזיסטור BC547 משמש בפרויקט זה המשמש כמתג המגע. וודא לצפות בסרטון שיתן לך את הפרטים המלאים על הפרויקט
מתג מקלדת ועכבר אוטומטי - מתג USB במעלה הזרם: 5 שלבים
מתג מקלדת ועכבר אוטומטי - מתג USB במעלה הזרם: בפרויקט זה נרכיב מתג מקלדת ועכבר אוטומטי המאפשר שיתוף קל בין שני מחשבים. הרעיון לפרויקט זה נבע מהצורך שלי, בכל זמן נתון, יש שני מחשבים שולחן המעבדה שלי. לרוב זה ה- D שלי