فهرست مطالب:
- مرحله 1: صورتحساب مواد
- مرحله 2: سنسور دما DS18B20
- مرحله 3: اتصال سنسورها به NodeMCU
- مرحله 4: نصب کتابخانه های اختصاصی
- مرحله 5: آزمایش سنسورها
- مرحله 6: استفاده از Blynk
- مرحله 7: نتیجه گیری
تصویری: اینترنت اشیا ساده: مانیتورینگ چند سنسور: 7 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:56
چند هفته پیش ، من در اینجا آموزشی در مورد نظارت بر دما با استفاده از DS18B20 ، یک سنسور دیجیتالی که از طریق یک گذرگاه 1-Wire ارتباط برقرار می کند ، ارسال می کنم و داده ها را از طریق اینترنت با NodeMCU و Blynk ارسال می کنم:
اینترنت اشیا ساده: نظارت بر دما در هر نقطه
اما چیزی که در اکتشاف از دست دادیم ، یکی از مزایای بزرگ این نوع سنسور بود که امکان جمع آوری داده های متعدد ، از چندین سنسور متصل به یک گذرگاه 1 سیمه است. و اکنون وقت آن است که آن را نیز کشف کنیم.
ما آنچه را که در آخرین آموزش توسعه داده شد ، گسترش می دهیم ، در حال حاضر دو سنسور DS18B20 را که یکی در Celcius و دیگری در Fahrenheit پیکربندی شده است ، رصد می کنیم. همانطور که در نمودار بلوک بالا نشان داده شده است ، داده ها به Blynk App ارسال می شوند.
مرحله 1: صورتحساب مواد
- NodeMCU ESP 12-E (*)
- 2 X DS18B20 سنسور دما
- مقاومت 4.7K اهم
- تخته نان
- سیم کشی
(*) هر نوع دستگاه ESP را می توان در اینجا استفاده کرد. رایج ترین آنها NodeMCU V2 یا V3 هستند. هر دو همیشه خوب کار خواهند کرد.
مرحله 2: سنسور دما DS18B20
ما در این آموزش از نسخه ضد آب سنسور DS18B20 استفاده می کنیم. برای دمای دور در شرایط مرطوب ، به عنوان مثال در خاک مرطوب ، بسیار مفید است. سنسور جدا شده است و می تواند تا 125 درجه سانتی گراد اندازه گیری کند (Adafrut توصیه نمی کند که از آن بیش از 100 درجه سانتی گراد استفاده کنید زیرا کابل PVC کابل آن وجود دارد).
DS18B20 یک سنسور دیجیتالی است که استفاده از آن را حتی در مسافت های طولانی خوب می کند! این سنسورهای حرارتی دیجیتالی 1 سیم نسبتاً دقیق هستند (± 0.5 درجه سانتی گراد در بیشتر محدوده) و می توانند تا 12 بیت دقت را از مبدل دیجیتال به آنالوگ روی برد ارائه دهند. آنها با NodeMCU با استفاده از یک پین دیجیتالی عالی کار می کنند ، و حتی می توانید چندین عدد را به یک پین متصل کنید ، هر یک دارای شناسه 64 بیتی منحصر به فردی است که در کارخانه برای تمایز آنها در نظر گرفته شده است.
سنسور از 3.0 تا 5.0V کار می کند ، بدین معنی که می توان آن را مستقیماً از یکی از پین های 3.3V NodeMCU تغذیه کرد.
سنسور دارای 3 سیم است:
- سیاه: GND
- قرمز: VCC
- زرد: داده های 1 سیم
در اینجا ، می توانید اطلاعات کامل را پیدا کنید: DS18B20 Datasheet
مرحله 3: اتصال سنسورها به NodeMCU
- همانطور که در عکس بالا نشان داده شده است ، 3 سیم از هر سنسور را در مینی بردبرد وصل کنید. برای اتصال بهتر کابل سنسور روی آن از اتصالات مخصوص استفاده کردم.
-
توجه داشته باشید که هر دو سنسور موازی هستند. اگر بیش از 2 سنسور دارید ، باید همین کار را انجام دهید.
- قرمز ==> 3.3 ولت
- سیاه ==> GND
- زرد ==> D4
- استفاده از مقاومت 4.7K اهم بین VCC (3.3V) و داده (D4)
مرحله 4: نصب کتابخانه های اختصاصی
برای استفاده صحیح از DS18B20 ، دو کتابخانه لازم است:
- OneWire
- دما دالاس
هر دو کتابخانه را در مخزن Arduino IDE Library خود نصب کنید.
توجه داشته باشید که کتابخانه OneWire باید کتابخانه خاصی باشد که برای استفاده با ESP8266 تغییر یافته است ، در غیر این صورت هنگام تدوین خطایی دریافت خواهید کرد. آخرین نسخه را در پیوند بالا مشاهده خواهید کرد.
مرحله 5: آزمایش سنسورها
برای آزمایش سنسورها ، فایل زیر را از GitHub من بارگیری کنید:
NodeMCU_DS18B20_Dual_Se nsor_test.ino
/**************************************************************
*تست فرستنده دمای چندگانه**2 x سنسور OneWire: DS18B20*متصل به NodeMCU D4 (یا Arduino Pin 2)**توسعه یافته توسط Marcelo Rovai - 25 آگوست 2017 **************** **********************************************/ #عبارتند از # شامل #تعریف ONE_WIRE_BUS 2 // DS18B20 در پین NodeMCU D4 OneWire oneWire (ONE_WIRE_BUS) ؛ DallasTemperature DS18B20 (& oneWire) ؛ void setup () {Serial.begin (115200)؛ DS18B20.begin ()؛ Serial.println ("آزمایش داده های دو سنسور") ؛ } void loop () {float temp_0؛ شناور temp_1 ؛ DS18B20.request دما ()؛ temp_0 = DS18B20.getTempCByIndex (0) ؛ // سنسور 0 Temp را در Celcius temp_1 = DS18B20.getTempFByIndex (1)؛ // سنسور 0 Temp را در فارنهایت Serial.print ("Temp_0:")؛ Serial.print (temp_0)؛ Serial.print ("oC. Temp_1:")؛ Serial.print (temp_1)؛ Serial.println ("oF")؛ تاخیر (1000) ؛ }
با نگاهی به کد بالا ، باید توجه داشته باشیم که مهمترین خطوط عبارتند از:
temp_0 = DS18B20.getTempCByIndex (0) ؛ // سنسور 0 Temp را در Celcius ضبط می کند
temp_1 = DS18B20.getTempFByIndex (1) ؛ // سنسور 0 Temp را در فارنهایت ثبت می کند
اولین مورد یک مقدار را از سنسور [0] (به "index (0)") در Celcius باز می گرداند (به قسمت کد نگاه کنید: "getTempC". خط دوم مربوط به سنسور [1] است و داده ها را برمی گرداند در فارنهایت. شما می توانید در اینجا "n" سنسور داشته باشید زیرا برای هر یک از آنها "شاخص" متفاوتی دارید.
اکنون کد را در NodeMCU خود بارگذاری کرده و با استفاده از Serial Monitor دما را کنترل کنید.
عکس بالا نتیجه مورد انتظار را نشان می دهد. هر یک از سنسورها را در دست بگیرید ، باید شاهد افزایش دما باشید.
مرحله 6: استفاده از Blynk
هنگامی که شروع به ضبط داده های دما می کنید ، وقت آن است که آن را از هر نقطه مشاهده کنید. ما این کار را با استفاده از Blynk انجام می دهیم. بنابراین ، تمام داده های ضبط شده در زمان واقعی بر روی دستگاه تلفن همراه شما نمایش داده می شود و همچنین ما یک انبار تاریخی برای آن ایجاد می کنیم.
مراحل زیر را دنبال کنید:
- ایجاد یک پروژه جدید
- نامی بگذارید (در مورد من "مانیتور دمای دوگانه")
- دستگاه جدید - ESP8266 (WiFi) را به عنوان "دستگاههای من" انتخاب کنید
- AUTH TOKEN را برای استفاده در کد کپی کنید (می توانید آن را به ایمیل خود ارسال کنید).
-
شامل دو ویجت "Gauge" ، که عبارتند از:
- پین مجازی برای استفاده در هر سنسور: V10 (سنسور [0]) و V11 (سنسور [1])
- محدوده دما: -5 تا 100 درجه سانتی گراد برای سنسور [0]
- محدوده دما: 25 تا 212 درجه سانتی گراد برای سنسور [1]
- فرکانس خواندن داده ها: 1 ثانیه
- شامل ویجت "نمودار تاریخ" است که V10 و V11 را به عنوان پین های مجازی تعریف می کند
- "پخش" (مثلث در گوشه سمت راست بالا) را فشار دهید
البته ، برنامه Blynk به شما می گوید که NodeMCU آفلاین است. وقت آن است که کد کامل را در Arduino IDE خود بارگذاری کنید. می توانید آن را از اینجا دریافت کنید:
NodeMCU_Dual_Sensor_Blynk_Ext.ino
"اطلاعات ساختگی" را با اعتبار خود تغییر دهید.
/ * اعتبارنامه Blynk */
char auth = "کد نویسنده BLYNK خود را در اینجا"؛ / * اعتبارنامه WiFi */ char ssid = "SSID شما" ؛ char pass = "گذرواژه شما"؛
و بس!
کد کامل را در زیر بیاورید. این اساساً کد قبلی است ، جایی که ما با پارامترهای Blynk و توابع خاص وارد کردیم. به 2 خط آخر کد توجه کنید. اینها مهمترین آنها در اینجا هستند. اگر سنسورهای بیشتری برای جمع آوری داده ها دارید ، باید خطوط جدید معادل آن خطوط (با مشخص شدن پین های مجازی جدید مربوطه) داشته باشید.
/**************************************************************
* IoT Multiple Temperature Monitor with Blynk * کتابخانه Blynk تحت مجوز MIT دارای مجوز است * این کد نمونه در مالکیت عمومی است. **سنسور چندگانه OneWire: DS18B20*توسعه یافته توسط مارسلو روایی - 25 آگوست 2017 ******************************** ***************************//*ESP & Blynk*/ #شامل #شامل #شامل #تعریف سریال BLYNK_PRINT // این نظر را برای چاپها را غیرفعال کنید و در فضا صرفه جویی کنید / * اعتبارنامه Blynk * / char auth = "کد BLYNK AUTH CODE شما در اینجا"؛ / * اعتبارنامه WiFi */ char ssid = "SSID شما" ؛ char pass = "گذرواژه شما"؛ / * TIMER */ #شامل زمان سنج SimpleTimer ؛ / * DS18B20 سنسور دما */ #شامل #شامل #تعریف ONE_WIRE_BUS 2 // DS18B20 در arduino pin2 مربوط به D4 در برد فیزیکی OneWire oneWire (ONE_WIRE_BUS) است ؛ DallasTemperature DS18B20 (& oneWire) ؛ int temp_0؛ int temp_1؛ void setup () {Serial.begin (115200)؛ Blynk.begin (author، ssid، pass)؛ DS18B20.begin ()؛ timer.setInterval (1000L ، getSendData) ؛ Serial.println ("")؛ Serial.println ("آزمایش داده های دو سنسور") ؛ } void loop () {timer.run ()؛ // SimpleTimer Blynk.run () را راه اندازی می کند ؛ } /******************************************** ****ارسال داده های حسگر به Blynk *************************************** *********/ void getSendData () {DS18B20.requestTemperatures ()؛ temp_0 = DS18B20.getTempCByIndex (0) ؛ // سنسور 0 Temp را در Celcius temp_1 = DS18B20.getTempFByIndex (1)؛ // سنسور 0 Temp را در فارنهایت Serial.print ("Temp_0:")؛ Serial.print (temp_0)؛ Serial.print ("oC. Temp_1:")؛ Serial.print (temp_1)؛ Serial.println ("oF")؛ Blynk.virtualWrite (10 ، temp_0) ؛ // پین مجازی V10 Blynk.virtualWrite (11 ، temp_1) ؛ // پین مجازی V11}
هنگامی که کد بارگذاری و اجرا شد ، برنامه Blynk را بررسی کنید. اکنون باید همانطور که در صفحه چاپ بالا از iPhone من نشان داده شده است نیز اجرا شود.
مرحله 7: نتیجه گیری
مثل همیشه ، امیدوارم این پروژه بتواند به دیگران کمک کند راه خود را در دنیای هیجان انگیز الکترونیک ، روباتیک و اینترنت اشیا پیدا کنند!
لطفاً برای اطلاع از فایل های به روز شده از GitHub من دیدن کنید: NodeMCU Dual Temp Monitor
برای پروژه های بیشتر ، لطفاً از وبلاگ من دیدن کنید: MJRoBot.org
سلودوس از جنوب جهان!
شما را در دستورالعمل بعدی من می بینم!
متشکرم،
مارسلو
توصیه شده:
ایستگاه هواشناسی اینترنت اشیا با مانیتورینگ VOC: 6 مرحله
ایستگاه هواشناسی اینترنت اشیا با نظارت بر VOCs: در این مقاله آموزشی ، نحوه ساخت ایستگاه هواشناسی اینترنت اشیاء (IoT) با نظارت بر ترکیبات آلی فرار (VOCs) را نشان می دهم. برای این پروژه ، من یک کیت Do-It-Yourself (DIY) ایجاد کردم. سخت افزار و نرم افزار منبع باز هستند
ماژول قدرت اینترنت اشیا: افزودن ویژگی اندازه گیری توان اینترنت اشیا به کنترل کننده شارژ خورشیدی من: 19 مرحله (همراه با تصاویر)
ماژول IoT Power: افزودن ویژگی اندازه گیری توان اینترنت اشیا به کنترل کننده شارژ خورشیدی من: سلام به همه ، امیدوارم همه شما عالی باشید! در این مقاله آموزشی می خواهم به شما نشان دهم که چگونه یک ماژول اندازه گیری توان اینترنت اشیا را ایجاد کرده ام که مقدار توان تولید شده توسط پنل های خورشیدی من را که توسط کنترل کننده شارژ خورشیدی مورد استفاده قرار می گیرد ، محاسبه می کند
مانیتورینگ استخر اینترنت اشیا با ThingsBoard: 8 مرحله
نظارت بر استخر اینترنت اشیاء با ThingsBoard: این دستورالعمل نحوه نظارت بر pH ، ORP و دمای یک استخر یا آبگرم و بارگذاری داده ها را در سرویس تجسم و ذخیره سازی ThingsBoard.io نشان می دهد
سیستم های هشدار سیل - سطح آب + راهنمای مانیتورینگ سنسور اینترنت اشیا: 6 مرحله
سیستم های هشدار سیل - سطح آب + راهنمای مانیتورینگ سنسور IoT: آیا نیاز به نظارت بر سطح آب دارید؟ در این آموزش نحوه ساخت سیستم های نظارت بر سطح آب را خواهید آموخت. این دستگاه های IoT صنعتی به عنوان سیستم های هشدار سیل در ایالات متحده مستقر شده اند. برای حفظ امنیت شما و جامعه ، شهرهای هوشمند باید
سیستم مانیتورینگ کارخانه اینترنت اشیا (با بستر اینترنت اشیا IBM): 11 مرحله (همراه با تصاویر)
سیستم نظارت بر کارخانه اینترنت اشیا (با پلتفرم IoM IoT): مروری سیستم نظارت بر کارخانه (PMS) یک برنامه کاربردی است که با افرادی که در طبقه کارگر هستند با انگشت شست سبز در نظر گرفته شده است. امروزه افراد شاغل بیش از هر زمان دیگری شلوغ هستند. پیشرفت شغلی و مدیریت امور مالی آنها