תוכן עניינים:

אוטומציה של הבית הירוק: 11 שלבים
אוטומציה של הבית הירוק: 11 שלבים

וִידֵאוֹ: אוטומציה של הבית הירוק: 11 שלבים

וִידֵאוֹ: אוטומציה של הבית הירוק: 11 שלבים
וִידֵאוֹ: כאן גרים בכיף עונה 2 פרק 11 2024, יולי
Anonim
אוטומציה של הבית הירוק
אוטומציה של הבית הירוק

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

שלב 1: דרושים רכיבים

חובה רכיבים
חובה רכיבים
חובה רכיבים
חובה רכיבים
חובה רכיבים
חובה רכיבים

כמה רכיבים חיוניים הנדרשים מפורטים להלן

1. פטל PI דגם B

2. מועצת הפיתוח של NodeMCU

3. מודול Wifi ESP8266

4. חיישן לחות

5. חיישן טמפרטורה ולחות DHT11

6. ממסר ערוץ יחיד 5V

7. משאבת מים טבילה 5V

8. לוח לחם

9. מודול אספקת החשמל של הלחם

שלב 2: שפה ופרוטוקול

שפה ופרוטוקול
שפה ופרוטוקול
שפה ופרוטוקול
שפה ופרוטוקול
שפה ופרוטוקול
שפה ופרוטוקול
  • C שפה משמשת לבקרי המיקרו.
  • MQTT Messaging: MQTT מייצג MQ Telemetry Transport. זהו פרוטוקול העברת הודעות/הרשמה, פשוט מאוד וקל משקל, המיועד למכשירים מוגבלים ורשתות פס רחבות, השהיה גבוהה או לא אמינות. עקרונות העיצוב הם למזער את רוחב הפס של הרשת ואת דרישות משאבי המכשיר תוך ניסיון להבטיח אמינות ומידת הבטחת מסירה מסוימת. עקרונות אלה מתבררים גם כי הופכים את הפרוטוקול לאידיאלי של עולם המכונה המחובר "מכונה למכונה" (M2M) או "אינטרנט של דברים", וליישומים ניידים שבהם רוחב הפס ועוצמת הסוללה הם בעליות גבוהה.
  • תוכנית Python משמשת לאוטומציה של זרימת המים וקישוריות מסד הנתונים.

שלב 3: Eclipse Mosquitto MQTT Broker

Eclipse Mosquitto Broker MQTT
Eclipse Mosquitto Broker MQTT

כאן השתמשתי ברוקר Mosquitto MQTT לתקשורת הודעות קלה בין הצמתים.

Eclipse Mosquitto הוא מתווך הודעות קוד פתוח (EPL/EDL מורשה) המיישם את פרוטוקול MQTT גירסאות 5.0, 3.1.1 ו- 3.1. Mosquitto הוא קל משקל ומתאים לשימוש בכל המכשירים החל ממחשבי לוח יחיד עם הספק נמוך ועד שרתים מלאים.

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

פרויקט Mosquitto מספק גם ספריית C ליישום לקוחות MQTT, ואת לקוחות MQTT של שורת הפקודה Myquitto_pub ו- Mosquitto_sub.

שלב 4: זרימת נתונים בפרויקט כולו

בתמונה למעלה הצמתים הם

  1. NodeMCU
  2. פאי פטל
  3. ESP8266

NodeMCU הוא החלק החישה של הבית הירוק ו- ESP8266 הוא החלק המפעיל את המים כאשר הקרקע זקוקה למים בהתאם לחיישנים.

Raspberry PI מכיל את Mosquitto Broker ולקוח Python אשר מנוי על ההודעות המגיעות מ- MQTT Broker ומאחסן את הנתונים בשרת SQL.

שלב 5: חיבור חיישנים עם NodeMCU

חיבור חיישנים עם NodeMCU
חיבור חיישנים עם NodeMCU

חיישן הטמפרטורה והלחות DHT11 וחיישן לחות המים מסוגלים לפעול על 3.3 וולט.

NodeMCU אינו יכול לספק יותר מ -3.3 וולט. כך שהחיישנים יכולים להתחבר ישירות ללוח המיקרו -בקר NodeMCU.

שלב 6: חיבור משאבת המים הטבולה באמצעות ה- ESP8266

חיבור משאבת המים הטבולה באמצעות ה- ESP8266
חיבור משאבת המים הטבולה באמצעות ה- ESP8266
חיבור משאבת המים הטבולה באמצעות ה- ESP8266
חיבור משאבת המים הטבולה באמצעות ה- ESP8266

משאבת מים טבולה משמשת לאספקת המים בכל פעם שצריך.

משאבת מים זקוקה לאספקת חשמל של 5 וולט לשם פעולתה.

יש צורך בממסר ערוץ יחיד לחיבור המנוע. כאשר סיכת GPIO2 של ה- ESP8266 מופעלת הממסר מופעל ומספק את המים באופן אוטומטי באמצעות משאבת המים הטבולה.

כאן מסופק אספקת חשמל חיצונית ללוח ESP8266, ממסר ומשאבת המים הטבולה.

חיבור החומרה המלא שלי נמצא בתמונה למעלה.

שלב 7: התקנת תוכנת Broker Mosquitto & הפעלת תוכנית פייתון ב- Raspberry Pi

להלן השלבים להתקנת מתווך Mosquitto ב- Raspberry PI

פתח את הטרמינל והקלד את הפקודות הבאות

sudo apt-add-repository ppa: mosquitto-dev/mosquitto-ppa

עדכון sudo apt-get

sudo apt-get להתקין יתוש

sudo apt-get להתקין לקוחות יתושים

זה אמור להתחיל את היתוש באופן אוטומטי.

כדי לעצור ולהתחיל את השירות שהייתי צריך להשתמש בו

סודו שירות עצור יתוש

שירות sudo התחל יתוש

רוב האתרים שגיליתי משתמשים בפורמט.

sudo /etc/init.d/mosquitto לעצור

שלב 8: כיצד פועל MQTT?

כיצד פועל MQTT?
כיצד פועל MQTT?

MQTT הוא אחד הפרוטוקולים הנפוצים ביותר בפרויקטים של IoT. זה מייצג הודעות בתור טלמטריה תעבורה.

בנוסף, הוא מתוכנן כפרוטוקול העברת הודעות קלות שמשתמש בפעולות פרסום/הרשמה כדי להחליף נתונים בין לקוחות לשרת. יתר על כן, גודלו הקטן, צריכת החשמל הנמוכה, מנות הנתונים הממוזערות וקלות היישום הופכות את הפרוטוקול לאידיאלי בעולם "מכונה למכונה" או "האינטרנט של הדברים".

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

* כאשר מכשיר (לקוח) רוצה לשלוח נתונים לברוקר, אנו קוראים לפעולה זו "פרסום".

* כאשר מכשיר (לקוח) רוצה לקבל נתונים מהמתווך, אנו קוראים לפעולה זו "הירשם".

שלב 9: תכנות NodeMCU ו- ESP8266

להלן קוד המקור ללוח מיקרו בקר NodeMCU ו- ESP8266

שלב 10: עיצוב דף אינטרנט והתחברות למסד הנתונים של SQL

דף האינטרנט מתוכנן באמצעות שפת HTML, CSS ו- PHP.

PHP משמש לחילוץ קריאות החיישן ממאגר הנתונים ולהצגתו בדף ה- HTML.

תכנית פיתון משמשת כלב של הפרויקט הזה.

עבודות שעושות תוכנית הפיתון הן כדלקמן.

  1. הוא מנוי על נושא שבו החיישן שולח את קריאות החיישן.
  2. הוא מפרסם פקודת הפעלה/כיבוי של משאבת מים לברוקר MQTT.
  3. הוא מאחסן את קריאת החיישן למסד נתונים של SQL.

כאן במקרה שלי תוכנת הפיתון ומאגר הנתונים של SQL נמצאים במחשב נייד. דף האינטרנט הפועל באמצעות מארח מקומי.

להלן קוד המקור של תוכנית הפיתון שלי.

שלב 11: עבודה מלאה

עבודה מלאה
עבודה מלאה

להלן השלבים שבהם התהליך נמשך.

  1. NodeMCU פועל כחלק חישה וקורא את הטמפרטורה, הלחות ורמת הלחות בקרקע.
  2. הוא שולח את הקריאות לברוקר MQTT עם הנושא "נושא 1"
  3. במחשב נייד תוכנית הפיתון בהרצה והיא נרשמת לנושא "נושא 1" עם מתווך MQTT.
  4. כאשר ה- NodeMCU שולח את הקריאות אז מתווך ה- MQTT של Mosquitto שולח מיד את הנתונים לתוכנית הפיתון.
  5. לאחר מכן, תוכנית פייתון מחשבת אם יש צורך במים בבית הירוק. לאחר מכן הוא מאחסן את הקריאות במסד הנתונים של SQL.
  6. אם יש צורך במים בבית הירוק, תכנית הפיתון מפרסמת הודעת הפעלה/כיבוי של משאבת מים לברוקר MQTT של Mosquitto עם נושא "נושא 2"
  7. ESP8266 פועל כמפעיל. היא מנויה בנושא "נושא 2" באיזה נושא תוכנית הפייתון מפרסמת את ההודעה. כאשר תוכנית הפיתון מפרסמת הודעה כלשהי, ההודעה הועברה מיד ל- ESP8266. על פי הודעת ההפעלה/כיבוי, היא הפעלה/כבה את משאבת המים הטבולה.
  8. השלב האחרון להצגת הקריאות החיות בדף האינטרנט. דף האינטרנט מביא את הנתונים ממסד הנתונים של SQL בו תוכנית הפייתון שומרת את הנתונים ישירות ומציגה את הקריאות בדף.

מוּמלָץ: