תוכן עניינים:
וִידֵאוֹ: תקשורת אלחוטית של SmartHome: היסודות הקיצוניים של MQTT: 3 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:11
יסודות 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. היישום המעשי הראשון שלי יהיה מכונת הקפה החכמה שיש לי כרגע בחדר שלי. אם תרצה ללמוד כיצד להכין מכונת קפה הניתנת לשליטה הן מהטלפון והן מאלקסה, הקפד לעקוב אחריי לקבלת הדרכות נוספות.
מוּמלָץ:
תקשורת אלחוטית של LoRa 3 עד 8 קילומטרים עם E32 בעלות נמוכה (sx1278/sx1276) עבור Arduino, Esp8266 או Esp32: 15 שלבים
תקשורת אלחוטית של LoRa 3Km עד 8Km עם E32 בעלות נמוכה (sx1278/sx1276) עבור Arduino, Esp8266 או Esp32: אני יוצר ספרייה לניהול EBYTE E32 המבוססת על סדרת Semtech של מכשיר LoRa, מכשיר חזק מאוד, פשוט וזול. אתה יכול למצוא גרסת 3 ק"מ כאן, גירסת 8 ק"מ כאן הם יכולים לעבוד על מרחק של 3000m עד 8000m, ויש להם הרבה תכונות ו
Arduino תקשורת מוצפנת אלחוטית: 5 שלבים
תקשורת מוצפנת אלחוטית Arduino: שלום לכולם, במאמר השני הזה אסביר לכם כיצד להשתמש בשבב Atecc608a לאבטחת התקשורת האלחוטית שלכם. לשם כך אשתמש ב- NRF24L01+ לחלק האלחוטי וב- Arduino UNO. שבב המיקרו ATECC608A תוכנן על ידי
טווח ארוך, 1.8 ק"מ, תקשורת אלחוטית של Arduino to Arduino עם HC-12 .: 6 שלבים (עם תמונות)
טווח ארוך, 1.8 ק"מ, תקשורת אלחוטית של Arduino to Arduino עם HC-12 .: במדריך זה תלמד כיצד לתקשר בין Arduinos למרחק רב של עד 1.8km באוויר הפתוח. HC-12 הוא יציאה טורית אלחוטית. מודול תקשורת שימושי מאוד, עוצמתי במיוחד וקל לשימוש. ראשית אתה תצא
תקשורת אלחוטית באמצעות מודול משדר NRF24L01 לפרויקטים מבוססי Arduino: 5 שלבים (עם תמונות)
תקשורת אלחוטית באמצעות מודול משדר NRF24L01 לפרויקטים מבוססי Arduino: זוהי ההדרכה השנייה שלי להנחיה בנושא הרובוטים והבקרים. זה באמת מדהים לראות את הרובוט שלך חי ופועל כצפוי ותאמין לי שזה יהיה יותר כיף אם תשלוט ברובוט שלך או בדברים אחרים אלחוטיים במהירות ו
כיצד למדוד נכון את צריכת החשמל של מודולי תקשורת אלחוטית בעידן צריכת החשמל הנמוכה ?: 6 שלבים
כיצד למדוד נכון את צריכת החשמל של מודולי תקשורת אלחוטית בעידן צריכת החשמל הנמוכה ?: צריכת חשמל נמוכה היא מושג חשוב ביותר באינטרנט של הדברים. רוב בלוטות ה- IoT צריכות להיות מופעלות באמצעות סוללות. רק על ידי מדידה נכונה של צריכת החשמל של המודול האלחוטי נוכל להעריך במדויק את כמות הסוללה שאני