תוכן עניינים:
- אספקה
- שלב 1: הכנת סביבת Arduino ל- ESP8266
- שלב 2: כלול ספריות נדרשות
- שלב 3: התאם אישית את הסקיצה לדוגמא סטנדרטית
- שלב 4: העלה את ממשק האינטרנט
- שלב 5: הוסף את חיישן BME680
- שלב 6: הוסף את חיישן PMS5003
- שלב 7: הוספת כמה תכונות רשת
- שלב 8: הוספת קצת רישום
- שלב 9: פעולות
- שלב 10: תמונות וקבצי תצורה
וִידֵאוֹ: בנה חיישן איכות אוויר IoT Inhouse אין צורך בענן: 10 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:12
איכות האוויר הפנימי או החיצוני תלויה במקורות זיהום רבים וגם במזג האוויר.
מכשיר זה לוכד כמה מהפרמטרים הנפוצים וחלקם המעניינים ביותר באמצעות 2 שבבי חיישן.
- טֶמפֶּרָטוּרָה
- לחות
- לַחַץ
- גז אורגני
- מיקרו חלקיקים
החיישנים המשמשים כאן הם BME680 לקבלת טמפרטורה, לחות, לחץ וערכי גז אורגני ו- PMS5003 לקבלת צפיפות חלקיקי המיקרו.
באמצעות ספריית ה- HomeDing קל לבנות מכשיר המחובר לרשת הביתית בלבד וניתן להגיע אליו ולשלוט בו על ידי כל דפדפן ברשת. הוא מגיע עם מבחר אלמנטים המאפשרים שימוש בשבבי החיישנים, המכשירים ושירותים אחרים הנפוצים ביותר.
הוא מביא גם פתרון מלא לאירוח מכשיר פנימי בצד האינטרנט במקום להשתמש בפתרון מבוסס ענן להצגת נתוני החיישנים ואינטראקציה עם המכשיר.
אספקה
כל מה שאתה צריך לבנות פרויקט זה הוא לוח מבוסס ESP8266 כמו לוח nodemcu וערכת חיישנים למדידת איכות האוויר. ספריית ה- HomeDing המשמשת בפרויקט זה תומכת בכמה משבבי החיישנים הנפוצים לטמפרטורה, לחות, לחץ ואיכות. כאן משתמשים בשבב BMP680.
- תקע USB וכבל מיקרו-USB לאספקת חשמל.
- לוח nodemcu אחד עם מעבד ESP8266.
- 1 לוח פריצת חיישן BME680.
- 1 PM2.5 חיישן לייזר חלקיקי אוויר מסוג PMS5003
קל להחליף את חיישן BME680 עם חיישן DHT22 מכיוון שהם נתמכים גם על ידי הספרייה בין רבים אחרים.
שלב 1: הכנת סביבת Arduino ל- ESP8266
- התקן את הגירסה העדכנית ביותר של Arduino IDE (גרסה 1.8.2 כרגע).
- השתמש במנהל הלוח להתקנת ההתקנה של התמיכה esp8266. ניתן למצוא הוראה מפורטת כאן:
- הגדר את אפשרויות הלוח עבור NodeMCU 1.0 עם מערכת קבצים 1MByte SPIFFS כפי שמוצג בצילום המסך
שלב 2: כלול ספריות נדרשות
ספריית ה- HomeDing מסתמכת על כמה ספריות נוספות נפוצות עבור חיישנים ותצוגות לעבודה.
כאשר תתקין את ספריית ה- HomeDing תראה חלונות קופצים עם הספריות הנדרשות הללו שניתן להתקין באופן אוטומטי המוצג בתמונה וקל להתקין את כולן.
לפעמים (מסיבות לא ידועות) התקנת הספריות נכשלת ולכן יש להתקין את כל הספריות הנדרשות באופן ידני.
פרטים נוספים אודות הספריות הנדרשות ניתן למצוא באתר התיעוד בכתובת
זוהי רשימת הספריות הנדרשות הנוכחיות:
- Adafruit NeoPixel
- LiquidCrystal_PCF8574.h
- מנהל התקן ESP8266 ו- ESP32 Oled לתצוגת SSD1306
- מקודד Rotary
- ספריית חיישני DHT עבור ESPx
- OneWire
חיישן לייזר חלקיקי האוויר PMS5003 מתקשר באמצעות אות קו סידורי של 9600 באוד. אות זה נלכד באמצעות הספרייה SoftwareSerial שמגיעה עם התקנת הכלים ESP8266. הקפד לא להתקין גרסה ישנה יותר כספרייה.
שלב 3: התאם אישית את הסקיצה לדוגמא סטנדרטית
הדוגמה הסטנדרטית כבר כוללת כמה מהחיישנים הנפוצים יותר כאלמנטים, כך שתידרש רק תצורה מסוימת.
זה חל על חיישן BME680 הנתמך על ידי רכיב BME680.
חיישן PMS5003 פחות נפוץ וצריך להפעיל אותו על ידי הכללת רכיב ה- PMS בקושחה. זה נעשה על ידי הגדרת #הגדרת HOMEDING_INCLUDE_PMS בחלק רשימת האלמנטים של המערכון
#הגדר HOMEDING_INCLUDE_BME680#הגדר HOMEDING_INCLUDE_PMS
לשם פשטות בהוספת המכשיר החדש לרשת תוכל להוסיף את ה- SSID ואת משפט הסיסמה של ה- WiFi הביתי שלך בקובץ secrets.h לצד קובץ הסקיצה standard.ino. אך תוכל גם להשתמש במנהל ה- WiFi המובנה כדי להוסיף את המכשיר לרשת ללא התצורה המקודדת הזו.
עכשיו הכל בנוגע ליישום הסקיצה נעשה וניתן לאסוף ולהעלות את הקושחה.
שלב 4: העלה את ממשק האינטרנט
הדוגמה הסטנדרטית מגיעה עם תיקיית נתונים המכילה את כל הקבצים לממשק האינטרנט.
לפני שתעלה קבצים אלה ייתכן שתרצה להוסיף את קובץ ה- env.json ו- config.json שתוכל למצוא עם מאמר זה מכיוון שזה יקל על העניינים.
התוכן של קבצים אלה הוא מה שהופך את מכשיר ה- IoT למיוחד ומתנהג כחיישן איכות אוויר. זה מוסבר בפירוט בסיפור זה.
השתמש בכלי להעלאת קבצים ESP8266 והעלה את כל הקבצים. הוא צריך אתחול מחדש כדי להפעיל את התצורה.
שלב 5: הוסף את חיישן BME680
חיישן BME680 מתקשר עם הלוח באמצעות אוטובוס I2C.
מכיוון שהוא עשוי להיות משותף עם הרחבות אחרות כמו חיישנים או תצוגות אחרות מוגדר ברמת המכשיר ב- env.json יחד עם שם הרשת של המכשיר. להלן דוגמה שחולצה של הגדרות מכשיר ו- I2C:
"התקן": {
"0": {"name": "airding", "description": "חיישן איכות אוויר", … "i2c-scl": "D2", "i2c-sda": "D1"}}
על לוח הלחם ניתן לראות את כבלי החיבור לחיישן: 3.3V = אדום, GND = שחור, SCL = צהוב, SDA = כחול
ניתן להשתמש בתצורה עבור BME680 ב- config.json:
"bme680": {
"bd": {"address": "0x77", "timetime": "10s"}}
נוסיף את הפעולות מאוחר יותר.
כדי לבדוק את ההתקנה פשוט השתמש בדפדפן ופתח https://airding/board.htm ותראה את ערכי החיישן בפועל המוצגים והם יעודכנו בערך כל 10 שניות:
שלב 6: הוסף את חיישן PMS5003
לא קיבלתי חיישן עם מחבר ידידותי ללוח ולכן נאלצתי לחתוך את אחד המחברים בכבל בעזרת מלחם שלי כדי לחבר אותו ישירות ללוח nodemcu. אתה יכול לראות את זה עדיין בתמונות האחרונות.
יש לקחת את הכוח לחיישן זה מהווין המופעל בדרך כלל על ידי אוטובוס ה- USB. GND זהה אך זמין גם ליד סיכת Vin.
הנתונים מהחיישן מועברים בפורמט סידורי סטנדרטי של 9600 באוד כך שצריך להגדיר את סיכות rx ו- tx וזמן הקריאה:
"pms": {
"pm25": {"description": "חיישן חלקיקים pm25", "pinrx": "D6", "pintx": "D5", "זמן קריאה": "10s"}}
נוסיף את הפעולות מאוחר יותר.
כדי לבדוק את ההתקנה שוב פשוט הפעל מחדש את המכשיר והשתמש בדפדפן ופתח https://airding/board.htm ותראה את הערך pm35 בפועל של החיישן המוצג והם יעודכנו בערך כל 10 שניות אך ערך זה הוא בדרך כלל לא משתנה לעתים קרובות.
אתה יכול לקבל ערכים גבוהים יותר על ידי הנחת נר ליד החיישן כאשר נר מייצר חלקיקים אלה.
עכשיו אתה יכול לשים הכל בבית נחמד כי כל שאר התצורות ואפילו עדכוני תוכנה ניתנים לביצוע מרחוק.
שלב 7: הוספת כמה תכונות רשת
תמצית התצורה הבאה ב- env.json מאפשרת
- עדכון הקושחה דרך האוויר
- מאפשר לזהות את הרשת באמצעות פרוטוקול רשת SSDP ומאחזר את הזמן הנוכחי משרת ntp.
{
… "ota": {"0": {"port": 8266, "passwd": "123", "description": "האזינו לעדכוני OTA עדכונים" OTA "}}," ssdp ": {" 0 ": {" Manufacturer ":" yourname "}}," ntptime ": {" 0 ": {" readtime ":" 36h "," zone ": 2}}}
עליך להתאים את אזור הזמן למיקום שלך. אם יש לך ספק אתה יכול להשתמש באתר האינטרנט https://www.timeanddate.com/ כדי לקבל את הקיזוז מ- UTC/GMT. "2" מתאים לקיץ גרמניה.
תוכל גם להתאים את סיסמת ota לאחר קריאת ההוראות בנוגע למצב השמירה בתיעוד בכתובת
לאחר הפעלה מחדש אתה עשוי למצוא את מכשיר האוורור ברשת ולאחר קבלת תשובה משרת ntp הזמן המקומי זמין.
שלב 8: הוספת קצת רישום
רק הערכים האמיתיים עשויים שלא לתת מספיק, כך שניתן להשתמש בעוד כמה אלמנטים.
לסיפור זה רכיב היומן ורכיב NPTTime משמשים לתיעוד ההיסטוריה של ערכי החיישנים בקובץ יומן וכרטיס ממשק המשתמש של רכיב זה יכול להציג אותו כגרף.
התצורה הבאה יוצרת את 2 יסודות היומן של גז וחלקיקים:
{
"log": {"pm": {"description": "יומן pm25", "filename": "/pmlog.txt", "fileize": "10000"}, "aq": {"description": " יומן איכות הגז "," שם קובץ ":"/aqlog.txt "," גודל הקובץ ":" 10000 "}}}
שלב 9: פעולות
כעת עלינו להעביר את הערכים בפועל לרכיבי היומן באמצעות פעולות. הפעולות משתמשות בסימון URL כדי להעביר קיי וערך לרכיב היעד. אלמנטים רבים תומכים בפליטת פעולות על אירועים מסוימים שקורים כמו לכידת ערך חיישן חדש.
מוגדרות פעולות ברכיב הפולט פעולות 2 ערכים נדרשים:
- אירוע ה- pms/p25 onvalue שולח את הערך בפועל לרכיב log/pm באמצעות פעולת ערך.
- אירוע bme680/bd ongas שולח את הערך האמיתי לרכיב log/pm באמצעות פעולת ערך.
{
"pms": {"pm25": {… "onvalue": "log/pm? value = $ v"}}, "bme680": {"bd": {… "ongas": "log/aq? value = $ v "}}}
עכשיו כל האלמנטים מוגדרים.
שלב 10: תמונות וקבצי תצורה
להלן תמונה של חיישן איכות האוויר הסופי של IoT שלי.
יש לשנות את שם קובצי התצורה להורדה ל- *.json (no.txt) לפני העלאה.
קישורים והפניות
- מאגר קוד המקור של HomeDing:
- תיעוד:
- דוגמה סטנדרטית:
- רכיב BME680:
- רכיב PMS:
- רכיב יומן:
- אלמנט NtpTime:
מוּמלָץ:
מתג אוטומטי לחנות Vac (אין צורך בארדואינו): 7 שלבים
מתג אוטומטי לחנות Vac (אין צורך בארדואינו): כמו רבים מעובדי העץ החובבים, יש לי ואקום מחובר למסור השולחן שלי ובכל פעם שאני רוצה לבצע חיתוך אני צריך להדליק אותו לפני שאני מפעיל את המסור. זה אולי נראה מטופש אבל זה כאב בצוואר להפעיל ולכבות את הוואנק בחנות כמה שיותר
חיישן איכות אוויר באמצעות ארדואינו: 4 שלבים
חיישן איכות אוויר באמצעות Arduino: בפוסט זה נלמד כיצד לבנות חיישן איכות אוויר פשוט אך שימושי. נשתמש בחיישן SGP30 יחד עם ה- Piksey Pico, אם כי הסקיצה תעבוד כמעט עם כל לוח תואם Arduino. הסרטון למעלה מדבר אתכם עד
קובסאט עם חיישן איכות אוויר וארדואינו: 4 שלבים
Cubesat עם חיישן איכות אוויר וארדואינו: יוצרי CubeSat: רגאן, לוגן, קייט וג'ואן מבוא האם תהית פעם כיצד ליצור מסלול מאדים לאיסוף נתונים על האווירה ואיכות האוויר של מאדים? במהלך השנה הזו בשיעור הפיזיקה שלנו, למדנו כיצד לתכנת א
חיישן איכות אוויר DIY + מארז מודפס בתלת מימד: 6 שלבים
חיישן איכות אוויר DIY + מארז מודפס תלת מימד: מדריך זה מכיל את כל המידע הדרוש לך כדי ליצור חיישן בעל כיס גדול מאוד
AirPi - חיישן איכות אוויר: 8 שלבים
AirPi - חיישן איכות אוויר: האם תהית פעם מדוע אתה סובל מכאבי ראש? ואם זה נובע מאיכות אוויר גרועה? בעזרת מכשיר זה תוכל לבדוק אם זה המצב. מכשיר זה מודד את ערך CO2, ערך TVOC, טמפרטורה ולחות. אתה יכול לראות את האוויר ש