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

תקשורת אלחוטית של SmartHome: היסודות הקיצוניים של MQTT: 3 שלבים
תקשורת אלחוטית של SmartHome: היסודות הקיצוניים של MQTT: 3 שלבים

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

וִידֵאוֹ: תקשורת אלחוטית של SmartHome: היסודות הקיצוניים של MQTT: 3 שלבים
וִידֵאוֹ: Programming a Vitrea ARANET Wireless Smart Home System 2024, יולי
Anonim
תקשורת אלחוטית של SmartHome: היסודות הקיצוניים של MQTT
תקשורת אלחוטית של SmartHome: היסודות הקיצוניים של MQTT
תקשורת אלחוטית של SmartHome: היסודות הקיצוניים של MQTT
תקשורת אלחוטית של SmartHome: היסודות הקיצוניים של MQTT

יסודות MQTT:

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

האינטרנט של הדברים:

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

מכשירים המחוברים לאינטרנט ושולטים עליהם. כאשר עובדים עם Internet of Things קשה שלא להגיע לפי פרוטוקול MQTT. זהו פרוטוקול תקשורת כמו אחרים המשמשים ברחבי האינטרנט כיום כגון HTTP או FTP, אולם אופן הפעולה שלו שונה מה שהופך אותו לאידיאלי עבור יישומי Internet of Things.

מהו MQTT:

MQTT (Message Queuing Telemetry Transport הוא פרוטוקול תקשורת קל שמשתמש בארכיטקטורת פרסום/הרשמה. HTTP, שהוא מה שרוב האינטרנט משתמש בו, בנוי על מערכת בקשה/תגובה. פירוש הדבר שהוא מקבל בקשה מלקוח ושולח תגובה ללקוח זה. ל- MQTT יש גם שרת (שנקרא מתווך) וגם לקוחות רבים. בניגוד ל- HTTP, MQTT מאפשר ללקוחות לפרסם או להירשם ל"נושאים "ספציפיים. מה שזה מאפשר הוא תקשורת רחבה יותר באמצעות נקודה מרכזית, המתווך. כל צומת יכול לפרסם לנושא על הברוקר, וכל צומת שנרשם לנושא זה יקבל את ההודעה. לקוחות יכולים להירשם גם לנושאים מרובים ואז יכולים לקבל הנחיות או עדכונים מרובים.

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

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

אספקה

דרוש רק אחד מהבאים:

אובונטו:

מערכת משנה של Windows עבור לינוקס: https://ubuntu.com/wsl (רק אם אין לך Linux/MacOS)

MacOS: דורש MacBook

זה נדרש:

Mosquitto MQTT Broker - הורדה באמצעות apt -get (תיעוד:

שלב 1: התקנה ראשונית (בהתאם למערכת ההפעלה שלך)

MacOS/Linux:

אין צורך בהגדרה פשוט פתח את הטרמינל ודלג אל הגדרת Mosquitto!

Windows:

אם אתה משתמש ב- Windows, יהיה עליך להתקין את מערכת המשנה של Windows עבור Linux. זהו כלי סופר קל לשימוש בעל ערך רב המאפשר לך להפעיל מסוף אובונטו בתוך Windows. אין צורך להתקין ולהפעיל את אובונטו כפולה רק כדי לבדוק את הפיתוח במסוף!

שלבי התקנה:

1. עבור לחנות Windows וחפש אובונטו

2. הורד והתקן את מערכת המשנה של Windows עבור Linux

3. פתח את היישום ופעל לפי ההנחיות להשלמת ההתקנה ואתה מוכן להמשיך!

שלב 2: התקנת יתושים:

התקנת יתושים
התקנת יתושים
התקנת יתושים
התקנת יתושים
התקנת יתושים
התקנת יתושים

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

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

שלבים:

כל השלבים הללו צריכים להסתיים בחלון מסוף.

1. התקן את Mosquitto ו- MQTT לקוחות

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

2. הירשם לנושא

mosquitto_sub -t "בדיקה"

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

3. פתח חלון מסוף חדש ופרסם הודעה בנושא "מבחן"

mosquitto_pub -t "test" -m "שלום עולם עם MQTT!"

זה מפרסם הודעה לנושא "מבחן", ומאפשר למופע המסוף האחר שלנו לקבל את ההודעה בצד המנוי. ההודעה שפורסמה מסומנת ב- "-m" וערך ההודעה הוא "Hello World With MQTT". ניתן לשנות את המסר הזה, בדיוק כמו הנושא, למה שאתה רוצה!

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

שלב 3: סיום

זהו זה! לאחר השלמת הכל אתה מבין את היסודות של אופן הפעולה של MQTT. זוהי הדרכה בסיסית ביותר המציגה רק את המינימום הגרוע של פרוטוקול MQTT. מדריכים עתידיים יעברו יותר לעומק כיצד הפרוטוקול עובד בפועל עם האינטרנט של הדברים, במיוחד עם מודולי ESP8266 המריצים Arduino. היישום המעשי הראשון שלי יהיה מכונת הקפה החכמה שיש לי כרגע בחדר שלי. אם תרצה ללמוד כיצד להכין מכונת קפה הניתנת לשליטה הן מהטלפון והן מאלקסה, הקפד לעקוב אחריי לקבלת הדרכות נוספות.

מוּמלָץ: