فهرست مطالب:

ESP8266 NodeMCU با ابزار اندازه گیری BME280 و نمودار: 5 مرحله
ESP8266 NodeMCU با ابزار اندازه گیری BME280 و نمودار: 5 مرحله

تصویری: ESP8266 NodeMCU با ابزار اندازه گیری BME280 و نمودار: 5 مرحله

تصویری: ESP8266 NodeMCU با ابزار اندازه گیری BME280 و نمودار: 5 مرحله
تصویری: پروژه کنترل لوازم برقی با وب سرور ESP8266 و اپلیکیشن اندرویدی 2024, نوامبر
Anonim
ESP8266 NodeMCU با ابزار اندازه گیری و نمودار BME280
ESP8266 NodeMCU با ابزار اندازه گیری و نمودار BME280
ESP8266 NodeMCU با ابزار اندازه گیری و نمودار BME280
ESP8266 NodeMCU با ابزار اندازه گیری و نمودار BME280

ابزار اندازه گیری و نمودار برای برد ESP8266 NodeMCU Development شما با سنسور دما ، رطوبت و فشار BME280. Thingspeak همه اطلاعات شما را در سالهای آینده در آینده ذخیره می کند (امیدوارم) در آینده. اندازه گیری ها و نمودار از داده های ذخیره شده در thingspeak جمع آوری شده و هر 5 دقیقه به طور خودکار به روز می شوند.

اقلام مورد نیاز:

ESP8266 هیئت مدیره توسعه NodeMCU (3.79 دلار از Banggood.com هنگ کنگ)

بوش BME280 (5.63 دلار از Banggood.com هنگ کنگ)

Breadboard Jumpers (3.09 دلار از Banggood.com هنگ کنگ)

Breadboard (2.28 دلار از Banggood.com هنگ کنگ)

منبع تغذیه ، رایگان در صورت داشتن شارژر میکرو USB

کابل میکرو USB ، در صورت وجود قبلاً رایگان

Arduino IDE ، بارگیری رایگان

فایل های کد.ino &. HTML را از اینجا دریافت کنید

مرحله 1: کانال های Thingspeak خود را ایجاد و تنظیم کنید

کانال های Thingspeak خود را ایجاد و تنظیم کنید
کانال های Thingspeak خود را ایجاد و تنظیم کنید

1. یک حساب رایگان Thingspeak و یک کانال جدید در https://thingspeak.com ایجاد کنید ، با کانال "ESP8266-NodeMCU-12E-BME280" تماس بگیرید

2. کانال جدید باید دارای 3 فیلد با نام دما دما رطوبت در آن ترتیب خاص (توجه داشته باشید حرف اول).

3. در "تنظیمات کانال" به "شناسه کانال" جدید خود XXXXXX توجه داشته باشید.

4. روی پیوند "کلیدهای API" کلیک کنید و به "API Write" و "Read API Keys" XXXXXXXXXXXXXXX توجه کنید. همچنین ، این را به یک کانال عمومی تحت اشتراک گذاری تبدیل کنید.

5. یک کانال Thingspeak دوم ایجاد کنید که داده های "امروز" (از نیمه شب) High Low را در خود نگه دارد. نام آن را "BME280 Daily High Low Data" بگذارید

6. این کانال جدید باید دارای 6 فیلد به نام Tmax Tmin Hmax Hmin Pmax Pmin به آن ترتیب خاص باشد (توجه داشته باشید حرف اول).

7. به "BME280 Daily High Low Data" "ID کانال" ، "Read" & "Write API keys" دقیقاً مانند مراحل بالا توجه داشته باشید.

مرحله 2: Arduino IDE ، Libraries را تنظیم کرده و BME280 را پیکربندی کنید

Arduino IDE ، Libraries را تنظیم کرده و BME280 را پیکربندی کنید
Arduino IDE ، Libraries را تنظیم کرده و BME280 را پیکربندی کنید

8. دستورالعمل های نصب Arduino IDE & ESP8266 core را در https://easy-esp.com/getting-started-with-easyesp-… دنبال کنید.

9. Arduino IDE را روشن کنید تا بتوانیم چهار کتابخانه مورد نیاز خود را نصب کنیم.

10. شما به کتابخانه "Adafruit Unified Sensor Driver" نیاز دارید ، آن را در "Manager Library" در Arduino IDE نصب کنید. طرح منو شامل کتابخانه مدیریت کتابخانه ها را بر اساس Type = "Recommended" Topic = "Sensors" جستجو کنید و سپس کلمات Adafruit Unified Sensor Driver را در کادر جستجو قرار دهید. موردی که می خواهید می گوید "Adafruit Unified Sensor Driver by Adafruit"

11. علاوه بر این ، شما همچنین باید "کتابخانه Adafruit BME280" را در "مدیر کتابخانه" در Arduino IDE نصب کنید. طرح منو شامل کتابخانه مدیریت کتابخانه ها را بر اساس Type = "Recommended" Topic = "Sensors" جستجو کنید ، سپس کلمات Adafruit BME280 Library را در کادر جستجو قرار دهید. موردی که می خواهید می گوید "کتابخانه Adafruit BME280 by Adafruit"

12. کتابخانه دیگری که نیاز دارید Wire.h است ، آن را در "Library Library" در Arduino IDE نصب کنید. Menu، Sketch Include Library مدیریت کتابخانه ها را با نوع = "مشارکت شده" موضوع = "ورود/خروجی سیگنال" جستجو کنید ، سپس کلمه Wire را در کادر جستجو قرار دهید. موردی که می خواهید می گوید "Wire Built-in by Arduino" به احتمال زیاد در انتهای انتخاب وجود دارد.

13. یک کتابخانه دیگر ، ESP8266WiFi ، آن را در "مدیریت کتابخانه" در Arduino IDE نصب کنید. Menu، Sketch Include Library مدیریت کتابخانه ها را با نوع = "مشارکت" موضوع = "ارتباط" جستجو کنید ، سپس کلمه ESP8266wifi را در کادر جستجو قرار دهید. موردی که می خواهید می گوید "ESP8266wifi Built-in by Ivan Grokhotkov"

14. آدرس I2C برای BME280 در فایل Adafruit_BME280.h (به دنبال خط #تعریف BME280_ADDRESS 0x77) در داخل پوشه Adafruit_BME280_Library (به دنبال خط) باشید. ماژول های حسگر BME Adafruit برای استفاده از آدرس I2C 0x77 سخت هستند. اما اگر پین SDO خارجی آن متصل باشد ، BME280 می تواند آدرس I2C کمی متفاوت (0x76) داشته باشد. اگر از ماژول های حسگر شخص ثالث استفاده می کنید ، به احتمال زیاد آدرس آن با مقدار پیش فرض کتابخانه Adafruit مطابقت ندارد. به عنوان مثال ، برای اکثر ماژول های حسگر BME280 موجود در eBay یا Aliexpress آدرس I2C آنها 0x76 است. اگر با استفاده از آدرس پیش فرض تعیین شده در فایل Adafruit_BME280.h پاسخی از حسگر دریافت نکردید ، ممکن است لازم باشد آن را به 0x76 تغییر دهید.

نقاط اتصال BME280 و ESP8266. ESP8266 3.3V به BME280 Vin ، ESP8266 GND به BME280 GND ، ESP8266 D4 به BME280 SCL ، ESP8266 D3 به BME280 SDA. 15. فایل ارائه شده ESP8266-NodeMCU-12E-BME280.html را در ویرایشگر متن باز کنید و "ESP8266-NodeMCU-12E-BME280" (اولین کانالی که ایجاد کردید) "شناسه کانال" و "Read API Key" خود را برای متغیرهای key1 & chan1. همچنین "Read API Key" و "Channel Channel" را برای "BME280 Daily High Low Data" (دومین کانالی که ایجاد کردید) برای key2 و chan2 وارد کنید. علاوه بر این ، منطقه زمانی خود را که از UTC تغییر یافته است وارد کنید. برای من در -5. همه مقادیر باید در داخل نقل قول های ارائه شده "XXXXX" باشند. ویرایشگر متن را ذخیره و از آن خارج شوید.

ESP8266 خود را با کابل USB به رایانه خود وصل کنید و سپس پورت سریال خود را به عنوان پورت USB انتخاب کنید.

کاربران لینوکس برای ارتباط با /dev /ttyUSB0 ممکن است مجبور شوند صاحب پورت USB را تغییر دهند ، مانند "sudo chown yourusername /dev /ttyUSB0" یا آنچه که هنگام راه اندازی به عنوان پورت خود انتخاب کرده اید.

مرحله 3: ESP8266 را با Arduino IDE برنامه ریزی کنید

ESP8266 را با Arduino IDE برنامه ریزی کنید
ESP8266 را با Arduino IDE برنامه ریزی کنید

16. در مرحله بعد ESP8266 را برنامه ریزی می کنیم. کابل USB را بین ESP8266 و رایانه خود متصل کنید.

فایل ارائه شده New_BME_Sensor.ino را در Arduino IDE بارگذاری کنید. سنسور BME280 شما باید در ESP8266 به D3 (SDA) و D4 (SCL) متصل شود. "ESP8266-NodeMCU-12E-BME280" خود (اولین کانالی که ایجاد کردید) "نوشتن کلید" "SSID بی سیم" و "رمز عبور" را در قسمت صحیح طرح وارد کنید. سپس روی آیتم منو "Sketch" & "Upload" کلیک کنید. پس از بارگذاری طرح (پیشرفت 100٪) در ESP8266 خود می توانید مانیتور سریال را باز کنید (نماد سمت راست بالای صفحه شبیه یک شیشه بزرگنمایی کننده است) و بعد از 5 دقیقه ، هر 5 دقیقه ، داده های خود را چاپ کنید. داده ها در فواصل 5 دقیقه به چیزها ارسال می شوند ، بنابراین مدتی طول می کشد تا اطلاعات نمودار معنی داری داشته باشید ، اما باید بعد از 5 دقیقه اندازه گیری های اندازه گیری را انجام دهید.

مطمئن شوید که از BME280 در مانیتور سریال قرائت صحیحی دریافت کرده اید.

اولین اندازه گیری احتمالاً یک نان نامعتبر خواهد بود.

چند دقیقه تا خواندن بعدی صبر کنید و بررسی کنید که خوانش ها خوب به نظر می رسند.

مرحله 4: برای انجام تعدیل داده ها به Thingspeak بازگردید

برای انجام تعدیل داده ها به Thingspeak بازگردید
برای انجام تعدیل داده ها به Thingspeak بازگردید

17. در حال حاضر ، در حالی که داده ها به آرامی در سایت آپلود می شوند ، اجازه دهید برخی از تغییرات را برای دریافت داده های اضافی از آنچه بارگذاری شده انجام دهید. به وب سایت thingspeak بازگردید و در صفحه Thingspeak "BME280 Daily High Low Data" (دومین کانالی که ایجاد کردید) روی دکمه سبز "تجزیه و تحلیل متلب" کلیک کنید. الگو "سفارشی (بدون کد شروع)" را انتخاب کنید

18. تجزیه و تحلیل MATLAB را "محاسبه حداقل حداکثر از نیمه شب" نامگذاری کنید.

19. کد MATLAB Analysis.txt را در فضای ارائه شده کپی کنید. "شناسه کانال" برای "ESP8266-NodeMCU-12E-BME280" (اولین کانالی که ایجاد کردید) را در "readChannelID" وارد کنید. "BME280 Daily High Low Data" (دومین کانالی که ایجاد کردید) را وارد کنید. "Channel Channel" & "Write Key" را در writeNewChannelID & writeAPIKey با احترام بنویسید. می دانم که گیج کننده به نظر می رسد (دوباره بخوانید). روی ذخیره و اجرا کلیک کنید. اگر این کار را به درستی انجام داده اید و کانال خوانده شده عمومی است ، هیچ خطایی نمی بینید و مقادیر را با موفقیت چاپ می کند. توجه داشته باشید ، اگر هنوز داده ای در آن کانال بارگذاری نشده باشد ممکن است خطایی را مشاهده کنید. با وجود خطا همچنان ادامه دارد. در صورت تمایل می توانید مجدداً روی ذخیره کلیک کرده و اجرا کنید تا از بارگذاری داده ها مطمئن شوید که کار می کند.

20. در مرحله بعد ، ما باید یک "کنترل زمان" ایجاد کنیم تا این کد هر 5 دقیقه فعال شود و داده های ما در کانال "BME280 Daily High Low Data" (دومین کانالی که ایجاد کردید) نوشته می شود. از صفحه اصلی "BME280 Daily High Low Data" (دومین کانالی که ایجاد کردید) برنامه ها را در بالا انتخاب کنید. در بخش "TimeControl" و سپس دکمه سبز "New TimeControl" را انتخاب کنید. نام آن را "ارسال دمای پایین پایین ESP8266" بگذارید. در صورت نیاز منطقه زمانی خود را انتخاب کرده و در قسمت Frequency "Recurring" را انتخاب کنید. Minute را در قسمت Recurrence انتخاب کنید. تنظیم کنید که هر 5 دقیقه اجرا شود. اقدام باید تجزیه و تحلیل MATLAB و "کد اجرا" "محاسبه حداقل حداکثر از نیمه شب" باشد. صرفه جویی در زمان کنترل

مرحله 5: فایل ارائه شده HTML را ویرایش کنید

فایل HTML ارائه شده را ویرایش کنید
فایل HTML ارائه شده را ویرایش کنید

فایل های HTML را ویرایش کنید و به دنبال نظراتی باشید که می گویند "******** Change Me 1 of 8 *********" این موارد را به دلخواه خود تغییر دهید.

یادداشت:

تا زمانی که یک روز و یک هفته کامل داده برای بخش و نمودار 24 ساعت و هفته نداشته باشید ، برخی از زمینه های متنی و نمودار هفتگی به درستی پر نمی شوند. هنگامی که یک دسته داده دارید ، می توانید نمودارها را با چرخ ماوس بزرگنمایی کنید (برای بازنشانی کلیک راست کنید). همچنین می توانید سنسور چهارم (همانطور که در تصاویر مشاهده می کنید) را از سنسور دیگری از یک کانال دیگر تهیه کنید ، اما من قسمت های مربوطه را انتخاب کرده ام. اگر احساس می کنید هوشیار هستید ، آن را وصل کنید. همچنین برخی از مسائل مربوط به زمان بندی وجود دارد که باید از آنها آگاه باشید. شما به احتمال زیاد مطلق ترین اطلاعات فعلی را ندارید ، اما همیشه باید کمتر از 5 دقیقه عمر داشته باشید. این امر از زمان روشن شدن کنترل زمان ، هنگامی که داده ها از ESP8266 ارسال شده و هنگامی که صفحه وب را بارگذاری / بازخوانی کرده اید ، ناشی می شود.

فایل ارائه شده ESP8266-NodeMCU-12E-BME280.html ارائه شده را در مرورگر وب خود باز کرده و باید اندازه ها و نمودار پر شده را مشاهده کنید.

فایل های کد.ino &. HTML را از اینجا دریافت کنید

توصیه شده: