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

AtmoScan: 7 שלבים (עם תמונות)
AtmoScan: 7 שלבים (עם תמונות)

וִידֵאוֹ: AtmoScan: 7 שלבים (עם תמונות)

וִידֵאוֹ: AtmoScan: 7 שלבים (עם תמונות)
וִידֵאוֹ: Jennifer Lopez x Dolby Atmos : Can`t Get Enough 2024, סֶפּטֶמבֶּר
Anonim
Image
Image
חיישנים
חיישנים

**********************************************************************************************

חֲדָשׁוֹת

עבור אל GitHub שלי עבור:

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

- עיצוב PCB v2 מתפרסם כעת יחד עם מדריך ליישום השינוי בקלות על לוחות V1.0.

- קבצי CAD למארז מלא

המארז החדש נראה כמו התמונה למעלה … ובכן, ללא רצועת הגומי

****************************************************************************************

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

הוא משתמש במסגרת שיתופית מרובת משימות והוא מגיב מאוד לקלט משתמשים בעת דגימת חיישנים, טיפול בממשק משתמש, פרסום ל- MQTT. למעשה הוא סוחט לא מעט מה- ESP8266 הזעיר. היא עושה זאת על ידי שילוב מספר ספריות קוד פתוח ומינוף שירותי אינטרנט באינטרנט.

זיכויים לספריות מגיעים למספר תורמים, ראה בהמשך.

מוסיקה בוידאו ניתן למצוא כאן

שלב 1: חיישנים

Atmoscan מודד מספר משתנים:

  • טֶמפֶּרָטוּרָה
  • לחות
  • לַחַץ
  • CO2
  • שיתוף
  • NO2
  • VOC (תרכובות אורגניות נדיפות, אינדיקטור לאיכות אוויר)
  • PM 01
  • PM25
  • PM10
  • קְרִינָה

לשם כך הוא משלב מספר חיישנים נפרדים

  • BME280 (למשל קישור)
  • PMS7003 (למשל קישור)
  • MH-Z19 (למשל קישור)
  • HDC1080 (למשל קישור)
  • MiCS6814 (קישור)
  • MP503 (קישור)
  • צינור LND-712 Geiger (קישור, מצאתי אותו באירופה כאן קישור או כאן קישור) עם מודול מתח גבוה (קישור)

גליונות הנתונים נמצאים כאן.

שלב 2: אלקטרוניקה

מכשירי חשמל
מכשירי חשמל
מכשירי חשמל
מכשירי חשמל
מכשירי חשמל
מכשירי חשמל

ניתן לבנות את Atmoscan בקלות עם NodeMCU או כל לוח ESP8266 אחר וכמה רכיבים זמינים, כגון משמרות מפלסים ווסת מתח, אם תוותרו על מטען הסוללות המשולב.

בזמן שעשיתי אב טיפוס עם רכיבים נפרדים, עבור הגרסה הסופית עיצבתי לוח ספציפי המשלב את כל הפונקציות ומספק מחברים מסודרים לחיישנים, נוריות LED למצב (כחול = ספק כוח מחובר; אדום = טעינה).

קבצי PCB של Eagle זמינים כאן.

באופן ספציפי, הלוח משלב:

  • מעגלי טעינה המבוססים על MAX8903A (קישור)
  • לוגיקת הפעלה/כיבוי בלחצן אחד
  • מודול ESP12E
  • היגיון תכנות
  • מחלף רמות
  • דרייבר תאורה אחורית LCD
  • ווסת מתח 3.3V שלב למעלה/הורדה מבוסס על Pololu S7V8F3 (קישור)
  • רגולטור מתח מתח 5V המבוסס על Pololu U1V10F5 (קישור)
  • מד דלק LiPo מבוסס על SparkFun TOL10617 (קישור)

הצג הוא 2.8 אינץ 'TFT 320x240 המבוסס על שבב ILI9341 (קישור).

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

החיישנים די רעבים לחשמל, אז כדי להבטיח אוטונומיה של לפחות 24 שעות הכנתי מארז עם 3 x 5000mAh סוללות LiPo 105575 (קישור). למעשה, 2 יכלו להספיק. המטען MAX8903 מתקשה לטעון את חבילת 15,000mAh שהתקבלה.

הערות - כפי שניתן לראות בתמונות:

  • מוצגים מיקומי מחברים
  • יש להסיר את חריץ כרטיס ה- SD מהתצוגה אם ברצונך שיתאים למארז
  • אתה צריך לעשות חריץ קטן במחשב הלוח כדי לא להפריע למאוורר (החריץ באופנה אחרי האייפון X). תוקן ב- PCB V2

קיצורי המחברים ב- PCB הם כדלקמן:

  • PRS: חיישן לחץ ברומטרי (מבוסס על BME280) הערה: להתקנה ישירות על הלוח המודרני
  • VOC: Grove - חיישן איכות אוויר v1.3 (מבוסס על MP503)
  • TMP: חיישן לחות וטמפרטורה דיגיטליים בעלי דיוק גבוה (מבוסס על HDC1080)
  • PMS: PMS7003 חיישן ריכוז חלקיקים דיגיטלי
  • GAS: Grove - חיישן גז רב ערוצי (מבוסס על MiCS6814)
  • GES: Grove - חיישן מחוות (מבוסס על PAJ7620U2)
  • RAD: צינור Geiger (באמצעות מודול ספק כוח של נהג בדיקת Geiger מתח גבוה 400V / 500V עם יציאת דופק דיגיטלית TTL)
  • CO2: חיישן גז CO2 אינפרא אדום MH-Z19
  • U1V10F: ויסות מתח מואץ 5V המבוסס על פולולו
  • U1V10F5 S7V8V3: ווסת מתח עלייה/הורדה של 3.3V מבוסס על Pololu S7V8F3
  • TOL10617: מד דלק Sparkfun LiPo
  • LCD: תצוגת ILI9341

שלב 3: מארז

קַרפִּיף
קַרפִּיף
קַרפִּיף
קַרפִּיף
קַרפִּיף
קַרפִּיף

המארז נגזר מכלי קוביות פרספקס בגודל 10x10x10 ס"מ שקניתי ב- ebay ונועד לשימוש שונה לגמרי. היו בו חריצי אוורור נחמדים שהיו בדיוק מה שצריך. עוצמת הקול מספיקה באופן עקרוני לארוז את כל הסט, פרט לכך שזה לא היה פשוט … כמה ניסיונות מוקדמים המבוססים על מדגמי קרטונים נכשלו כישלון חרוץ ולכן ויתרתי ובזבזתי כמה שעות עם 3D CAD והיה לי חיתוך בלייזר של התומכים הפנימיים. החלל הפנימי מחולק בתאים כך שחיישן הטמפרטורה רחוק ככל האפשר ממקורות חום פנימיים. בעוד המארז החיצוני עשוי מחומר 3 מ"מ, החלק העליון עשוי 2+1 מ"מ יריעות. הטריק הזה איפשר כיסוי חיישן המחווה באקריליק 1 מ"מ בלבד וזה מספיק בכדי לגרום לו לפעול.

כמה שינויים היו חייבים להתבצע עם כלי יד במארז המקורי, כגון מאוורר, מתג וחורי USB. התוצאה בכל זאת הייתה הגונה!

קבצי CAD נמצאים כאן.

שלב 4: הרכבה מכנית

הרכבה מכנית
הרכבה מכנית
הרכבה מכנית
הרכבה מכנית
הרכבה מכנית
הרכבה מכנית

החבילה צפופה מאוד אך הודות לעיצוב 3D cad היו לי כמה הפתעות בעת הרכבתה.

זרימת האוויר (מלמעלה למטה) מובטחת על ידי מאוורר קטן. לאחר שקניתי מספר הוגן ב- Aliexpress / eBay, הבנתי שהרעש של מאווררים זולים הוא בלתי נסבל עבור מכשיר מקורה. בסופו של דבר קניתי פאפסט 255M (קישור) די יקר ואיטי והאכלתי אותו בפחות מ- 5V באמצעות כמה דיודות. התוצאה טובה למדי ושקטה מספיק כדי שלא ישימו לב אליה (היא אפילו מאושרת על ידי אישה, ההסמכה הקשה ביותר).

שלב 5: תוכנה

תוֹכנָה
תוֹכנָה
תוֹכנָה
תוֹכנָה
תוֹכנָה
תוֹכנָה
תוֹכנָה
תוֹכנָה

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

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

  • החלק שמאלה / ימינה - שנה מסך
  • (אצבע) מערבולת עם כיוון השעון - סובב את המסך
  • (אצבע) מערבולת נגד כיוון השעון - הפעל את מסך ההתקנה
  • (יד) מרחוק עד קרוב - כבה את המסך

מסכים עוברים בירושה ממעמד בסיסי ומנוהלים באמצעות מודל האירוע הבא:

  • הפעל - מופעל פעם אחת, כאשר המסך נוצר
  • עדכון - נקרא מעת לעת לעדכן את המסך
  • ביטול - התקשר פעם אחת, לפני שהמסך יוסר
  • onUserEvent - נקרא כאשר מופעל חיישן מחוות. מאפשר להגיב וגם לעקוף את טיפול ברירת המחדל באירוע, למשל. הפסק החלק כדי לשנות מסך

כל מסך מצהיר על יכולותיו על ידי מתן המידע הבא:

  • getRefreshPeriod - כמה פעמים המסך צריך רענון
  • getRefreshWithScreenOff - אם המסך רוצה להתרענן גם כאשר התאורה האחורית כבויה. לְמָשָׁל עבור תרשימים
  • getScreenName - שם המסך
  • isFullScreen - קח שליטה מלאה על התצוגה, או אפשר את הסרגל העליון עם תאריך/שעה/מיקום/מד סוללה/מד wifi

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

מסכים המיושמים כיום ב- Atmoscan הם:

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

מסכי ההתקנה מאפשרים הגדרת אישורי Wifi, ערוצי MQTT, שרת Syslog.

חדש בגרסה 2.0: כל מפתחות שירותי האינטרנט ניתנים להגדרה באמצעות פורטל התצורה. הערך היחיד שעדיין מקודד הוא סיסמת OTA (ATMOSCAN באותיות גדולות).

הערה 1: התכנות הראשון חייב להתבצע באמצעות כבל USB-Serial המחובר למחבר התכנות. מכיוון שהיציאה הסדרתית תפוסה על ידי חיישן, ניפוי באגים ותכנות בדרך זו אינם מעשיים לאחר ההרכבה מכיוון שהיא תדרוש ניתוק החיישן. לכן התוכנה תומכת באגים ובעדכוני OTA של SYSLOG.

הערה 2: הבינארי ATMOSCAN הוא מעל 700Kb ו- ArduinoOTA דורש שטח התוכנית להיות לפחות כפול מגודל התמונה, מה ששולל את האפשרות "4M (3M SPIFFS)". עם זאת, האפשרות הסטנדרטית "4M (1M SPIFFS)" אינה מתאימה גם מכיוון שמחיצת SPIFFS לא תהיה מספקת עבור המשאבים הגרפיים הקשורים לתחנת מזג אוויר, איתור מטוסים ולקובץ הקונפינג. לכן נוצרה תצורה מותאמת אישית "4M (2M SPIFFS)" כדי לפתור את הבעיה. הסבר כאן.

תיעוד וקוד המקור המלא זמינים כאן.

קודי אשראי וספריות מ

  • אדפרוט
  • ארקאו
  • בבלנצ'ון
  • בודמר
  • קובייה סגורה
  • Gmag11
  • Knolleary
  • לוקאדנטלה
  • נראה
  • 78
  • צפו
  • אשף 97

אינטגרציה של שירותי אינטרנט מ

  • Adsbexchange.com
  • GeoNames.org
  • Google.com
  • Mylnikov.org
  • Timezonedb.com
  • Wunderground.com

שלב 6: עשה את זה טוב יותר

עשה את זה טוב יותר!
עשה את זה טוב יותר!

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

כֹּל אֶחָד?

הערה: עדיין יש לי קומץ PCB כך שאם מישהו מעוניין הוא זמין במחיר סמלי / דמי משלוח.

שלב 7: שאלות ותשובות

שאלות ותשובות
שאלות ותשובות
שאלות ותשובות
שאלות ותשובות

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

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

מצאתי בחלק האחורי של המגירה את 8 ה- PCB הזמינים - והם בדרך לבלגיה, גרמניה, הודו, ארה ב, קנדה, בריטניה, אוסטרליה. וואו, 3 יבשות! מדהים.

מה אשים בדף התצורה של ATMOSCAN?

דף התצורה של Atmoscan דורש את הפרמטרים הבאים:

  • SSID וסיסמה של רשת ה- WiFi שאליה ברצונך להתחבר
  • שרת MQTT בו אתה משתמש. לדוגמה, אני משתמש ב- mqtt.thingspeak.com
  • מחרוזת חיבור לנושאי MQTT בשימוש. לדוגמה, נושאי MQTT של Thingspeak הם בפורמט: ערוצים/CHANNEL-ID/publish/WRITE-API (דוגמה: channel/123456/publish/567890)
  • שרת Syslog: כתובת ה- IP של שרת syslog שבו אתה משתמש לצורך כניסה
  • מפתח Google לממשק API סטטי של מפות. קבל מפתח מ- https://console.cloud.google.com/apis/dashboard. צור פרויקט; ה- API שבו משתמשת Atmoscan הוא https://maps.googleapis.com/maps/api/staticmap. צור מפתח עבור ה- API הזה בפרויקט Google שיצרת זה עתה, השתמש בו כאן
  • מפתח מזג אוויר תת קרקעי. צור חשבון ב- www.wunderground.com, עבור אל WEATHER API (קישור בתחתית דף הבית, עבור אל הגדרות מפתח, צור מפתח, השתמש בו כאן
  • חשבון גיאונמס. צור חשבון ב https://www.geonames.org/ אפשר לו להשתמש בשירותי האינטרנט החינמיים והכנס את שם המשתמש כאן
  • מפתח TimeZoneDB. צור חשבון בכתובת: //timezonedb.com/, צור מפתח, הניח אותו כאן

כיצד אוכל להגדיר את Thingspeak?

אתה צריך 3 ערוצי Thingspeak. שדות משמשים כדלקמן:

ערוץ 1 שדות

  1. טֶמפֶּרָטוּרָה
  2. לחות
  3. לַחַץ
  4. PM01
  5. PM2.5
  6. PM10
  7. עלות לאלף הופעות
  8. קְרִינָה

ערוץ 2 שדות

  1. שיתוף
  2. CO2
  3. NO2
  4. VOC

ערוץ 3 שדות (ערוץ מערכת)

  1. זמן פעולה בתוך דקות
  2. תוספת חינם בבייטס
  3. WIFI RSSI (סיגנל ב- DBM)
  4. מתח הסוללה
  5. LINEAR SOC (BATTERY STATE OF CHARGE % - חישוב לינארי, ביחס למתח)
  6. NATIVE SOC (BATTERY STATE OF CHARGE % - כפי שדווח על ידי מד. כפי שנקרא מהמד. הערה: המד אומר 0 % כאשר הוא מגיע ל -3.6v בעוד שניתן לסלק את הסוללות עוד קצת, אפשר לומר מעל 3v. הגבול התחתון, שבו ATMOSCAN מכבה את עצמו, הוא #define בקובץ globaldefinitions.h)
  7. טמפרטורת המערכת (מה- bme280, מותקן ישירות על הלוח)
  8. מערכת לחות (מה- bme280, מותקן ישירות על הלוח)

ה- PCB הוא קומפקטי מאוד. כיצד אוכל להלחם את התקני ה- SMD, במיוחד את ה- MAX8903A IC?

ראשית, אני מציע לך לשאול את עצמך אם ברצונך להיכנס ל SMD או אם מדובר בעניין חד פעמי- אם האחרון, אולי בקש ממישהו שיעשה זאת עבורך. אם אתה רוצה לקחת את האתגר SMD, השקיע קצת וקבל את הכלים המתאימים (הלחמה, שטף, אלכוהול איזופרופילי, ברזל קטן, אקדח חם, פינצטה, מצלמת USB זולה, מחזיק PCB). כיום זה חומר זול. לאחר מכן צפה בסרטון יוטיוב-יש חצי מיליון-ותבלה קצת עם PCB ישן שתוכל להקריב ולהוריד את הלחמים / לנקות / להלחם כמה רכיבים. לא תאמינו עד כמה זה מלמד, ללמוד למה לצפות, לקבל טמפרטורה נכונה וכו '. דיברתי מניסיון … התחלתי לשנות את מחבר התצוגה ב- iPod touch והרגתי את הראשון!

אכן ה- PCB של Atmoscan הוא קומפקטי וכי ה- IC אינו קל. שוב, אני לא ממליץ לך לעשות זאת כהלחמת ה- SMD הראשונה שלך. ה- QFN אינו חבילה ידידותית למרות שהלחמתי מספר עד עכשיו. אתה אף פעם לא בטוח שהבנת נכון…

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

דרכי: קודם כל שמתי הלחמה על הרפידות עם המגהץ. ואז הרבה שטף (ספציפי ל- SMD) ואני מיקמתי בזהירות את ה- IC בעזרת פינצטה. לאחר מכן חימם את כל העניין לסביבות 200/220C (מתחת לנקודת ההיתוך) כדי למנוע מתחים עקב חימום לא אחיד. ואז הגברתי את הטמפרטורה ל 290C בערך וכן סביב IC. אם תשים מעט הלחמה על כרית סמוכה תראה כשהטמפרטורה בנקודת התכה, מכיוון שהיא תזרח.

לאחר מכן ניקיתי אותו עם אלכוהול איזופרופיל ובדקתי אותו בזהירות באמצעות מצלמת USB זולה. בעיות אופייניות הן יישור וכמות הלחמה, מכיוון שאולי סיכות מסוימות אינן מחוברות. בחלק מהמקרים נאלצתי לחזור אליו עם מלחם קטן כדי להוסיף עוד הלחמה לכמה סיכות, מכיוון של IC זה יש כרית תרמית שמתחתיה צריך גם להלחם. זה קצת מסובך לנחש את כמות הלחמה וזה עלול לקרות שיותר מדי הלחמה שמתחת לה עלולה להעלות אותו כך שהסיכות לא יגעו ב- PCB.

אחרי שאמרתי את זה, אני לא רוצה להפחיד אותך. השלמתי 3 לוחות ואף פעם לא הרגתי את המעגלים האלה … פעם אפילו הייתי צריך להסיר אותו, לנקות ולהפעיל מחדש מאפס אבל זה עבד בסופו של דבר. שוב, לא קל במיוחד אבל ניתן לביצוע.

היכן קנית את הרכיבים?

בעיקר באיביי ובאלקספרס. עם זאת, המותגים מקוריים (Seeed, Pololu, Sparkfun).

כמה קישורים אינדיקטיביים עוקבים. הערה: תסתכל מסביב, אולי תמצא עסקאות אפילו יותר זולות …

www.aliexpress.com/item/ESP8266-Remote-Ser…

www.aliexpress.com/item/PLANTOWER-Laser-PM…

www.aliexpress.com/item/High-Accuracy-BME2…

www.aliexpress.com/item/Free-shipping-HDC1…

www.aliexpress.com/item/J34-F85-Free-Shipp…

www.aliexpress.com/item/30pcs-A11-Tactile-…

www.aliexpress.com/item/10PCS-IRF7319TRPBF…

www.aliexpress.com/item/120PC-Lot-0805-SMD…

www.aliexpress.com/item/100pcs-sma-1N5819-…

www.aliexpress.com/item/Free-Shipping-100P…

www.aliexpress.com/item/Chip-Capacitor-080…

www.aliexpress.com/item/92valuesX50pcs-460…

www.aliexpress.com/item/170valuesX50pcs-85…

www.aliexpress.com/item/Si2305-si2301-si23…

www.aliexpress.com/item/100pcs-lot-SI2303-…

www.aliexpress.com/item/20pcs-XH2-54-2-54m…

www.aliexpress.com/item/10pcs-SMD-Power-In…

תכנות ראשון לוח Atmoscan כולל מעגל תכנות התואם את NodeMCU. בדרך כלל משתמשים בחיבור סדרתי לתכנות הראשון. לאחר מכן, תכנות OTA באמצעות wifi היא האפשרות המועדפת, שכן ניתן לעשות זאת כשהיחידה מורכבת במלואה. אל תשכח שהיציאה הטורית משמשת בדרך כלל על ידי חיישן החלקיקים!

כדי לתכנת את הלוח עם סידורי, יש לחבר מתאם USB-Serial (למשל FTDI232 או דומה) למחבר J7 (ליד כפתור האיפוס) בעקבות הסימון בתרשים. ניתן להעלות את התוכנית ללא חיישנים מחוברים, אלא שצריך לחבר את קו ההפרעה של חיישן הגייגר ל- GND, אחרת הלוח לא יאתחל (לשם כך, חבר את הפינים 1 ו -3 במחבר RAD). הדרך הקלה ביותר לבדוק את הלוח מבלי להשתמש בסקיצה הראשית - ומכאן ללא מורכבות החיישנים - היא להעלות את התוכנית הפשוטה הזו באמצעות כבל טורי. הוא יוצר נקודת גישה wifi המאפשרת הבזקים נוספים עם התוכנית הראשית.

חשוב: אל תשכח להשתמש בתצורת 4M/2M SPIFFS לפי ההוראות, אחרת התוכנית הראשית לא תתאים. יש לאתחל את הלוח באמצעות תכנות סדרתי עם תצורה זו, אחרת ייתכן שתתקל בבעיות ב- OTA מאוחר יותר.

לרוע המזל חלק האתחול של חיישנים נחסם אם אין חיישנים (תלוי בספריית הספרייה). דוגמה אחת היא ספריית החיישנים של multigas. כדי לוודא ש- Atmoscan מתחילה כראוי עם הקושחה המלאה, תוכל להשבית את התהליך הקשור, עיין בנקודת השאלות והתשובות בנושא. דרך פשוטה להשבית את כל החיישנים לבדיקה היא להעיר את השורה #define ENABLE_SENSORS בקובץ GlobalDefinitions.h.

כאשר הלוח מאתחל את המערכון הראשי בפעם הראשונה, הוא צריך לזהות שהוא אינו מוגדר וצריך לפתוח נקודה חמה של wifi, שאליה תוכל להתחבר ולהגדיר אותה. בין ההגדרות, יש שרת syslog שעוזר מאוד באגים. תוכל גם להגדיל את רמת הרישום על ידי ביטול תגובה של #define DEBUG_SYSLOG בקובץ GlobalDefinitions.h.שים לב שבאותו קובץ יש גם DEFUG_SERIAL #define ששימש במהלך איתור באגים ראשוני. אם לא מגיבים זה פלט רישומים_חלק_, אבל מינימלי. פריט של ToDo תמיד היה להפוך את הרישום לאחיד ולבחירה, אך מעולם לא היה לי זמן לנקות אותו.

האם שינית את הספריות שבהן השתמשת, האם יש צורך בתצורה כלשהי? (בניגוד להורדה ולחיבור)

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

  • ספריית https://github.com/Seeed-Studio/Mutichannel_Gas_Sensor - הצהרות באגים סדרתיים. צריך להגיב, מכיוון שהיציאה הטורית משמשת לחיישן!
  • ספרייה https://github.com/Bodmer/TFT_eSPI - דורש קובץ תצורה שבו נקבעים הקצאת הסיכה ותדר SPI
  • ספרייה https://github.com/lucadentella/ArduinoLib_MAX1704… - במבט על ההערות ובקשות משיכה שמתי לב שיש תיקון באגים שמעולם לא אוחד

עד כמה שאני זוכר זה צריך להיות זה. הודע לי אם צצות בעיות.

הערה: עיין בהערות בקוד המקור העדכני ביותר - מכיל קישורים לכל הספריות הדרושות והוא מעודכן

מדוע חלק מהחיישנים קוראים אדום וחלקם ירוק בסרטון/בתמונות?

צבע מצביע על מגמה. זה מתחיל לבן ואם העלייה היא אדומה, אם הירידה היא ירוקה.

כיצד אתה מתמודד עם סחיפת החיישנים לאורך זמן? עד כמה החיישנים האלה טובים? מה אני יכול לראות עם חיישנים אלה?

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

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

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

האם באמת היה צורך בדלפק גייגר? האם זה מראה משהו מועיל?

למרבה המזל לא היו לנו תקריות גרעיניות והמלחמה עדיין לא מגיעה … ובכל זאת, ישנם מפעלים גרעיניים לא כל כך רחוקים והממשלה מפיצה כדורי יוד לילדים שישמרו במגירה במקרה של תקריות … אז התחלתי לחשוד. עד כה אני חייב לומר שהקריאות תואמות בדיוק את קרינת הרקע הצפויה (0.12 uSv/h)

מה העלות הכוללת של המכשיר?

כבר היו לי הרבה רכיבים בבית והקישורים למעלה נותנים לך מושג. בכנות, אם אתה קונה NetAtmo מוכן או דומה אתה חוסך כסף. אתה לא יכול לנצח חברה סינית שעושה דברים בקנה מידה! עם זאת, אם אתה נהנה להכין אולי יחד עם הילדים שלך, זה שווה את זה. החלק הטוב הוא שכבר בדקתי (וזרקתי) מספר חיישנים עבורך …

מה עם PCB? אתה יכול למכור לי אחד?

במקור היו לי 10 מהם שנעשו על ידי dirtypcbs.com והקבצים שלי הסתדרו מצוין. איכות טובה וזולה מספיק, 25 USD / 20 יורו ל -10 PCB. השתמשתי בשניים ואני שמח לשלוח את השאריות במחיר (2 יורו + משלוח, תלוי במיקום ובהעדפות המשלוח). אני חושש שאצטרך לבחור את הראשונים שישלחו לי הודעה פרטית.

האם אתה יכול להכין ערכה או קמפיין קיקסטארטר?

מחמיא, אבל בכנות מעולם לא חשבתי שזה מספיק חדשני … וחוץ מזה, אין זמן !!

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

על חומרה: האם אוכל להוסיף / להסיר חיישן, המסך וכו 'כדי להרחיב את היכולות / להפחית את צריכת החשמל?

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

החיישנים במקום רעבים יותר והכל משתמש בקלות 400/500mA. אל תשכח את המאוורר וגם את העובדה שלחיישן החלקיקים יש גם מאוורר מובנה. ה- ESP גם אינו עובר למצב שינה, בגלל חוסר בפוני GPIO. עם זאת, זה אולי היה חוסך 20mA…

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

כדי להשבית חיישן, למשל לבדוק מבנה חלקי, הדרך הטובה ביותר לדעתי היא לא להתחיל את התהליך הקשור. ניתן להשיג זאת על ידי התייחסות לשיחת ה- enable () הקשורה בפונקציית startProcesses () void בקובץ ה-.ino הראשי. אלא אם כן אתה רוצה לשנות את המערכת מבחינה מבנית, לא הייתי מסיר את התהליכים לגמרי מכיוון שהמסך ותהליכי MQTT יסקרו אותם. בדרך זו הם צריכים פשוט להחזיר אפס. שים לב כי קלט ההפרעה ללוח הג'יגר יוסר כלפי מטה אם אינו בשימוש, אחרת הלוח לא יאתחל.

מהם השיפורים שהיית עושה אילו היה לך זמן ל- V2.0?

לא בסדר מסויים..

  • ה- PCB יכול להימנע מנחושת מאחורי אנטנת ESP8266. שכחתי את זה לגמרי וזה הופך את תרשים הקרינה ללא-איזוטרופי
  • המטען לדעתי קטן מדי עבור סוללה כה גדולה / הסוללה גדולה מדי למטען. ישנם ICs אחרים והייתי מנסה עוד אחד.
  • יש מדיד סוללה טובים יותר.
  • הייתי מוסיף חיישן אוזון
  • הייתי משתמש ב- ESP32 עבור יותר GPIO וחיישני Bluetooth מחוץ ליחידה הראשית.
  • אם היו לי יותר GPIO עם ה- ESP32 או עם מרחיב I2C הייתי משתמש באחד כדי לשלוט במאוורר ובאחר כדי לכבות את היחידה מהתוכנה. עכשיו כאשר סוללה חלשה, הדבר היחיד שהוא יכול לעשות זאת כדי להציג מסך סוללה חלשה. זהו למעשה החיסרון הגדול ביותר בעיצוב, מכיוון שמצב הסוללה החלשה אינו מטופל בחינניות.

על תוכנה

זה לקח לי יותר זמן מהחומרה … אני חושב שהוא מכיל מספר מושגים טובים, למרבה הצער לא מיושם במלואו. באופן ספציפי, אני מאמין שצריך לנקות אותו ולהרחיב אותו ואפשר להפיק ממנו מסגרת גנרית ליישומי ESP8266. אין זמן. מישהו עונה על האתגר?

האם תוכל להוסיף שליטה קולית?

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

איך ביצעת את חיתוכי הלייזר?

הציורים נעשים באמצעות SketchUp. התוכנית נחמדה אך חסרה ברצינות יכולות ייצוא. עם זאת, גרסת הניסיון ל -30 יום עוזרת מכיוון שיש לה פונקציונליות נוספת. לאחר מכן ייבאתי אותו ב- Inkscape לעיבוד סופי.

האם אתה יכול להפעיל/לכבות חיישנים כדי לחסוך בחשמל באמצעות MOSFETs?

רעיון נחמד עקרונית, אך רוב החיישנים האלה צריכים להיות מופעלים כל הזמן מכיוון שיש להם זמן חימום. חוץ מזה … נגמרים לי ה- GPIO ב- ESP8266. אפילו הייתי צריך להשתמש ב- GPIO10 שבאופן רשמי אינו פונקציונלי, אך עובד מצוין ב- ESP12E.

אילו כישורים אצטרך?

כדי לבנות אותו מאפס תצטרך קצת רקע בעיצוב אלקטרוניקה. ממש לא, בימינו עם האינטרנט אתה לא באמת צריך לקרוא גליונות נתונים שורה אחר שורה כמו בימי המוקדמים … אם אתה משתמש בתוצאת הניסוי שלי, אתה צריך כמה יכולות הלחמה SMD, כישורים מכניים וקצת סבלנות.

זה הפרויקט הראשון שלך?

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

מוּמלָץ: