Messaging Queuing Telemetry Protocol, או MQTT, הוא פרוטוקול הודעות קל משקל המיועד למכשירים וסביבות ברוחב פס נמוך. זהו פתרון מהיר, קל לפריסה וחסכוני באנרגיה לחיבור והחלפת מידע בין התקני IoT מרובים. זה דורש מתווך/שרת MQTT ואת הנושא שאליו מתפרסמות ההודעות והרשומות על ידי המכשירים או המשתמשים כדי לשלוח או לקבל את המידע.
במדריך זה, נפרוס את הברוקר MQTT ואת הכלי Node-RED ב-Raspberry Pi כדי לחבר מכשירי IoT חכמים ב-MQTT ולהשתמש בהם לאוטומציה ביתית.
דברים שתצטרכו
כדי לבנות ולפרוס שרת MQTT עם Node-RED, תצטרך את הדברים הבאים:
- Raspberry Pi Zero W או טוב יותר. אנו ממליצים להשתמש ב-Raspberry Pi 3 או 4 (אם זמין).
- כרטיס microSD (8GB ומעלה).
- קורא כרטיסי microSD.
- מחשב Linux, Mac או Windows PC.
- חיבור לאינטרנט (Wi-Fi).
שלב 1: התקן Raspberry Pi OS Lite (64 סיביות)
תזדקק לגרסת 64 סיביות Lite של מערכת ההפעלה Raspberry Pi. בתוך ה Raspberry Pi Imager כלי במחשב אחר, לחץ בחר מערכת הפעלה > Raspberry Pi OS (אחר), ולאחר מכן בחר Raspberry Pi OS Lite (64 סיביות). בנוסף, תרצה להשתמש בהגדרות המתקדמות של Imager כדי להפעיל SSH (השתמשנו
פאי ו פֶּטֶל בתור שם המשתמש והסיסמה עבור מדריך זה) והגדר את חיבור ה-Wi-Fi. לפרטים נוספים, עיין במדריך שלנו בנושא כיצד להתקין מערכת הפעלה על Raspberry Pi. לאחר כתיבת מערכת ההפעלה לכרטיס, הוצא אותו והכנס אותו ל-Raspberry Pi שלך.שלב 2: התחבר דרך SSH ועדכן את החבילות
אתה יכול להתחבר ל-Raspberry Pi שלך דרך SSH באמצעות PuTTY ב-Windows או Terminalon macOS ו-Linux. עם זאת, עליך לדעת את ה-IP של Raspberry Pi כדי להתחבר דרך SSH. כדי לברר זאת, אתה יכול לפתוח את הגדרות ה-DHCP של הנתב האלחוטי או להשתמש ב-Fingapp בטלפון החכם שלך.
הזן את כתובת ה-IP ב מֶרֶק ולחץ לְחַבֵּר. הקלד את שם המשתמש והסיסמה שלך כדי להיכנס.
במסוף Linux או macOS, הקלד YourPiUsername@IPAddress ולאחר מכן הקלד את הסיסמה כדי להיכנס. לאחר חיבור באמצעות SSH, הפעל את הפקודה הבאה כדי לעדכן את רשימת החבילות ולשדרג את החבילות.
sudo apt update && שדרוג sudo apt –y
שלב 3: התקן את MQTT Broker
כדי להתקין ולהפעיל את מתווך MQTT (Mosquitto), בצע את הצעדים הבאים.
- התקן את Mosquitto על ידי הפעלת הפקודה הבאה בחלון המסוף.
זה יתחיל להתקין את ה- Mosquitto (ברוקר MQTT) ושירותי לקוחות.sudo apt להתקין יתוש יתוש-לקוחות -י
- לאחר ההתקנה, הפעל את שירות Mosquitto ובדוק את גרסת ה-MQTT באמצעות הפקודות הבאות.
סודוsystemctlלְאַפשֵׁריתוש.שֵׁרוּת
יתוש -v - צור חשבון משתמש כדי לאפשר גישה מרחוק מאומתת באמצעות הפקודה הבאה.
כאן רבי הוא שם המשתמש (אתה יכול להשתמש בכל מה שאתה רוצה). הזן את הסיסמה כאשר תתבקש. רשום את שם המשתמש והסיסמה האלה לשימוש מאוחר יותר.sudo mosquitto_passwd -c /etc/mosquitto/passwd ravi
- פתח את ה mosquitto.conf קובץ בעורך הננו באמצעות הפקודה הבאה.
הדבק את הקוד הבא בעורך הננו.sudo nano /etc/mosquitto.conf
ללחוץ CTRL+X בא אחריו י ו להיכנס כדי לשמור את השינויים.לכל_מאזין_הגדרות נָכוֹן
pid_file /run/mosquitto/mosquitto.pid
הַתמָדָה נָכוֹן
persistence_location /var/lib/mosquitto/
log_dest file /var/log/mosquitto/mosquitto.log
include_dir /etc/mosquitto/conf.d
אפשר_אנונימי שֶׁקֶר
מאזין 1883
password_file /etc/mosquitto/passwd - הפעל מחדש את הברוקר MQTT על ידי הפעלת הפקודה הבאה.
sudo systemctl הפעל מחדש את יתוש
- בדוק את סטטוס הברוקר של MQTT כדי לראות אם MQTT פועל.
אם אתה רואה את הפלט לעיל, MQTT פועל.sudo systemctl status יתוש
שלב 4: בדוק את ברוקר MQTT
כדי לבדוק אם הברוקר MQTT עובד או לא, התקן MQTTLens או אפליקציית MQTT דומה בכרום או בכל דפדפן אינטרנט אחר והפעל אותו. הזן את כתובת ה-IP של ה-Raspberry Pi ואת שם המשתמש/סיסמה של MQTT. נְקִישָׁה צור חיבור.
הזן כל נושא ב- הירשם שדה ואותו נושא ב לְפַרְסֵם שדה. הקלד "היי" או משהו בשדה ההודעה ולחץ לְפַרְסֵם.
אם אתה רואה את ההודעה מתחת למנויים, הברוקר של MQTT עובד מצוין.
שלב 5: התקן Node-RED
עם Node-RED, אתה יכול לפרסם הודעות או לשלוח ולקבל מטענים אל או מהמכשירים החכמים שלך. ניתן להשתמש במטען זה כדי להפעיל מכשירים חכמים להפעלה/כיבוי או לקבל נתונים (כגון טמפרטורה) מחישן. אתה יכול להשתמש בדפדפן האינטרנט שלך כדי ליצור זרימות כאלה ב-Node-RED ולשלוט במכשירים החכמים שלך.
כדי להתקין את Node-RED, בצע את הפקודה הבאה בחלון המסוף.
bash //raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
פעולה זו תוריד ותתקין את ה-Node-RED ב-Raspberry Pi שלך. זה עשוי לקחת זמן להשלים. לאחר התקנת Node-RED, עליך ליצור קובץ הגדרות Node-RED על ידי הפעלת הפקודה הבאה.
init של אדמין בצומת אדום
לאחר מכן בצע את השלבים הבאים:
- הקש על להיכנס מַפְתֵחַ.
- האם ברצונך להגדיר אבטחת משתמש? בחר כן. הזן שם משתמש וסיסמה. שמור על זה בטוח שכן זה ישמש לכניסה ולניהול של Node-RED באמצעות ממשק אינטרנט.
- בחר גישה מלאה.
- אתה יכול להוסיף משתמש נוסף או לבחור לא להמשיך.
- בחר לא כאשר נתבקש להפעיל את תכונות הפרויקט.
- ללחוץ להיכנס.
- הקלד ביטוי סיסמה ושמור אותו בטוח.
- בחר את ערכת נושא ברירת המחדל > מונקו (ברירת מחדל).
- בחר לא כאשר מתבקשים לטעון צמתים חיצוניים.
ברגע שזה נעשה, הפעל מחדש את Node-RED.
הפעלה מחדש של צומת אדום
עכשיו אתה יכול לבקר Your-Raspberry-Pi-IP: 1880 בדפדפן אינטרנט כדי לפתוח ולהיכנס לפאנל הניהול של Node-RED.
כעת תוכל ליצור זרימות ב-Node-RED. להלן דוגמה לזרימת Node-RED בה אנו משתמשים כדי להפעיל את תצוגת המטריצה WS2812B 8x32 שלנו המציגה מידע חיישן שונה המותקן בביתנו בזמן אמת.
כדי להתחיל, אתה יכול גם בנה שעון חכם עשה זאת בעצמך באמצעות מטריצת נקודות MAX7219, וחבר אותו לשרת MQTT שלך כדי להציג בו טקסט או הודעות.
אפשר אוטומציה ביתית באמצעות MQTT ו-Node-RED
כעת תוכל ליצור זרימות כדי לשלוט או לנטר את מכשירי הבית החכם התומכים ב-MQTT. אתה יכול גם לבנות מתגים חכמים של Tasmota עשה זאת בעצמך או חיישנים חכמים מבוססי ארדואינו, והתקנים חכמים אחרים עם בקרת MQTT ולהשתמש בהם עם שרת MQTT ו-Node-RED זה. אתה יכול ליצור זרימות לאוטומציה ביתית בהתבסס על אירועים, זמן או מטען שהתקבל מלקוח ה-MQTT של הטלפון החכם שלך.
בסמארטפון האנדרואיד שלך, אתה יכול להתקין את MQTT Dash כדי להתחבר למתווך ה-MQTT שלך ולשלוח או לקבל מטענים אל או מהנושאים השונים שהמכשירים החכמים שלך מנויים או מפרסמים אליהם.