מדריך MQTT ל-ESP32: שליחת קריאת חיישן ראשונה לענן

MQTT הוא פרוטוקול פרסום/הרשמה קל משקל שמניע את רוב פרויקטי ה-IoT בבית. מדריך ה-MQTT הזה ל-ESP32 לוקח אתכם מסקיצה ריקה ועד לוח שמפרסם קריאת חיישן ומאזין לפקודות — בתוכנת ארדואינו ובספריית PubSubClient הפופולרית.

מה צריך

  • לוח ESP32 (לוח ESP32-S3 עם מסך עובד מצוין ומציג ערכים בזמן אמת)
  • תוכנת ארדואינו עם חבילת הלוחות של ESP32 מותקנת
  • ספריית PubSubClient
  • MQTT broker (Eclipse Mosquitto מקומי, או broker בענן בחינם)

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

פתחו את מנהל הספריות והתקינו את PubSubClient של Nick O'Leary. ודאו שהלוח שלכם מופיע תחת Tools > Board. תלות אחת זו מטפלת בכל לחיצת היד של MQTT בשבילכם.

שלב 2 — חיבור ל-Wi-Fi

הגדירו את פרטי הרשת וקראו ל-WiFi.begin(ssid, password). המתינו ל-WL_CONNECTED לפני כל פעולה ברשת — באג נפוץ אצל מתחילים הוא לפרסם לפני שה-Wi-Fi עלה.

שלב 3 — הגדרת ה-broker

צרו WiFiClient ו-PubSubClient, ואז client.setServer(broker_host, 1883). תנו לכל מכשיר מזהה לקוח ייחודי כדי שה-broker יוכל להבדיל ביניהם.

שלב 4 — פרסום קריאה

בתוך loop() קראו חיישן וקראו ל-client.publish("sensors/temp", payload). שמרו על מטען קטן — מספר או מחרוזת JSON קצרה הם אידיאליים. זכרו לקרוא ל-client.loop() לעיתים קרובות כדי שהלקוח יטפל בתעבורה נכנסת וישמור על החיבור.

שלב 5 — הרשמה לפקודות

קראו ל-client.subscribe("device/cmd") והטמיעו את פונקציית ה-callback. כשמגיעה הודעה אפשר להפוך GPIO, לשנות מצב או להשיב בנושא אחר. הקישור הדו-כיווני הזה הוא מה שהופך חיישן למכשיר שניתן לשלוט בו.

פתרון תקלות

אם החיבור נופל, הפכו את הלולאה ללא חוסמת והוסיפו חיבור מחדש בהשהיה קצרה במקום לאפס את השבב. לפריסות מאובטחות השתמשו ב-WiFiClientSecure בפורט 8883. לוחות עם יותר RAM, כמו משפחת ESP32-S3, מתמודדים עם TLS בנוחות.

לעוד אפשרויות לוחות, ראו את מדריכי לוחות הפיתוח ESP32.

שאלות נפוצות

איזה MQTT broker עובד עם ESP32?

כל broker סטנדרטי עובד: Eclipse Mosquitto, HiveMQ, EMQX או broker בענן בחינם. ה-ESP32 צריך רק את כתובת ה-broker, הפורט ואולי פרטי התחברות. פורט 1883 הוא MQTT פשוט; 8883 הוא MQTT מעל TLS.

האם ESP32 יכול להריץ MQTT מעל TLS?

כן. השתמשו ב-WiFiClientSecure במקום WiFiClient ומסרו את תעודת ה-broker (או דלגו על אימות בבדיקות). TLS מוסיף עלות זיכרון, ולכן לוח עם יותר RAM כמו ESP32-S3 נוח לכך.

למה חיבור ה-MQTT של ה-ESP32 נופל כל הזמן?

בדרך כלל בגלל לולאה חוסמת או איפוס watchdog. שמרו על לולאה לא חוסמת, קראו ל-client.loop() לעיתים קרובות, והטמיעו חיבור מחדש עם השהיה קצרה במקום איפוס קשיח.

מדריכים קשורים

Comments

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *

המליצו לחבר — שניכם מקבלים US$5.0
MadeInCN Shop (长沙市熙麟电子商务有限公司)  ·  נוסדה ב-2022  ·  מספר חברה 91430104MABNHQAG6N  ·  岳麓区银盆岭街道岳麓大道89号香江国际1栋1412  ·  WhatsApp +86 16673109418  ·  madeincnshop@126.com  ·  תמיכת לקוחות: מענה תוך 12 שעות
MadeInCN היא מפיצה עצמאית. HUAWEI וכל שמות המוצרים, הלוגואים והמותגים האחרים הם רכושם של בעליהם המתאימים ומשמשים רק לתיאור המוצרים המוצעים למכירה.