فهرست مطالب:

Open Source Data Logger (OPENSDL): 5 مرحله (همراه با تصاویر)
Open Source Data Logger (OPENSDL): 5 مرحله (همراه با تصاویر)

تصویری: Open Source Data Logger (OPENSDL): 5 مرحله (همراه با تصاویر)

تصویری: Open Source Data Logger (OPENSDL): 5 مرحله (همراه با تصاویر)
تصویری: Linux Tutorial for Beginners - 10 - Compress and Extract tar and gz Files 2024, جولای
Anonim
منبع نگار منبع باز (OPENSDL)
منبع نگار منبع باز (OPENSDL)
منبع نگار منبع باز (OPENSDL)
منبع نگار منبع باز (OPENSDL)
منبع نگار منبع باز (OPENSDL)
منبع نگار منبع باز (OPENSDL)

هدف از این پروژه طراحی ، ساخت و آزمایش یک سیستم اندازه گیری کم هزینه برای مطالعات ارزیابی عملکرد ساختمان است که حداقل شامل دما ، رطوبت نسبی ، روشنایی و قابل توسعه برای سنسورهای اضافی است و توسعه نمونه اولیه این دستگاه ها به

این منجر به ایجاد یک سیستم سفارشی و مقرون به صرفه می شود که به ذینفعان امکان می دهد اندازه گیری های مورد نیاز برای ارزیابی عملکرد ساختمان را به شیوه ای کارآمد و مقرون به صرفه با ثبت چندین پارامتر محیطی به طور همزمان انجام دهند. Open Source Data Logger (OPENSDL) توسعه یافته در مقابل یک HOBO U12-012 data logger مقایسه شد. این سیستم همتای تجاری موجود ، می تواند 3 پارامتر یعنی دما ، RH و روشنایی و یک کانال خارجی برای انواع دیگر سنسورها را اندازه گیری کند. برای اندازه گیری سایر پارامترها به یک دستگاه سنجش متفاوت نیاز است. ویژگی های پارامترهای اندازه گیری محدود به سخت افزار و نرم افزار اختصاصی است ، که سیستم را به اندازه گیری پارامترهای خاص با دقت خاص محدود می کند. هزینه یک HOBO U12-012 حدود 13000 پوند (185 دلار آمریکا) است ، در حالی که هزینه OPENSDL 4 ، 605 پوند (66 دلار آمریکا) است که تقریباً یک سوم همتای تجاری است.

یک منبع ثبت داده منبع باز برای نظارت بر دما ، RH و میزان نور (روشنایی) با کمک Arduino Uno. این یک ابزار دستی برای توسعه داده چوب OPENSDL است.

زمان مورد نیاز: 2-3 ساعت برای لحیم کاری ، 5 ساعت برای بسته بندی (4 ساعت - چاپ سه بعدی و 1 ساعت برای برش لیزری) مهارت های مورد نیاز: لحیم کاری ، دانش کمی در برنامه نویسی و الکترونیک

قطعات مورد نیاز:

  1. آردوینو Uno با کابل
  2. سپر اطلاعات ثبت کننده
  3. باتری سکه ای CR1220
  4. برد شکست سنسور فشار رطوبت BME280
  5. برد شکست سنسور نور TSL2561
  6. ماژول Wi-Fi ESP01-8266
  7. اتصال RJ-9 زن و مرد
  8. هدرها را روی آردوینو جمع کنید
  9. کارت حافظه SD (با هر ظرفیتی)
  10. تخته وکتور (26 در 18 سوراخ)
  11. 8 عدد باتری قلمی دارنده باتری

ابزارهای مورد نیاز:

  • آهن لحیم کاری (35 وات)
  • سیم لحیم کاری
  • سیم چین
  • ابزار کرمپر
  • مولتی متر

نرم افزار مورد نیاز: Arduino IDE (1.0.5 یا بالاتر)

کتابخانه های آردوینو مورد استفاده:

  • کتابخانه سیم
  • کتابخانه SparkFun TSL2561
  • کتابخانه چند سنسور کاکتوس BME280
  • کتابخانه کارت SD
  • کتابخانه SPI
  • کتابخانه RTC

توجه: سنسور BME280 یک سنسور بسیار دقیق ، دما ، رطوبت نسبی و فشار بوش است. به طور مشابه ، DS1307 یک ساعت دقیق زمان واقعی از Maxim است و TSL2561 یک سنسور دقیق نور است. جایگزین های ارزان تر و با دقت کمتری برای این محصولات وجود دارد ، اما این آموزش به منظور افرادی بود که علاقه مند به جمع آوری داده ها برای ارزیابی عملکرد ساختمان و برنامه های نظارت بر ساختمان بودند که نیاز به دقت و دقت بالا دارند. این بدان معناست که هرگونه سخت افزار و راه اندازی نرم افزار خاص (کتابخانه ها ، کد برنامه) فقط برای محصولات مشخص شده است.

مرحله 1: مونتاژ

مونتاژ
مونتاژ
مونتاژ
مونتاژ
مونتاژ
مونتاژ
مونتاژ
مونتاژ

سپر دیتا لاگر را می توان به راحتی در بالای برد Arduino Uno قرار داد. این سپر قابلیت ثبت اطلاعات (ذخیره زمان و ذخیره اطلاعات) را فراهم می کند. سپر باید روی هم چیده می شد. یک باتری سکه ای CR1220 باید در شکاف گرد قرار داده می شد تا ساعت را حتی در زمان خاموش بودن آردوینو روشن نگه دارد. کارت حافظه SD باید در شکاف کارت موجود در کارت قرار داده شود. یک سپر سفارشی منحصر به فرد با استفاده از پین های زن کانکتور RJ-9 و سربرگ های سپر آردوینو ایجاد شد. هدرهای مناسب در مکانهای مناسب لحیم شدند تا سپر کاملاً روی برد آردوینو قرار گیرد. آردوینو دارای 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 به اتصالات زیر با آردوینو نیاز داشت.

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

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

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

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

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

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

توجه:- چندین LED در Arduino Uno برای بهبود عمر باتری حذف شدند. LED های LED ، RX و TX با گرم کردن اتصالات لحیم کاری و فشار دادن LED با فورسپس حذف شدند.

مرحله 2: IDE ها و کتابخانه ها را راه اندازی کنید

قبل از انجام هرگونه برنامه نویسی ، Arduino IDE (محیط توسعه یکپارچه) باید بارگیری شود. برنامه نویسی بر روی این بستر انجام شد. کتابخانه های مختلف برای تعامل با اجزای مختلف OPENSDL مورد نیاز بودند. از کتابخانه های زیر برای اجزای داده شده استفاده شده است.

مولفه ------------------------------------------------- -------------- کتابخانه

حسگر دما و RH BME280 --------------------------------- Cactus_io_BME280_I2C.h

حسگر روشنایی------------------------------------------------ ---------------- SparkFun TSL2561.h

ساعت واقعی -------------------------------------------------- ------------- RTClib.h

سوکت کارت SD -------------------------------------------------- ------------- SD.h

اتصال I2C ---------------------------------------------------- ------------- Wire.h

یک کتابخانه جداگانه برای ارتباط با ESP01 مورد نیاز نیست زیرا کد بارگذاری شده در Arduino دارای دستورات AT است که به مانیتور سریال ارسال می شود ، جایی که ESP-01 دستورالعمل ها را می گیرد. بنابراین ، اساساً ، دستورات AT که ESP01 با آن اجرا می شود ، در Serial Monitor چاپ می شوند ، که به عنوان فرمان ورودی توسط ESP-01 گرفته می شوند. برای نصب این کتابخانه ها ، پس از بارگیری آنها ، Arduino IDE را باز کنید ، به Sketch -> Include Library -> Add. Zip library بروید و کتابخانه های بارگیری شده را انتخاب کنید.

مرحله 3: برنامه نویسی سیستم

برنامه نویسی سیستم
برنامه نویسی سیستم

قبل از برنامه نویسی OPENSDL ، Arduino را با یک لپ تاپ وصل کنید. پس از اتصال به Tools -> Port بروید و پورت COM را که OPENSDL در آن متصل است انتخاب کنید. همچنین ، مطمئن شوید که در قسمت Tools -> Boards ، Arduino Uno انتخاب شده است.

OPENSDL برای کار در 2 حالت توسعه داده شد. در حالت اول ، داده ها را روی کارت 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 باید مطابق اتصالات مطابق با مراحل شماره 2 به OPENSDL متصل شود. پس از اتمام اتصالات ، Arduino را به لپ تاپ متصل کرده و یک طرح خالی را در Arduino بارگذاری کنید. ESP-01 را در حالت به روز رسانی قرار دهید و سیستم عامل را به آخرین به روزرسانی موجود به روز کنید. پس از بروزرسانی ، مطمئن شوید که پین تنظیم مجدد Arduino را با پین 3.3V متصل کرده اید ، که بوت لودر Arduino را دور می زند

مرحله 4: ساخت

ساخت
ساخت
ساخت
ساخت
ساخت
ساخت

محفظه ای برای OPENSDL برای محافظت و بهبود زیبایی ایجاد شده است. بدنه ها با چاپ سه بعدی با استفاده از مواد PLA توسعه یافته اند ، و پوشش میکروکنترلر با برش لیزری ورق MDF و چسباندن قطعات به یکدیگر ایجاد شده است. مدلهای چاپ سه بعدی با استفاده از نرم افزار SketchUp و نقشه های دو بعدی dxf برای برش لیزری با استفاده از اتوکد ایجاد شده است.

برای چاپ سه بعدی ، فایلهای STL تولید شده با استفاده از SketchUp باز شده و در نرم افزار Ultimaker Cura 3.2.1 بررسی شده است. اطمینان حاصل کنید که از مواد PLA استفاده شده است و نازل چاپگر مورد استفاده برای چاپ 0.4 میلی متر است. صفحه ساخت چاپگر سه بعدی ممکن است برای چسباندن شی چاپ شده سه بعدی به چسب نیاز داشته باشد. اما وقتی چاپ کامل شد ، چسب چسبندگی قوی بین شی چاپ شده و صفحه ساخت ایجاد می کند.

مرحله 5: کد

کد (فایل های.ino) برای کار در نرم افزار Arduino IDE ساخته شده است. در اینجا پیوند صفحه Github من برای کد و سایر جزئیات است.

github.com/arihant93/OPENSDL

لطفاً از پرسیدن سوالات در مورد پروژه دریغ نکنید.

با تشکر.

توصیه شده: