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

MQTT על לוחות ארמטרוניקס: 3 שלבים
MQTT על לוחות ארמטרוניקס: 3 שלבים

וִידֵאוֹ: MQTT על לוחות ארמטרוניקס: 3 שלבים

וִידֵאוֹ: MQTT על לוחות ארמטרוניקס: 3 שלבים
וִידֵאוֹ: SMLIGHT SLZB-06 - Zigbee координатор с Ethernet, wi-fi, POE и USB C, zigbee2mqtt и ZHA 2024, יולי
Anonim
MQTT על לוחות ארמטרוניקס
MQTT על לוחות ארמטרוניקס

במדריך זה נרצה להראות לך בתחילה כיצד תוכל להשתמש במערכת מבוססת לינוקס (דביאן או אובונטו) ולהתקין עליה את Mosquitto (Mqtt Broker), גם להראות לך כיצד להשתמש בלקוח Mqtt בטלפון שלך (אנדרואיד)/ מבוסס לינוקס. מערכת, שליחה וקבלה של הודעות באמצעות Mqtt. לאחר שהכרנו זאת, ברצוננו להראות לך כיצד תוכל להגדיר ולחבר את הלוח שלנו עם מתווך Mqtt מותקן זה. כמו כן, ברצוני להראות לך כיצד תוכל להוסיף אימות לברוקר Mqtt וכמה עצות וטריקים בסיסיים לניפוי באגים. אז בואו נתחיל ………..

שלב 1: התקנת ברוקר Mqtt:

התקנת ברוקר Mqtt
התקנת ברוקר Mqtt
התקנת ברוקר Mqtt
התקנת ברוקר Mqtt
התקנת ברוקר Mqtt
התקנת ברוקר Mqtt
התקנת ברוקר Mqtt
התקנת ברוקר Mqtt

ישנם מספר מתווכי Mqtt שתוכל להתקין. כמה ידועים הם כאמור להלן. חלקם שירותים מבוססי ענן.

  • HiveMQ
  • MosquittoCloud
  • MQTT
  • Adafruit.io

אנו נראה לך כיצד להתקין את Mosquitto במערכת מבוססת לינוקס (אובונטו 18.04). לשם כך הוסף תחילה את Mosquitto לרשימת המקורות של אובונטו. ברגע ש Mosquitto יהיה זמין במאגרי אובונטו תוכל להתקין אותו עם apt-get.

פשוט פתח טרמינל. כדי לפתוח מסוף, עבור לפינה השמאלית התחתונה של שולחן העבודה של אובונטו, לחץ על הצג יישום (רשת מסומנת 3X3). ייפתח חלון. שם אתה מחפש טרמינל. לחץ על מסוף אתה אמור לראות חלון פתוח כמוצג בתמונות הבאות.

  • הצג יישום (תמונה 1).
  • חפש מסוף (תמונה 2).
  • חלון מסוף (תמונה 3).

הזן את הפקודות הבאות לאחר פתיחת הטרמינל

sudo apt-add-repository ppa: mosquitto-dev/mosquitto-ppa

עדכון sudo apt-get

sudo apt-get להתקין יתוש

תוכל גם להתקין את לקוח Mqtt. הפקודה לעשות זאת תהיה

sudo apt-get להתקין לקוחות יתושים

כמה תמונות לעיונך

  • הוספת ppa (תמונה 4).
  • עדכון ריפו (תמונה 5).
  • התקנת Mosquitto (תמונה 6).
  • התקנת לקוח Mosquitto (תמונה 7).

שלב 2: בדיקת MQTT (יתוש)

בדיקת MQTT (יתוש)
בדיקת MQTT (יתוש)
בדיקת MQTT (יתוש)
בדיקת MQTT (יתוש)
בדיקת MQTT (יתוש)
בדיקת MQTT (יתוש)

כדי לבדוק mqtt באמצעות אובונטו (אותה מערכת או מערכת אחרת) עליך להתקין את לקוח mqtt שהותקן קודם לכן על ידי הפקודה sudo apt-get install mosquitto-clients. במידה ותרצה לבדוק זאת באמצעות טלפון נייד (אנדרואיד), תוכל להתקין את אפליקציית MyMqtt מחנות Play.

Mqtt עובד על משהו שנקרא נושאים. לנוחות ההבנה ראו נושאים אלה כתיקיה בכונן קשיח במחשב. הבה נתייחס למחשב זה כאל שרת מחשבים (שבעולם mqtt הוא מתווך Mqtt). בשרת זה תן לנו לשקול שיש לנו תיקיות אחת.

שם התיקיה: /Folder_one /

כעת הבה נבחן שני אנשים משתי מערכות שונות (מחשב/מחשב נייד) שניגשים לשרת זה כדי לקרוא קבצים או לשלוח/לזרוק קבצים או לבצע את שני הפעולות.

נקרא לשני האנשים/המערכת בשם מערכת X, מערכת Y (אלו הם לקוחות Mqtt בעולם ה- Mqtt).

עכשיו, נניח שמערכת X שולחת/זורקת קובץ כלשהו (שם קובץ: טמפרטורה) לתיקייה "/Folder_one/", זה בעולם mqtt אנו יכולים לקרוא לזה פרסום (אנו שולחים הודעה/מטען במקום קובץ).

עכשיו, נניח שמערכת Y רוצה לקבל/לקרוא קובץ זה או כל קובץ חדש או לעדכן אותו בתיקייה, הדבר הראשון שהיא צריכה הוא לדעת את שם התיקיה והנתיב, שבמקרה שלנו הוא "/Folder_one/". אז עכשיו זה ילך לתיקייה הזו ויקרא/יקבל את הקובץ (שם הקובץ: טמפרטורה). הכרת הנתיב/הנושא ובדיקת שינויים בקובץ/קבצים חדשים בעולם ה- Mqtt היא מנוי לנושא זה.

בהתחשב בדוגמה למעלה, מערכת X מפרסמת ל- "/Folder_one" ולמערכת Y יש מנויים ל- "/Folder_one"

שים לב גם שמערכת X יכולה להירשם כמנוי ל- "/Folder_one" ומערכת Y יכולה גם לפרסם ב- "/Folder_one". כמו כן, אפילו מערכת השרת (The Mqtt Broker) יכולה לפרסם/להירשם ל- "/Folder_one" על ידי התקנת לקוח Mqtt עליה כפי שעשינו כרגע. הדבר השני שכדאי לזכור הוא לפרסם או להירשם לנושא שתצטרך לדעת את כתובת ה- IP של מתווך Mqtt.

ראשית נבדוק אותו באמצעות לקוח אובונטו המותקן על אותה מערכת כמו המתווך. נפתח שני חלונות מסוף אחד מהם יפורסם והשני ירשם אליו. לדוגמא נשתמש ב- /Folder_one כנושא. לפני פאב/תת לנושא תצטרך למצוא את כתובת ה- IP של אובונטו. לשם כך לחץ על הפינה הימנית העליונה של המסך, בחר בהגדרת wifi, משם תוכל למצוא את כתובת ה- IP של מערכת האובונטו (כיום ה- IP של הברוקר). צילום מסך משותף לעיון (תמונה 8).

או כדי למצוא כתובת IP של הברוקר אתה יכול למצוא כתובת IP על ידי התקנת כלים נטו באמצעות הפקודה הבאה במסוף

sudo apt להתקין net-tools

התקנת כלי רשת (תמונה 9). לאחר מכן הקלד את הפקודה ipconfig תקבל רשימה של ממשק רשת עם כתובת ה- mac ו- IP

sudo ipconfig

כתובת ה- IP של המערכת שלי היא 192.168.1.67 (תמונה 10)

לפרסם

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m pub_to_folderone

כאן, mosquitto_pub היא הפקודה, ואחריה רכיב מזהה הפרמטרים -h שהיא כתובת ה- IP של המארח /המתווך (במקרה שלנו 192.168.1.67), ואחריו -t שהוא שם הנושא למפרסם (במקרה שלנו /Folder_one), ואחריו -m כלומר ההודעה/המטען שיש לשלוח אותו (במקרה שלנו הוא pub_to_folderone).

על מנת להירשם

mosquitto_sub -h 192.168.1.67 -t /Folder_one

הודעה שנשלחה על ידי המוציא לאור: pub_to_folderone

דוגמא לפרסום

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m "hi test mqtt"

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m "mqtt עובד"

דוגמא לתגובה שהתקבלה בהרשמה לנושא

mosquitto_sub -h 192.168.1.67 -t /Folder_one

הודעה שנשלחה על ידי המוציא לאור:

  • pub_to_folderone
  • היי מבחן mqtt
  • mqtt עובד

פאב סוב בשני חלון מסוף נפרד זה לצד זה (תמונה 11)

בדיקת Mqtt באנדרואיד (mqtt שלי)

התקן את אפליקציית mymqtt מחנות Play בטלפון אנדרואיד שלך (תמונה 12)

פתח את האפליקציה ולחץ על הפינה השמאלית העליונה (תמונה 13, תמונה 14).

לחץ על הגדרות והזן את כתובת ה- IP של הברוקר, היציאה כברירת מחדל תהיה 1883. נכון לעכשיו איננו משתמשים בברוקר mqtt מאומת כך ששם המשתמש והסיסמה יהיו ריקים. פשוט שמור אותו ולחץ שוב על הפינה העליונה השמאלית של האפליקציה (<הגדרות) המגירה תיפתח מחדש (תמונה 15).

בחלק העליון של המגירה הוא יראה לך את כתובת ה- IP של הברוקר והיציאה שאליה מחוברת האפליקציה (תמונה 16).

כעת הוסף את הנושא שאתה רוצה להירשם בו על ידי לחיצה על הירשם. כאן נוסיף נושא בשם /Folder_one (תמונה 17, תמונה 18).

לאחר שתעשה זאת, ממערכת האובונטו באמצעות מסוף אנו נפרסם בנושא. בעת פרסום אתה אמור לפרסם את המטען/ההודעה באפליקציה לנייד זה. למשל פרסום מטען בשם "ARM -Automation Robotics & Mechatronics". הפיקוד הוא כפי שהוזכר קודם לכן.

mosquitto_pub -h 192.168.1.67 -t /Folder_one -m "ARM -Automation Robotics & Mechatronics"

פרסום ממערכת אובונטו (תמונה 19).

התקבלה הודעה שפורסמה בלוח המחוונים (תמונה 20).

עכשיו תן לנו לפרסם מטלפון אנדרואיד (mqtt שלי) ולהירשם במערכת אובונטו. לדוגמא זו אנו משתמשים בנושא "/mymqtt_to_pub".

לשם כך פתח תחילה מסוף ממערכת האובונטו שלך והירשם לנושא "/mymqtt_to_pub" באמצעות הפקודה הבאה (תמונה 21)

mosquitto_sub -h 192.168.1.67 -t /mymqtt_to_pub

כעת עבור למגירה של אפליקציית mymqtt ולחץ על פרסם. הוסף את נושא הפרסום (במקרה שלנו זהו "/mymqtt_to_pub") ושלח הודעה כלשהי כאילו נשלח "היי אובונטו", לחץ על כפתור השליחה (תמונה 22, תמונה 23).

ההודעה אמורה להופיע בחלון המסוף של מערכת אובונטו (תמונה 24).

שים לב שמערכת אובונטו וטלפון האנדרואיד צריכים להיות באותה רשת או שצריך לחשוף את יציאת 1883 ואתה צריך לדעת את כתובת ה- IP של הנתב/שער שלך כדי ש mqtt יעבוד. אם ברצונך להוסיף אימות לברוקר mqtt שלך תוכל לעשות זאת על ידי ביצוע הקישור לבלוג המוזכר להלן https://medium.com/@eranda/setting-up-authenticat… עקוב אחר שלב ב 'של הבלוג. יש לנו אימות של המתווך שלנו ואנו נשתמש בברוקר מאומת עבור הלוחות שלנו.

שלב 3: עבודה עם לוח Armtronix & Mqtt

עבודה עם לוח Armtronix & Mqtt
עבודה עם לוח Armtronix & Mqtt
עבודה עם לוח Armtronix & Mqtt
עבודה עם לוח Armtronix & Mqtt
עבודה עם לוח Armtronix & Mqtt
עבודה עם לוח Armtronix & Mqtt

כרגע לצורך ההנחיה הזו, אנו משתמשים בלוח ה- Wifi Single Dimmer שלנו, שמשתמש בטריאק כדי לקצוץ את גל הסינוס ובעקבותיו מעמעם את הנורה או לשלוט במהירות המאוורר. כמו כן חיברנו אותו באמצעות סוג אימות mqtt.

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

כוח על הלוח, הוא יתחיל לארח נקודת גישה Wifi.

באמצעות טלפון אנדרואיד או מחשב נייד התחבר ל- AP זה (תמונה 25).

לאחר שהתחבר ל- AP זה הקלד 192.168.4.1 על ידי פתיחת דפדפן (כרום/פיירפוקס) מהמערכת/הטלפון המחובר ל- AP. וודא שאינך משתמש בחיבור הנתונים שלך (3G/4G).

בעת הקלדת ה- IP ייפתח דף אינטרנט בו יש להזין את הדברים הבאים (תמונה 26).

  • SSID: שם AP Wifi.
  • סיסמא: סיסמת SSID.
  • מצב IoT Mqtt או Http (בחר Mqtt).
  • Mqtt Broker IP (במקרה שלנו זה 192.168.1.67).
  • שם משתמש וסיסמה של Mqtt, מכיוון שאנו משתמשים בסוג אימות, השתמשנו ב- Naren, xxxx
  • נושא פרסום Mqtt: זה יהיה גם על איזה נושא הלוח מפרסם, השתמשנו /testpub.
  • נושא ההרשמה של Mqtt: זה יהיה לאיזה נושא הלוח מאזין לפקודות להפעלת הטריאק, השתמשנו /testsub.
  • שם המכשיר: זהו השם שאתה קורא לאלקסה להפעלת הלוח, השתמשנו ב- corvi.

לאחר הזנת הפרטים, לחץ על כפתור השליחה, תוך כדי פעולה זו תקבל מסך כפי שמוצג בתמונה 27, המתן זמן מה עד שהלוח יפסיק לארח את ה- AP.

שים לב כי חיברנו את הלוח שלנו באמצעות Uart למסך הטורי של Arduino IDE. אז בצד שמאל תראה את הודעות הבאגים שהוא מדפיס באמצעות Uart (זה רק לעיונך).

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

מחובר לברוקר MQTT עם אימות. נרשם לנושא 1.

לאחר שהוא מדפיס את זה אתה יכול כעת להתחיל לשלוח לו פקודות באמצעות mqtt בנושא אליו נרשמת כלומר /testsub /

עבור לוח זה פקודות הן:

  • R13_ON: כדי להפעיל את הטריאק ל -100%.
  • R13_OFF: כדי לכבות את הטריאק ל- 0%.
  • עמעם: xx: היכן, xx הוא ערך העמעום וניתן לגוונו בין 0 ל -99.
  • איפוס: כדי לנקות את תצורת הלוח.
  • סטטוס: הדפס את מצב העמעם של הלוח בנושא פרסום הלוח.

כדי לשלוח פקודה זו ממערכת מבוססת אובונטו שבה מותקן לקוח mqtt, פשוט הקלד אותה כפי שמוצג להלן. שני פרמטרים נוספים מתווספים כאן בגלל האימות -כלומר-u שהוא שם המשתמש ו- -P הוא הסיסמה, שים לב כי אלה תלויים באותיות רישיות.

mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testsub -m R13_ON

mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testsub -m R13_OFF

mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testsub -m דימר: 50

הערה: 50 הוא ערך העמעם

mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testsub -m R13_ON

mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t /testsub -m סטטוס

עבור הסטטוס העדכני ביותר, הסטטוס מודפס על נושא הפרסום של הלוח שבמקרה שלנו הוא /testpub. בלוח שלנו כל שינוי במכשיר מודפס בנושא פרסום הלוח. לדוגמה, אם נעבור את Dimmer: 50 בנושא המנוי על הלוח מאשר על ביצועו הפיזי, הלוח ישלח הודעה המציינת את הרמה המעומעמת בנושא הפרסום. הדוגמה מוצגת למטה, כדי להירשם ממערכת האובונטו שלך לנושא הפרסום של הלוח הזן את הפקודה הבאה

mosquitto_sub -h 192.168.1.67 -u Naren -P xxxx -t /testpub

המסר שאנו מקבלים הוא

DimmerIS50

להלן כמה מכנסי מסך של אותו הדבר (תמונה 28, תמונה 29)

מוּמלָץ: