תוכן עניינים:

NodeMCU - דוגמה בסיסית של MQTT: 4 שלבים
NodeMCU - דוגמה בסיסית של MQTT: 4 שלבים

וִידֵאוֹ: NodeMCU - דוגמה בסיסית של MQTT: 4 שלבים

וִידֵאוֹ: NodeMCU - דוגמה בסיסית של MQTT: 4 שלבים
וִידֵאוֹ: צעדים ראשונים עם בקר ESP8266 2024, יולי
Anonim
Image
Image

שיעור זה יציג את השימוש הבסיסי בפרוטוקול MQTT בלוח NodeMCU. אנו משתמשים ב- MQTTBox כלקוח MQTT כאן, ואנו נשתמש ב- NodeMCU להשלמת הפעולות הבאות:

פרסם את "שלום עולם" לנושא "outTopic" כל שתי שניות. הירשם לנושא "inTopic", הדפס את כל ההודעות שהתקבלו.הנחה שהעומסים שהתקבלו הם מחרוזות לא בינאריות. אם ההודעה הרשומה היא "1", הדלק את LED onboard. כבה את ה- LED המשולב אם ההודעה להירשם היא "0".

הכנה: Osoyoo NodeMCU x1

כבל USB x1

מחשב x1

Arduino IDE (גרסה 1.6.4+)

חבר את NodeMCU למחשב באמצעות כבל USB.

שלב 1: התקנת ספרייה

התקנת ספריה
התקנת ספריה
התקנת ספריה
התקנת ספריה

התקן את PubSubClientlibrary

אנו זקוקים להתקנת ספריית קצה MQTT (PubSubClient) כדי לתקשר עם מתווך MQTT, אנא הורד את הספרייה מהקישור הבא:

שחרר את הקובץ מעל, העבר את התיקייה הפרוסה לתיקיית ספריית Arduino IDE.

פתח את ה- IED של Arduino, תוכל למצוא את "pubsubclient" בעמודה "דוגמאות".

התקן את לקוח MQTT:

נשתמש ב- MQTTBox כלקוח MQTT. אנא הורד מ:

שלב 2: קוד

קוד
קוד
קוד
קוד

פתח את Arduino IDE–> קובץ–> דוגמה–> pubsubclient–> mqtt esp8266, תקבל קוד לדוגמה.

ערוך את הקוד כך שיתאים להגדרות ה- WiFi וה- MQTT שלך כפעולות הבאות: 1) הגדרת נקודה חמה: מצא מתחת לשורת הקוד, שם את ה- SSID והסיסמה שלך.

const char* ssid = "your_hotspot_ssid"; const char* password = "your_hotspot_password שלך";

2) הגדרת כתובת שרת MQTT, כאן אנו משתמשים בברוקר MQTT בחינם "broker.mqtt-dashboard.com". אתה יכול להשתמש בכתובת 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 שלך

שלב 3: הגדרת לקוח MQTT (MQTTBOX)

תצורת לקוח MQTT (MQTTBOX)
תצורת לקוח MQTT (MQTTBOX)
תצורת לקוח MQTT (MQTTBOX)
תצורת לקוח MQTT (MQTTBOX)
תצורת לקוח MQTT (MQTTBOX)
תצורת לקוח MQTT (MQTTBOX)
תצורת לקוח MQTT (MQTTBOX)
תצורת לקוח MQTT (MQTTBOX)

בשלב זה נראה כיצד ליצור לקוח MQTT ב- MQTTBox.

פתח את MQTTBox ולחץ על הכפתור הכחול כדי להוסיף לקוח MQTT חדש.

הגדר את הגדרות הלקוח MQTT להלן:

  • שם לקוח MQTT - בחר כל שם שאתה אוהב
  • פרוטוקול - בחר "mqtt/tcp"
  • מארח - הקלד את "mqtt_server" שלך בעמודה זו, וודא שהוא זהה לסקיצה שלך. (אנו משתמשים כאן ב "broker.mqtt-dashboard.com")
  • שמור הגדרות אחרות כברירת מחדל
  • לחץ כדי לשמור את השינויים שלך.

לאחר מכן, תיכנס אוטומטית לדף החדש. אם כל ההגירה לעיל נכונה, "לא מחובר" ישתנה ל"מחובר ", שם הלקוח MQTT ושם המארח שלך יוצגו בראש דף זה.

הגדרת נושא: ודא שנושא פרסום הלקוח שלך ב- MQTT זהה לנושא ההרשמה שלך ב- Arduino (inTopic כאן). וודא שנושא ההרשמה של לקוח MQTT שלך זהה לנושא פרסום הסקיצות שלך ב- Arduino (outTopic here).

שלב 4: תוצאת הפעלת התוכנית

תוצאת הפעלת התוכנית
תוצאת הפעלת התוכנית
תוצאת הפעלת התוכנית
תוצאת הפעלת התוכנית
תוצאת הפעלת התוכנית
תוצאת הפעלת התוכנית
תוצאת הפעלת התוכנית
תוצאת הפעלת התוכנית

לאחר ההעלאה, אם שם הנקודה החמה והסיסמה של ה- wifi תקינים והמתווך MQTT מחובר, פתח את הצג הטורי, תראה את הודעת הפרסום "שלום עולם" על הצג הטורי.

לאחר מכן פתח את לקוח MQTT ופרסם את המטען "1" לנושא, NodeMCU זה יקבל הודעות אלה על ידי הרשמה ל- "inTopic", והנורית תדלק.

פרסם מטען "0" לנושא זה, נורית ה- NodeMCU תכבה.

מוּמלָץ: