תוכן עניינים:
- שלב 1: מהו MQTT וכיצד הוא פועל
- שלב 2: פטל פטל
- שלב 3: כיצד להגדיר כתובת IP סטטית
- שלב 4: NodeMCU
- שלב 5: סקריפט פייתון
- שלב 6: חיבורים ותרשים מעגלים
- שלב 7: תוצאה
וִידֵאוֹ: פטל פאי מדבר עם ESP8266 באמצעות MQTT: 8 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:16
בפרויקט זה, אסביר מהו פרוטוקול MQTT וכיצד הוא משמש לתקשורת בין מכשירים. לאחר מכן, כהדגמה מעשית, אדגים כיצד להתקין מערכת לקוח וברוקר, שבו מודול ESP8266 כמו גם שיחות RPi אחד לשני או לשלוח הודעה כאשר לוחצים על כפתור.
חומר נדרש
1. פטל פי 3
2. NodeMCU
3. LED
4. כפתור
5. נגדים (10k, 475 אוהם)
שלב 1: מהו MQTT וכיצד הוא פועל
MQTT
MQTT הוא פרוטוקול העברת נתונים ממכונה למכונה (M2M). MQTT נוצר במטרה לאסוף נתונים ממכשירים רבים ולאחר מכן להעביר נתונים אלה לתשתית ה- IT. הוא קל משקל, ולכן אידיאלי לניטור מרחוק, במיוחד בחיבורי M2M הדורשים טביעת רגל קטנה או כאשר רוחב הפס של הרשת מוגבל.
כיצד פועל MQTT
MQTT הוא פרוטוקול פרסום/הרשמה המאפשר להתקני קצה-רשת לפרסם לברוקר. לקוחות מתחברים למתווך זה, אשר לאחר מכן מתווך את התקשורת בין שני המכשירים. כל מכשיר יכול להירשם או להירשם לנושאים מסוימים. כאשר לקוח אחר מפרסם הודעה בנושא מנויים, הברוקר מעביר את ההודעה לכל לקוח שנרשם כמנוי.
MQTT הוא דו -כיווני, ושומר על מודעות למפגשים סטטיסטיים. אם התקן קצה-רשת מאבד את הקישוריות, כל הלקוחות הרשומים יקבלו הודעה על התכונה "צוואה אחרונה וברית" של שרת MQTT, כך שכל לקוח מורשה במערכת יוכל לפרסם ערך חדש בחזרה לקצה ה- מכשיר רשת, שמירה על קישוריות דו כיוונית.
הפרויקט מחולק ל -3 חלקים
ראשית, אנו יוצרים שרת MQTT ב- RPi ומתקינים כמה ספריות.
שנית, נתקין ספריות ב- Arduino IDE כדי ש- NodeMCU יעבוד עם MQTT, נעלה את הקוד ונבדוק אם השרת עובד או לא.
לבסוף, אנו יוצרים סקריפט ב- Rpi, מעלים את הקוד הנדרש ב- NodeMCU ומריצים את סקריפט ה- python לשליטה על נוריות הן מהשרת והן מצד הלקוח. כאן, השרת הוא RPi והלקוח הוא NodeMCU.
שלב 2: פטל פטל
1. להתקנת השרת והלקוח העדכניים ביותר של MQTT ב- RPi, כדי להשתמש במאגר החדש עליך לייבא תחילה את מפתח החתימה של חבילת המאגר.
wget https://repo.mosquitto.org/debian/mosquitto-repo.gpg.keysudo apt-key להוסיף mosquitto-repo.gpg.key
2. הפוך את המאגר לזמין ל- apt.
cd /etc/apt/sources.list.d/
3. תלוי באיזו גירסה של דביאן אתה משתמש.
sudo wget https://repo.mosquitto.org/debian/mosquitto-wheezy.listsudo wget
sudo wget
עדכון sudo apt-get
4. התקן את שרת Mosquitto באמצעות הפקודה.
sudo apt-get להתקין יתוש
אם אתה מקבל שגיאות בהתקנת Mosquitto כך.
#################################################################
לחבילות הבאות יש תלות בלתי מסופקת: יתוש: תלוי: libssl1.0.0 (> = 1.0.1) אך לא ניתן להתקנה תלוי: libwebsockets3 (> = 1.2) אך לא ניתן להתקנה E: לא ניתן לתקן בעיות, החזקת שבורה חבילות.
#################################################################
לאחר מכן השתמש בפקודה זו כדי לתקן בעיות.
sudo apt-תיקון שבור
5. לאחר התקנת שרת MQTT, התקן את הלקוח באמצעות הפקודה
sudo apt-get להתקין לקוחות יתושים
אתה יכול לבדוק שירותים באמצעות פקודה.
מערכת systemctl mosquitto.service
כמו שרת הלקוח MQTT שלנו מותקן. כעת, אנו יכולים לבדוק זאת באמצעות הרשמה ופרסום. להרשמה ולפרסום תוכל לבדוק פקודות או לבקר באתר כפי שניתן להלן.
תת יתוש
פאב יתושים
להתקנת ספריית paho-mqtt השתמש בפקודה שלהלן.
sudo pip התקן paho-mqtt
פאהו
שלב 3: כיצד להגדיר כתובת IP סטטית
עבור לספריית cd /etc ופתח את הקובץ dhcpcd.conf באמצעות כל עורך. בסוף כתוב את ארבע השורות האלה.
ממשק eth0 סטטי ip_address = 192.168.1.100 // ip שאתה רוצה להשתמש בו
ממשק wlan0
ip_address סטטי = 192.168.1.68
נתבים סטטיים = 192.168.1.1 // שער ברירת המחדל שלך
שרת דומיין_סטטי סטטי = 192.168.1.1
לאחר מכן שמור אותו והפעל מחדש את הפאי שלך.
שלב 4: NodeMCU
התקן את הספריות הנדרשות ב- Arduino IDE עבור NodeMCU
1. עבור אל Sketch ==> כלול ספרייה ==> נהל ספריות.
2. חפש mqtt והתקן את ספריית Adafruit או שתוכל להתקין כל ספרייה.
3. זה תלוי בספריית sleepydog אז אנחנו צריכים גם את הספרייה הזו.
התוכנית ניתנת למעלה, רק כדי לבדוק אם היא עובדת או לא. כאן לא יצרתי שום סקריפט ב- RPi. אנחנו רק משתמשים בפקודות כדי להירשם ולפרסם. ניצור סקריפט לשליטה בהמשך.
mosquitto_pub -h raspberrypi -t "/leds/pi" -m "ON"
mosquitto_pub -h raspberrypi -t "/leds/pi" -m "OFF"
mosquitto_pub -h raspberrypi -t "/leds/pi" -m "TOGGLE"
mosquitto_pub -h raspberrypi -t "/leds/esp8266" -m "ON"
mosquitto_pub -h raspberrypi -t "/leds/esp8266" -m "OFF"
mosquitto_pub -h raspberrypi -t "/leds/esp8266" -m "TOGGLE"
-h ==> שם מארח-t ==> נושא
-m ==> הודעה
לאחר בדיקת התוכנית Mqtt_check העלה תוכנית מלאה ב- NodeMCU
שלב 5: סקריפט פייתון
כפי שדיברתי לעיל אנו זקוקים לסקריפט פייתון לשליטה על נוריות באמצעות כפתורים. אז, אנו הולכים ליצור סקריפט. התסריט ניתן למעלה.
כאשר אתה מפעיל את הסקריפט הסקריפט שלך אמור להיראות כפי שמוצג בתמונה, אם קוד התוצאה אינו אפס אז זוהי שגיאה תוכל לבדוק שגיאה באתר פאהו.
שלב 6: חיבורים ותרשים מעגלים
ממשק כפתור, LED עם NodeMCU
NodeMCU ===> ButtonGnd ===> Gnd
3.3V ===> PIN1
GPIO4 (D2) ===> PIN2
NodeMCU ===> LED
Gnd ===> קתודה (-ve)
GPIO5 (D1) ===> אנודה (+ve)
ממשק כפתור, LED עם RPi
RPi ===> ButtonGnd ===> PIN1
GPIO 23 ===> PIN2
RPi ===> LED
Gnd ==> קתודה (-ve)
GPIO 24 ===> אנודה (+ve)
שלב 7: תוצאה
וודא שהתסריט פועל אחרת הוא לא יוכל לשלוט ב- LED באמצעות כפתורים.
מוּמלָץ:
כיצד לשלוט במכשיר באמצעות פטל פאי וממסר - היסודות: 6 שלבים
כיצד לשלוט במכשיר באמצעות פטל פי וממסר - היסודות: זהו הדרכה בסיסית ופשוטה כיצד לשלוט במכשיר באמצעות פטל פי וממסר, מועיל להכנת פרויקטים של IoT הדרכה זו מיועדת למתחילים, היא ידידותית ל עקוב אחריו גם אם יש לך אפס ידע בשימוש בפטל
ממשק משתמש אוטומטי למכירה מודרנית באמצעות פאי של פטל עם DJANGO: 4 שלבים
ממשק משתמש אוטומטי של מכונות אוטומטיות באמצעות RASPBERRY PI עם DJANGO: האם אנו יכולים ליצור ממשק משתמש מודרני באמצעות שפות אינטרנט למכונות אוטומטיות? התשובה שלמעלה היא כן, אנחנו יכולים. אנחנו יכולים להשתמש בכאלו למכונות אוטומטיות באמצעות מצב קיוסק. הרעיון הבא כבר יישמתי על הפרויקט הקיים שלי וזה עובד מצוין ואנו בודקים
מכונית שמירה על נתיב אוטונומי באמצעות פטל פאי ו- OpenCV: 7 שלבים (עם תמונות)
מכונית לשמירת נתיבים אוטונומית באמצעות פטל פי ו- OpenCV: במדריכים אלה יוטמע רובוט שמירה על נתיבים אוטונומיים שיעבור את השלבים הבאים: איסוף חלקים התקנת דרישות מוקדמות תוכנה הרכבת חומרה בדיקה ראשונה איתור קווי נתיב והצגת ההנחיות
בדוק את מהירות האינטרנט שלך באמצעות פטל פאי + Ubidots: 9 שלבים
בדוק את מהירות האינטרנט שלך באמצעות פטל פאי + Ubidots: פטל פי הפך למכשיר בשימוש נרחב לא רק לאבות טיפוס ולמטרות חינוכיות, אלא גם לפרויקטים של ייצור תעשייתי בתוך עסקים. מלבד הגודל של הפי, העלות הנמוכה ומערכת ההפעלה לינוקס התפעולית המלאה, היא יכולה גם ליצור אינטראקציה עם
בקרת בהירות בקרת LED מבוססת PWM באמצעות לחצני לחיצה, פטל פאי ושריטה: 8 שלבים (עם תמונות)
בקרת בהירות בקרת LED מבוססת PWM באמצעות לחצני לחיצה, פטל פאי ושריטה: ניסיתי למצוא דרך להסביר כיצד PWM פועל לתלמידי, אז הנחתי לעצמי את המשימה לנסות לשלוט על בהירות הנורית באמצעות 2 כפתורי לחיצה. - כפתור אחד מגביר את הבהירות של נורית LED והשני מעמעם אותו. לפרוגרה