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

רישום נתוני קוד פתוח (OPENSDL): 5 שלבים (עם תמונות)
רישום נתוני קוד פתוח (OPENSDL): 5 שלבים (עם תמונות)

וִידֵאוֹ: רישום נתוני קוד פתוח (OPENSDL): 5 שלבים (עם תמונות)

וִידֵאוֹ: רישום נתוני קוד פתוח (OPENSDL): 5 שלבים (עם תמונות)
וִידֵאוֹ: 🚀 AMAZON 2.0 - ИНТЕРНЕТ МАГАЗИН с нуля за 6 часов [Next / React / Nest / PostgreSQL / Prisma / TS] 2024, יולי
Anonim
רישום נתוני קוד פתוח (OPENSDL)
רישום נתוני קוד פתוח (OPENSDL)
רישום נתוני קוד פתוח (OPENSDL)
רישום נתוני קוד פתוח (OPENSDL)
רישום נתוני קוד פתוח (OPENSDL)
רישום נתוני קוד פתוח (OPENSDL)

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

התוצאה היא מערכת מותאמת אישית ובמחיר סביר המאפשרת לבעלי העניין לבצע את המדידות הנדרשות לבניית הערכת ביצועים בצורה יעילה ובמחיר סביר על ידי רישום פרמטרים סביבתיים מרובים בבת אחת. קודן הנתונים הפתוח (OPENSDL) שפותח הושווה מול כונן נתונים של HOBO U12-012. מערכת מקבילה זמינה מסחרית זו יכולה למדוד 3 פרמטרים, כלומר- טמפרטורה, RH ותאורה, וערוץ חיצוני אחד עבור סוגי חיישנים אחרים. יש צורך בהתקן חישה אחר למדידת כל פרמטר אחר. מאפייני הפרמטרים שיש למדוד מוגבלים לחומרה ולתוכנה הקניינית, המגבילה את המערכת למדידת פרמטרים מסוימים בדיוק מדויק. HOBO U12-012 עולה בסביבות 13,000 ₪ (185 דולר ארה ב), ואילו OPENSDL עולה 4, 605 רופי (66 דולר), שהם כמעט שליש מהמקבילה המסחרית.

כונן נתונים פתוח קוד לניטור טמפרטורה, RH ורמות אור (תאורה) בעזרת Arduino Uno זהו עשה זאת בעצמך לפיתוח לוגר הנתונים של OPENSDL.

זמן נדרש: 2-3 שעות להלחמה, 5 שעות לאריזה (4 שעות - הדפסה תלת מימדית ושעה לחיתוך בלייזר) נדרש כישורים: הלחמה, מעט ידע או כלל בתכנות ואלקטרוניקה.

חלקים נדרשים:

  1. Arduino Uno עם כבל
  2. מגן לוגר נתונים
  3. סוללת מטבעות CR1220
  4. לוח פריצת חיישן לחות בלחץ טמפרטורה BME280
  5. לוח פריצת חיישן אור TSL2561
  6. מודול Wi-Fi ESP01-8266
  7. מחבר זכר ונקבה RJ-9
  8. כותרות לערימת מגן עבור Arduino
  9. כרטיס זיכרון SD (בכל קיבולת)
  10. לוח וקטורי (26 x 18 חורים)
  11. 8 סוללות AA מחזיק סוללות

כלים נדרשים:

  • מגהץ הלחמה (35W)
  • חוט הלחמה
  • קאטר
  • כלי לחיתוך
  • מולטימטר

נדרשת תוכנה: Arduino IDE (1.0.5 ומעלה)

ספריות Arduino בשימוש:

  • ספריית חוטים
  • ספריית SparkFun TSL2561
  • ספריית רב -חיישנים של קקטוס BME280
  • ספריית כרטיסי SD
  • ספריית SPI
  • ספריית RTC

הערה: חיישן BME280 הוא חיישן מדויק מאוד, טמפרטורה, לחות יחסית ולחץ של חברת בוש. באופן דומה, DS1307 הוא שעון בזמן אמת מדויק של מקסים ו- TSL2561 הוא חיישן אור מדויק. ישנן חלופות פחות יקרות ופחות מדויקות למוצרים אלה, אך הדרכה זו מיועדת לאנשים שהתעניינו לאסוף נתונים לבניית הערכת ביצועים ובניית יישומי ניטור הדורשים דיוק ודיוק גבוהים. המשמעות היא שכל התקנת חומרה והתקנת תוכנה ספציפית (ספריות, קוד תכנית) נועדו אך ורק למוצרים שצוינו בלבד.

שלב 1: הרכבה

הַרכָּבָה
הַרכָּבָה
הַרכָּבָה
הַרכָּבָה
הַרכָּבָה
הַרכָּבָה
הַרכָּבָה
הַרכָּבָה

ניתן לערום בקלות את מגן כונן הנתונים על גבי לוח ה- Arduino Uno. מגן זה מספק את יכולות רישום הנתונים (שמירת זמן ואחסון נתונים). היה צריך לערום את המגן. היה צריך להכניס סוללת מטבע CR1220 לחריץ העגול המסופק כדי לשמור על השעון פועל גם כשהארדואינו כבוי. יש להכניס את כרטיס הזיכרון SD לחריץ הכרטיס המשולב. מגן ייחודי מותאם אישית פותח על ידי שימוש בסיכות נקבה למחבר RJ-9 ובכותרות ערימת מגן Arduino. הכותרות המתאימות מולחמו במקומות המתאימים כך שהמגן מתאים בצורה מושלמת ללוח הארדואינו. ל- Arduino 18 סיכות בצד אחד ו -14 סיכות בצד השני. הכותרות עם אותו מספר סיכות שימשו באותו מרווח (18 פינים זה מזה) כמו בארדואינו. השטח הנוסף הנותר הצמוד לכותרות שימש להצבת מחבר RJ-9.

הכותרות היו הדרך הטובה ביותר להשתמש בסיכות הנדרשות, תוך שהן עדיין זמינות לשימוש לרכיבים אחרים. החיישנים המשמשים עוקבים אחר פרוטוקול התקשורת I2C, הדורש 4 פינים מארדואינו, כלומר: SDA (זמין גם כ- A4), SCL (זמין גם כ- A5), 3.3V ו- GND. ארבעת החוטים היוצאים ממחבר RJ-9 מולחמים בארבעת סיכות הכותרת הללו. מספר המחברים RJ-9 הנדרש תלוי במספר החיישנים. בפרויקט זה נעשה שימוש ב -3 מחברי RJ-9 (שניים עבור BME280 ואחד עבור TSL2561). ארבעת החוטים היוצאים ממחבר RJ-9 היו מקודדים בצבע, וכל חוט צבע הוגדר כסיכה ספציפית לכל מחברי RJ-9. יש לציין כי קוד הצבע עשוי להשתנות ביצירות RJ-9 שונות. במקרה כזה, יש לציין את מיקום החוט על המחבר. מחבר RJ-9, לאחר הלחמה, נוצר להידבק על הלוח הווקטורי באמצעות Feviqwik, כך שיתקבע על פני השטח. ניתן לאמת חיבורים אלה באמצעות מצב ההמשכיות במולטימטר. כאשר הוא נמצא במצב המשכיות, המולטימטר אמור להראות התנגדות אפסית. חבר את אחת הבדיקות של המולטימטר לסיכה המולחמת, וחישה נוספת לסיכה שבתוך מחבר RJ-9. המולטימטר צריך לפלוט צליל, מה שאומר שמפרקי הלחמה תקינים והחיבורים בוצעו כראוי. אם הטון לא נפלט, בדוק את מפרקי ההלחמה. באופן דומה, הלחם את מחבר RJ-9 עם אותם חוטים המתחברים לאותם חורים על לוחות פריצת החיישנים, כלומר A4, A5, 3.3V ו- GND. חיישן BME280 תומך בשתי כתובות I2C, כלומר ניתן לחבר שני חיישני BME280 לאותו בקר בבת אחת. תוך כדי כך, יש לשנות את כתובתו של אחד החיישנים על ידי גישור בין כריות ההלחמה בחיישן. שבב חיבור אלחוטי ESP-01 דרש את החיבורים הבאים עם ה- Arduino.

ESP-01 --------- Arduino Uno

10 -------------------- TX

11 -------------------- RX

Vcc ---------------- CH_PD

Vcc ------------------- Vcc

GND ----------------- GND

הערה:- נוריות ה- LED המרובות ב- Arduino Uno הוסרו לשיפור חיי הסוללה. נוריות חיווי ההפעלה, RX ו- TX הוסרו על ידי חימום מפרקי ההלחמה ודחיפת הלד במלקחיים.

שלב 2: הגדר מזהים וספריות

לפני ביצוע כל תכנות, יש להוריד את Arduino IDE (Integrated Development Environment). התכנות בוצע בפלטפורמה זו. ספריות שונות נדרשו לתקשר עם רכיבים שונים של OPENSDL. הספריות הבאות שימשו את הרכיבים הנתונים.

רכיב ------------------------------------------------- --------------סִפְרִיָה

חיישן טמפרטורה וחיישן BME280 --------------------------------- Cactus_io_BME280_I2C.h

חיישן אור------------------------------------------------ ---------------- SparkFun TSL2561.h

שעון בזמן אמת ----------------------------------------------- ------------- RTClib.h

שקע כרטיס SD ----------------------------------------------- ------------- SD.h

חיבור I2C ------------------------------------------------ ------------- Wire.h

אין צורך בספרייה נפרדת לתקשורת עם ESP01 מכיוון שהקוד שמועלה בארדואינו כולל פקודות AT, הנשלחות לצג הטורי, משם ESP-01 לוקח את ההוראות. אז בעצם, פקודות ה- AT שבאמצעותן פועל ESP01 מודפסות לתוך הצג הסידורי, הנלקחות כפקודת קלט על ידי ESP-01. להתקנת ספריות אלה, לאחר הורדתן, פתח את Arduino IDE, עבור אל Sketch -> Include Library -> Add. Zip ובחר את הספריות שהורדת.

שלב 3: תכנות המערכת

תכנות המערכת
תכנות המערכת

לפני שתכנת את OPENSDL, חבר את הארדואינו למחשב נייד. לאחר החיבור, עבור אל כלים -> יציאה ובחר את יציאת ה- COM שבה מחובר OPENSDL. כמו כן, ודא כי תחת כלים -> לוחות, Arduino Uno נבחר.

ה- OPENSDL פותח לעבודה בשני מצבים. במצב הראשון, הוא מאחסן את הנתונים בכרטיס ה- SD במגן לוגר הנתונים. במצב שני, הוא שולח את הנתונים דרך האינטרנט לאתר באמצעות שבב Wi-Fi ESP-01. התוכנית לשני המצבים שונה. שורות קוד אלה ניתנות להעתיק ולהדביק ישירות בעורך Arduino IDE ולהשתמש בהן ישירות. לאחר שנכנסנו לקוד, עלינו לבצע מספר התאמות לפי צרכינו:

  1. שנה באופן ידני את ערך העיכוב (1000) בסוף הקוד כדי לשנות את מרווח הרישום. הערך 1000 מייצג מרווח באלפיות השנייה.
  2. ערוך את שורת הקוד שאומרת mySensorData = SD.open ("Logged01.csv", FILE_WRITE); והחלף את Logged01 בשם הקובץ של שם הקובץ הרצוי. ניתן לשנות את הסיומת של הקובץ גם על ידי שינוי סיומת.csv ממש אחרי שם הקובץ.
  3. משוואת הכיול שהושגה על ידי מציאת המתאם בין חיישן המאסטר/הפניה לבין BME280 תשתנה עם כל חיישן. החלף את שורת הקוד הזו במשוואה לכיול החיישנים: Serial.print ((1.0533*t2) -2.2374)-לחיישן עם כתובת ברירת מחדל (0x77), כאשר t2 הוא הערך הנקרא מחיישן הטמפרטורה.

ניתנה תוכנית נפרדת לתכנות המצב השני הזמין של OPENSDL, שהיא המערכת האלחוטית. יש לחבר את ESP-01 ל- OPENSDL בהתאם לחיבורים כפי שהוסבר בשלב מס '2. לאחר השלמת החיבורים, חבר את הארדואינו למחשב הנייד והעלה סקיצה ריקה בארדואינו. הכנס את ESP-01 למצב עדכון ועדכן את הקושחה לעדכון הזמין העדכני ביותר. לאחר העדכון, הקפד לחבר את סיכת האיפוס של Arduino לסיכה 3.3V, העוקפת את מטען האתחול של Arduino

שלב 4: ייצור

זִיוּף
זִיוּף
זִיוּף
זִיוּף
זִיוּף
זִיוּף

מארז עבור OPENSDL נוצר להגנה ולשיפור האסתטיקה. המעטפות פותחו על ידי הדפסה תלת מימדית באמצעות חומר PLA, והמעטפת למיקרו -בקר פותחה על ידי חיתוך לייזר של גיליון ה- MDF והדבקת החלקים יחד. הדגמים המודפסים בתלת -ממד פותחו באמצעות תוכנת SketchUp, ורישומי dxf 2D לחיתוך בלייזר נוצרו באמצעות AutoCAD.

להדפסה תלת -ממדית, קבצי STL המיוצרים באמצעות SketchUp נפתחו ונבדקו בתוכנת Ultimaker Cura 3.2.1. וודא כי נעשה שימוש בחומר PLA, והזרבובית של המדפסת משמשת להדפסה של 0.4 מ מ. לוח הבנייה של מדפסת התלת מימד עשוי לדרוש דבק כדי להדביק את האובייקט המודפס בתלת מימד. אך כשההדפסה הושלמה, הדבק יוצר הידבקות חזקה בין האובייקט המודפס לבין לוח הבנייה.

שלב 5: קוד

הקוד (קבצי.ino) מיועד לעבודה בתוכנת Arduino IDE. הנה הקישור לדף Github שלי לקוד ופרטים נוספים.

github.com/arihant93/OPENSDL

אנא אל תהססו לשאול שאלות על הפרויקט.

תודה.

מוּמלָץ: