התקן שרת MQTT ו-Node-RED על Raspberry Pi עבור אוטומציה ביתית

התקן שרת MQTT ו-Node-RED על Raspberry Pi עבור אוטומציה ביתית

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 או ב-Terminal ב-macOS ולינוקס. עם זאת, עליך לדעת את ה-IP של Raspberry Pi כדי להתחבר דרך SSH. כדי לברר, אתה יכול לפתוח את הגדרות ה-DHCP של הנתב האלחוטי שלך או להשתמש ב-Fing אפליקציה בטלפון החכם שלך.



כיצד להתאים בקר ps3 לאנדרואיד
  מצא את ה-IP של הפטל שלך דרך הגדרות ה-DHCP של הנתב

הזן את כתובת ה-IP ב מֶרֶק ולחץ לְחַבֵּר . הקלד את שם המשתמש והסיסמה שלך כדי להיכנס.

  להתחבר ל-raspberry pi מעל ssh

במסוף Linux או macOS, הקלד YourPiUsername@IPAddress ולאחר מכן הקלד את הסיסמה כדי להיכנס. לאחר חיבור באמצעות SSH, הפעל את הפקודה הבאה כדי לעדכן את רשימת החבילות ולשדרג את החבילות.





sudo apt update && sudo apt upgrade y

שלב 3: התקן את MQTT Broker

כדי להתקין ולהפעיל את מתווך MQTT (יתוש), בצע את הצעדים הבאים.

  1. התקן את Mosquitto על ידי הפעלת הפקודה הבאה בחלון המסוף.
    sudo apt install mosquitto mosquitto-clients -y
      התקן שרת יתושים mqtt זה יתחיל להתקין את ה- Mosquitto (ברוקר MQTT) ושירותי לקוחות.
  2. לאחר ההתקנה, הפעל את שירות Mosquitto ובדוק את גרסת MQTT באמצעות הפקודות הבאות.
    sudo systemctl enable mosquitto.service 
    mosquitto -v
      לאפשר שירות יתושים
  3. צור חשבון משתמש כדי לאפשר גישה מרחוק מאומתת באמצעות הפקודה הבאה.
    sudo mosquitto_passwd -c /etc/mosquitto/passwd ravi
    כאן יַחַס הוא שם המשתמש (אתה יכול להשתמש בכל מה שאתה רוצה). הזן את הסיסמה כאשר תתבקש. רשום את שם המשתמש והסיסמה האלה לשימוש מאוחר יותר.
  4. פתח את ה mosquitto.conf קובץ בעורך הננו באמצעות הפקודה הבאה.
    sudo nano /etc/mosquitto.conf
    הדבק את הקוד הבא בעורך הננו.
    per_listener_settings true 
    pid_file /run/mosquitto/mosquitto.pid
    persistence true
    persistence_location /var/lib/mosquitto/
    log_dest file /var/log/mosquitto/mosquitto.log
    include_dir /etc/mosquitto/conf.d
    allow_anonymous false
    listener 1883
    password_file /etc/mosquitto/passwd
      ערוך את קובץ התצורה של יתוש ללחוץ CTRL+X בא אחריו י ו להיכנס כדי לשמור את השינויים.
  5. הפעל מחדש את הברוקר MQTT על ידי הפעלת הפקודה הבאה.
    sudo systemctl restart mosquitto
  6. בדוק את סטטוס הברוקר של MQTT כדי לראות אם MQTT פועל.
    sudo systemctl status mosquitto
      בדוק את מצב שרת mqtt אם אתה רואה את הפלט לעיל, MQTT פועל.

שלב 4: בדוק את ברוקר MQTT

כדי לבדוק אם הברוקר MQTT עובד או לא, התקן MQTTLens או אפליקציית MQTT דומה בכרום או בכל דפדפן אינטרנט אחר והפעל אותו. הזן את כתובת ה-IP של ה-Raspberry Pi ואת שם המשתמש/סיסמה של MQTT. נְקִישָׁה צור חיבור .





  התחבר לשרת mqtt ושלח הודעה לנושא הבדיקה כדי לבדוק שה-mqtt broker עובד

הזן כל נושא ב- הירשם שדה ואותו נושא ב- לְפַרְסֵם שדה. הקלד 'היי' או משהו בשדה ההודעה ולחץ לְפַרְסֵם .

  הודעות שפורסמו בהצלחה המציינות ש-mqtt פועל

אם אתה רואה את ההודעה מתחת למנויים, הברוקר של MQTT עובד בסדר.

שלב 5: התקן את Node-RED

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

כדי להתקין את Node-RED, בצע את הפקודה הבאה בחלון המסוף.

bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
  התקן את הצומת האדום

פעולה זו תוריד ותתקין את ה-Node-RED ב-Raspberry Pi שלך. זה עשוי לקחת זמן להשלים. לאחר התקנת Node-RED, עליך ליצור קובץ הגדרות Node-RED על ידי הפעלת הפקודה הבאה.

העכבר השמאלי של העכבר לא עובד Windows 10
node-red admin init

לאחר מכן בצע את השלבים הבאים:

  1. הקש על להיכנס מַפְתֵחַ.
  2. האם ברצונך להגדיר אבטחת משתמש? בחר כן . הזן שם משתמש וסיסמה. שמור על זה בטוח שכן זה ישמש לכניסה ולניהול של Node-RED באמצעות ממשק אינטרנט.
  3. בחר גישה מלאה .
  4. אתה יכול להוסיף משתמש נוסף או לבחור לא להמשיך.
  5. בחר לא כאשר נתבקש להפעיל את תכונות הפרויקט.
  6. ללחוץ להיכנס .
  7. הקלד ביטוי סיסמה ושמור אותו בטוח.
  8. בחר את ערכת נושא ברירת המחדל > מונקו (ברירת מחדל) .
  9. בחר לא כאשר מתבקשים לטעון צמתים חיצוניים.
  הגדר את התקנת הצומת האדומה

ברגע שזה נעשה, הפעל מחדש את Node-RED.

node-red restart

עכשיו אתה יכול לבקר Your-Raspberry-Pi-IP:1880 בדפדפן אינטרנט כדי לפתוח ולהיכנס לפאנל הניהול של Node-RED.

  גישה לצומת אדום על ה-ip של raspberry pi ביציאה 1880

כעת תוכל ליצור זרימות ב-Node-RED. להלן דוגמה לזרימת Node-RED בה אנו משתמשים כדי להפעיל את תצוגת המטריצה ​​WS2812B 8x32 שלנו המציגה מידע חיישן שונה המותקן בביתנו בזמן אמת.

  זרימה אדומה של צומת לדוגמה להצגת ערכי חיישן שונים על תצוגת מטריצה ​​8x32

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

אפשר אוטומציה ביתית באמצעות MQTT ו-Node-RED

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

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

כיצד להחזיר הודעות שנמחקו ב- fb