לקורס האינטראקטיבי ←

MQTT Bite › יחידה 1

🌐 יחידה 1 מתוך 6 · יסודות⏱️ 4 דק׳ קריאה🎥 סרטון 4 דק׳

מהפכת ה-MQTT וארכיטקטורת Pub/Sub

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

פתחו את היחידה האינטראקטיבית עם הסימולטור ←

🎥 סרטון ההדרכה

🖼️ היחידה באינפוגרפיקה

אינפוגרפיקה: מהפכת ה-MQTT וארכיטקטורת Pub/Sub

💡 מושגי מפתח

הבעיה של HTTP בעולם ה-IoT

פרוטוקול HTTP מבוסס על מודל בקשה-תגובה (Request-Response) ומחייב יצירת חיבור TCP וכותרות גדולות (מאות בתים) בכל בקשה. בציוד קצה, חיישנים מופעלי סוללה ורשתות סלולריות/לוויין – תקורה זו מבזבזת משאבי אנרגיה ורוחב פס יקרים.

✏️ דוגמה: כותרת HTTP טיפוסית תופסת 500-1000 בתים, בעוד כותרת קבועה של MQTT תופסת רק 2 בתים!

ארכיטקטורת Publish / Subscribe (Pub/Sub)

שלא כמו ב-Client-Server קלאסי, ב-MQTT מכשירים אינם מדברים זה עם זה ישירות. ישנו שרת מרכזי (Broker). מכשיר שרוצה לשלוח מידע הוא Publisher, מכשיר שרוצה לקבל מידע הוא Subscriber, והחיבור ביניהם מתבצע אך ורק דרך נושאים (Topics).

✏️ דוגמה: חיישן טמפרטורה מפרסם לטופיק "home/living/temp", ואפליקציה בטלפון שנרשמה לאותו טופיק מקבלת את הערך מיד.

שלושת ממדי ההפרדה (Decoupling)

מודל ה-Pub/Sub מעניק ניתוק מוחלט בין השולח למקבל: 1. הפרדת מרחב (Space) – השולח והמקבל לא צריכים להכיר כתובות IP זה של זה. 2. הפרדת זמן (Time) – המקבל אינו חייב להיות מחובר באותו שבריר שנייה. 3. הפרדת סנכרון (Sync) – פעולת השליחה אינה חוסמת את השולח.

📌 מה לקחת מהיחידה

  • MQTT פועל מעל TCP ומציע כותרת זעירה של 2 בתים בלבד.
  • מפרסמים (Publishers) ומנויים (Subscribers) מנותקים לחלוטין ומתקשרים דרך Broker.
  • הניתוק המשולש (מרחב, זמן וסנכרון) מעניק סקיילביליות עצומה למערכות IoT.

❓ שאלות ותשובות

מהו גודל הכותרת הקבועה (Fixed Header) המינימלי בחבילת MQTT?

2 בתים (Bytes). MQTT תוכנן במיוחד לרשתות דלות-משאבים. הכותרת הקבועה של פאקטת MQTT היא בת 2 בתים בלבד, מה שמאפשר חיסכון דרסטי בתעבורה.

האם Publisher ב-MQTT צריך לדעת מראש כמה מכשירים רשומים לנושא שפרסם?

לא, ה-Broker הוא היחיד שמנתב ומנהל את רשימת המנויים (Space Decoupling). במודל Pub/Sub קיים ניתוק מרחבי מוחלט (Space Decoupling). המפרסם שולח לטופיק ב-Broker ואינו יודע כלל אם יש 0, 1 או מיליון מאזינים.

איזה פרוטוקול שכבת תעבורה (Transport) משמש בדרך כלל כתשתית ל-MQTT?

TCP (חיבור רציף ומסודר). MQTT רץ מעל שכבת TCP, המבטיחה זרימת נתונים רציפה, שמירה על סדר הבתים וזיהוי ניתוקים פיזיים.

יחידה הבאה: שפת הנושאים (Topics) ו-Wildcards ←