فهرست مطالب:

ThingSpeak ، ESP32 و دما و رطوبت بی سیم طولانی برد: 5 مرحله
ThingSpeak ، ESP32 و دما و رطوبت بی سیم طولانی برد: 5 مرحله

تصویری: ThingSpeak ، ESP32 و دما و رطوبت بی سیم طولانی برد: 5 مرحله

تصویری: ThingSpeak ، ESP32 و دما و رطوبت بی سیم طولانی برد: 5 مرحله
تصویری: Lesson 35: Using HTU21D Temperature Sensor | Arduino Step By Step Course 2024, جولای
Anonim
ThingSpeak ، ESP32 و دما و رطوبت بی سیم طولانی برد
ThingSpeak ، ESP32 و دما و رطوبت بی سیم طولانی برد

در این آموزش ، داده های مختلف دما و رطوبت را با استفاده از سنسور دما و رطوبت اندازه گیری می کنیم. همچنین نحوه ارسال این داده ها به ThingSpeak را خواهید آموخت. به طوری که می توانید آن را از هر کجا برای برنامه های مختلف تجزیه و تحلیل کنید

مرحله 1: سخت افزار و نرم افزار مورد نیاز است

سخت افزار و نرم افزار مورد نیاز است
سخت افزار و نرم افزار مورد نیاز است
سخت افزار و نرم افزار مورد نیاز است
سخت افزار و نرم افزار مورد نیاز است

سخت افزار:

  • ESP-32: ESP32 استفاده از Arduino IDE و Arduino Wire Language را برای برنامه های اینترنت اشیا آسان می کند. این ماژول IoT ESp32 ترکیبی از Wi-Fi ، بلوتوث و بلوتوث BLE برای انواع برنامه های کاربردی متنوع است. این ماژول به طور کامل مجهز به 2 هسته CPU است که می توان به صورت جداگانه کنترل و تغذیه کرد و با فرکانس کلاک قابل تنظیم 80 مگاهرتز تا 240 مگاهرتز. این ماژول ESP32 IoT WiFi BLE با USB یکپارچه برای همه محصولات ncd.io IoT مناسب است. سنسورها و رله های کنترل ، FET ها ، کنترل کننده های PWM ، شیر برقی ، سوپاپ ها ، موتورها و موارد دیگر را از هر نقطه در جهان با استفاده از یک صفحه وب یا سرور اختصاصی کنترل کنید. ما نسخه اختصاصی ESP32 خود را برای متناسب با دستگاه های ICD NCD تهیه کردیم و گزینه های توسعه بیشتری را نسبت به هر دستگاه دیگری در جهان ارائه دادیم! یک پورت USB یکپارچه امکان برنامه نویسی آسان ESP32 را فراهم می کند. ماژول ESP32 IoT WiFi BLE یک بستر باور نکردنی برای توسعه برنامه های IoT است. این ماژول ESP32 IoT WiFi BLE را می توان با استفاده از Arduino IDE برنامه ریزی کرد.
  • سنسور دما و رطوبت بی سیم دوربرد IoT: سنسور رطوبت دمای بی سیم صنعتی با برد بلند. درجه با رزولوشن سنسور 7 1.7 R RH ± 0.5 درجه سانتی گراد. حداکثر 500000 انتقال از 2 باتری AA اندازه گیری -40 تا 125 درجه سانتی گراد با باتری هایی که در این رتبه ها زنده می مانند. محدوده فوق العاده 2 مایل LOS و 28 مایل با آنتن های با سود بالا. رابط Raspberry Pi ، Microsoft Azure ، Arduino و موارد دیگر.
  • مودم مش بی سیم بلند برد با رابط USB

نرم افزار مورد استفاده

  • آردوینو IDE
  • ThingSpeak

کتابخانه استفاده شده است

  • کتابخانه PubSubClient
  • سیم. ساعت

مشتری آردوینو برای MQTT

این کتابخانه یک سرویس گیرنده را برای انجام پیامهای ساده انتشار/اشتراک با سروری که از MQTT پشتیبانی می کند ، فراهم می کند

برای کسب اطلاعات بیشتر در مورد MQTT ، به mqtt.org مراجعه کنید.

دانلود

آخرین نسخه کتابخانه را می توانید از GitHub بارگیری کنید

مستندات

کتابخانه دارای تعدادی طرح نمونه است. فایل> نمونه ها> PubSubClient را در برنامه آردوینو ببینید. مستندات کامل API.

سخت افزار سازگار

کتابخانه از Arduino Ethernet Client API برای تعامل با سخت افزار شبکه زیرین استفاده می کند. این بدان معناست که فقط با تعداد زیادی تخته و سپر کار می کند ، از جمله:

  • آردوینو اترنت
  • سپر اترنت آردوینو
  • Arduino YUN - از YunClient موجود به جای EthernetClient استفاده کنید و حتماً ابتدا Bridge.begin () را انجام دهید
  • Arduino WiFi Shield - اگر می خواهید بسته هایی با حجم بیشتر از 90 بایت ارسال کنید ، گزینه MQTT_MAX_TRANSFER_SIZE را در PubSubClient.h فعال کنید.
  • SparkFun WiFly Shield - وقتی با این کتابخانه استفاده می شود
  • اینتل گالیله/ادیسون
  • ESP8266
  • ESP32 کتابخانه در حال حاضر نمی تواند با سخت افزار مبتنی بر تراشه ENC28J60 - مانند Nanode یا Nuelectronics Ethernet Shield استفاده شود. برای آنها ، کتابخانه جایگزین موجود است.

کتابخانه سیم

کتابخانه Wire به شما امکان می دهد با دستگاه های I2C که اغلب "2 سیم" یا "TWI" (دو سیم رابط) نیز نامیده می شوند ، ارتباط برقرار کنید ، می توانید از Wire.h بارگیری کنید

استفاده اولیه

  • Wire.begin () استفاده از Wire را در حالت اصلی شروع کنید ، جایی که انتقال داده ها را آغاز و کنترل می کنید. این رایج ترین استفاده هنگام رابط با اکثر تراشه های جانبی I2C است.
  • Wire.begin (آدرس) استفاده از Wire را در حالت slave شروع کنید ، جایی که وقتی دیگر تراشه های اصلی I2C ارتباط را آغاز کردند ، در "آدرس" پاسخ خواهید داد. در حال انتقال
  • Wire.beginTransmission (آدرس) یک انتقال جدید به یک دستگاه را در "آدرس" شروع کنید. حالت اصلی استفاده می شود.
  • Wire.write (data) ارسال داده ها. در حالت اصلی ، ابتدا startTransmission باید فراخوانی شود.
  • Wire.endTransmission () در حالت اصلی ، این انتقال را به پایان می رساند و باعث می شود تمام داده های بافر ارسال شوند.

دریافت

  • Wire.requestFrom (آدرس ، شمارش) "شمارش" بایت های دستگاه را در "آدرس" بخوانید. حالت اصلی استفاده می شود.
  • Wire.available () با تماس با دریافت ، تعداد بایت های موجود را برمی گرداند.
  • Wire.read () 1 بایت دریافت کنید.

مرحله 2: بارگذاری کد در ESP32 با استفاده از Arduino IDE

  • قبل از بارگذاری کد ، می توانید عملکرد این سنسور را در یک پیوند مشخص مشاهده کنید.
  • کتابخانه PubSubClient و کتابخانه Wire.h را بارگیری و شامل کنید.
  • شما باید کلید API ، SSID (نام WiFi) و رمز شبکه موجود را اختصاص دهید.
  • کد Temp-ThinSpeak.ino را کامپایل و بارگذاری کنید.
  • برای تأیید اتصال دستگاه و داده های ارسال شده ، مانیتور سریال را باز کنید. اگر هیچ پاسخی مشاهده نشد ، ESP32 خود را از برق بکشید و سپس دوباره آن را وصل کنید. اطمینان حاصل کنید که میزان باود مانیتور Serial روی همان مقدار مشخص شده در کد 115200 شما تنظیم شده است.

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

خروجی سریال مانیتور
خروجی سریال مانیتور

مرحله 4: کار ThingSpeak را انجام دهید

کار ThingSpeak
کار ThingSpeak
کار ThingSpeak
کار ThingSpeak
کار ThingSpeak
کار ThingSpeak
  • در ThnigSpeak حساب ایجاد کنید.
  • با کلیک روی کانالها ، یک کانال جدید ایجاد کنید.
  • روی My Channels کلیک کنید.
  • روی کانال جدید کلیک کنید.
  • داخل کانال جدید ، نام کانال را بگذارید.
  • فیلد داخل کانال را نامگذاری کنید ، فیلد متغیری است که داده ها در آن منتشر می شوند.
  • حالا کانال را ذخیره کنید.
  • اکنون می توانید کلیدهای API خود را در داشبورد پیدا کنید. به صفحه اصلی بروید و "نوشتن کلید Api" خود را پیدا کنید که قبل از بارگذاری کد در ESP32 باید به روز شود.
  • پس از ایجاد کانال ، می توانید دما و داده های رطوبت خود را در قسمت خصوصی با فیلدهایی که در داخل کانال ایجاد کرده اید مشاهده کنید.
  • برای رسم نمودار بین داده های Temp و Humidity ، می توانید از MATLAB Visualization استفاده کنید.
  • برای این کار به برنامه بروید ، روی MATLAB Visualization کلیک کنید.
  • در داخل آن Custom را انتخاب می کند ، در این قسمت ما دمای نمودار و سرعت باد را در دو محور y مختلف 8 به عنوان مثال انتخاب کرده ایم. حالا روی ایجاد کلیک کنید.
  • هنگام ایجاد تصویرسازی ، کد متلب به صورت خودکار تولید می شود ، اما باید شناسه فیلد را ویرایش کنید ، شناسه کانال را بخوانید ، می توانید شکل زیر را بررسی کنید.
  • سپس کد را ذخیره و اجرا کنید.
  • شما طرح را خواهید دید.

توصیه شده: