MQTT اینترنت اشیا IOT برد ESP8266 برد Nodemcu برد ویموس Wemos خانه هوشمند

آموزش کار با پلتفرم ThingSpeak نمایش مقادیر سنسور BMP180 با Oled

نوشته شده توسط CiferTech

پلتفرم‌های اینترنت اشیا بسیار گسترده و متنوع هستند. هر پلتفرم IoT  برای کاربری مختلفی طراحی شده است. معولا بردهای امبدد از جمله آردوینو، Nodemcu و… قابلیت ارسال دیتا به این پلتفرم‌ها را دارند. پلتفرم اینترنت اشیا ThingSpeak دارای بخش‌های گسترده‌ای است. قسمت‌هایی از پلتفرم ThingSpeak را میتوانید به صورت رایگان استفاده کنید. در آموزش قبل با کمک سنسور BMP180، مقادیر دما و فشار را در سریال مانیتور و Oled نمایش دادیم. در این آموزش علاوه بر این کار قصد داریم مقادیر را در داشبورد پلتفرم اینترنت اشیا ThingSpeak به روش های مختلف نمایش بدهیم. سپس یک نمودار گرافیکی از تغییرات دما در محیط اطراف خود بدست بیاوریم. در ادامه این آموزش با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.

 


پلتفرم اینترنت اشیا ThingSpeak


ThingSpeak یک برنامه open source اینترنت اشیا و API برای ذخیره و بازیابی اطلاعات از طریق پروتکل های HTTP و MQTT با اینترنت و یا با استفاده از شبکه محلی است. Thingspeak به شما امکان می دهد داده های سنسور ها را جمع آوری، ذخیره کنید و تجزیه و تحلیل کنید، همچنین با استفاده از امکانات موجود در دشبورد IOT این سایت می توانیم نمودار هایی بر اساس مقادیر بدست آمده رسم کنیم.

آموزش کار با پلتفرم ThingSpeak اینترنت اشیا - دیجی اسپارک

 


سنسور BMP180


سنسور BPM180 برای مواردی که نیاز به دقت بالایی در اندازه گیری دارند استفاده می‌شود، این سنسور با دقت ۰٫۰۳ هکتوپاسکال قابلیت اندازه‌گیری فشار هوا و همچنین دما را دارد که این پروسه ابتدا با اندازه گیری دما محیط و سپس فشار صورت میگیرد، در واقع BMP180 فشار و دما را اندازه گیری می کند زیرا دما، چگالی گازها مانند هوا را تغییر می دهد. در دمای بالاتر هوا متراکم و سنگین نیست، بنابراین فشار کمتری به سنسور وارد می کند. در دمای پایین هوا چگال تر و وزن بیشتری دارد، بنابراین فشار بیشتری به سنسور وارد می کند. این سنسور از اندازه گیری دما در زمان واقعی برای جبران قرائت فشار برای تغییر در چگالی هوا استفاده می کند.


برد ESP8266


تراشه های ESP8266 از موارد محبوب در زمینه اینترنت اشیا هستند که نسبت به دیگر نمونه ها کیفیت بهتر و همچنین قیمت پایین تری نیز دارند، هسته مرکزی این ماژول ESP8266 EX می باشد که در واقع زیر این شیلد فلزی قرار گرفته است، در ضمن این شیلد فلزی به منظور کاهش نویز و همچنین محافظت از قطعات SMD حساس این ماژول قرار داده شده است. این ماژول ها در سری های مختلفی تولید می‌شوند از جمله esp01 و esp12، در واقع تفاوتی که مدل ها با یکدیگر دارند تعداد GPIO ها و همچنین حافظه آن ها است البته معمولا از نظر ظاهری نیز تفاوت هایی که با یکدیگر دارند که قابل تشخیص است. این ماژول ها از شبکه WIFI داخلی پشتیبانی می‌کنند، این میکرو کنترلر ها اولین بار در سال ۲۰۱۴ به بازار عرضه شدند. ESP8266 دارای ۱۳ GPIO و همچنین یک ورودی آنالوگ (A0) است.

 


ماژول نمایشگر Oled 1306


معمولا در پروژه های اینترنت اشیا و دیگر پروژه های امبدد از برای نمایش متن و مقادیر مختلف از نمایشگر های Oled استفاده می شود، این ماژول ها بدر انواع مختلق بسته به نوع ذرایور  اندازه یافت می شوند که یکی از پرطرفدار ترین آن ها SSD1306 می باشد، این نوع از Oled ها معمولا در اندازه های ۰٫۹۶ و ۱٫۳ اینچ ساخته می شوند همچنین پروتکل ارتباطی Oled ها I2C می باشد.

 


شرح آموزش


در این آموزش ابتدا مقادیر را در نمایشگر Oled و همچنین سریال مانیتور چاپ خواهیم‌کرد و در ادامه با ثبت نام در سایت ThingSpeak و ساخت یک دشبورد IOT میتوانیم با دریافت یک API از سایت و استفاده از آن در کد مورد استفاده در این آموزش مقادیر را بصورت لحظه ای دریافت کنیم. در نتیجه شما می توانید با public کردن دشبورد از هر مکانی اطلاعات را دریافت و مشاهده کنید.

داشبورد پلتفرم اینترنت اشیا ThingSpeak - دیجی اسپارک

 


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


سنسور bmp180

برد ESP8266

نمایشگر Oled 0.96

وسایل لازم آموزش کار با پلتفرم اینترنت اشیا ThingSpeak - دیجی اسپارک

 


راه اندازی دشبورد ThingSpeak


ابتدا به آدرس thingspeak.com مراجعه کنید و یک یک اکانت جدید در پلتفرم ThingSpeak ایجاد کنید. سپس در قسمت Channels و در ادامه مانند تصویر زیر New Channel، اقدام به ساخت یک چنل یا دشبورد کنید.

راه اندازی داشبورد در پلتفرم اینترنت اشیا ThingSpeak -دیجی اسپارک

 

در ادامه صفحه ای مانند تصویر زیر را مشاهده خواهید کرد، اطلاعات اسم و توضیحات را به دلخواه پر کنید و در انتهای صفحه گزینه save channel را انتخاب کنید.

راه اندازی داشبورد در پلتفرم اینترنت اشیا ThingSpeak -دیجی اسپارک

 

در ادامه با صفحه زیر روبرو خواهید شد که می‌توانید مقادیر دریافت شده را مشاهده کنید

مشاهده مقادیر سنسور در داشبورد در پلتفرم اینترنت اشیا ThingSpeak -دیجی اسپارک

 

همچنین با استفاده از گزینه Add Widgets، می‌توانید، المان های دلخواه خود برای نمایش مقادیر را اضافه کنید.

افزودن ویجت به پلتفرم اینترنت اشیا ThingSpeak -دیجی اسپارک

 


دریافت API


در بخش API keys و در باکس مشخص شده می‌توانید API مورد نیاز برای پروژه را پیدا کنید، از این API در ادامه استفاده خواهیم کرد.

افزودن API در پلتفرم اینترنت اشیا ThingSpeak -دیجی اسپارک

 


نصب کتابخانه مورد نیاز


ابتدا در نرم افزار Arduino IDE اقدام به نصب کتابخانه مورد نیاز خواهیم‌کرد. مراحل زیر را دنبال کنید:

  1. این مسیر را دنبال کنید Sketch Include Library > Manage Libraries
  2. کلمه Adafruit SSD1306  را جستجو کنید.
  3. کتابخانه را نصب کنید.
  • سپس کلمه “GFX” را جستجو کنید و آن را نصب کنید.

در ادامه با استفاده از این لینک کتابخانه مورد نیاز برای راه‌اندازی سنسور BMP180 را دانلود و به نرم افزار Arduino IDE اضافه کنید.

 


شماتیک و اتصالات


ابتدا اتصالات را برقرار کنید هر دو ماژول استفاده شده در آموزش از پروتکل I2C استفاده می کنند، پس می توانیم پایه های SCL, SDA هر ماژول را موازی کنیم و در نهایت آن هارا به پین های D1, D2 برد nodemcu متصل کنیم.

اتصال ماژول OLED به بردهای ESP8266 - دیجی اسپارک

اتصال ماژول BMP180 با I2C به برد Nodemcu - دیجی اسپارک

 

شماتیک اتصالات ماژول BMP180 و نمایشگر OLED به برد Nodemcu - دیجی اسپارک

 


کد و راه‌اندازی مدار


ابتدا به بررسی بخش های مختلف کد از جمله قسمت هایی که نیاز به تغییر دارند خواهیم پرداخت. ابتدا کتابخانه های مورد نیاز را فراخوانی کرده‌ایم.

 

در این قسمت اطلاعات شبکه وای‌فای مورد نظر را وارد کنید، همچنین در قسمت apikey، کدی که با عنوان API بدست آوردیم را وارد کنید.

 

بخش نهایی کد مربوط به استفاده از API و برقراری ارتباط با سایت ThingSpeak می‌باشد.

 

کد کامل پروژه، انتقال اطلاعات سنسور BMP180 به پلتفرم اینترنت اشیا ThingSpeak

 

جهت دسترسی به این بخش، اشتراک اسپارکر پلاس تهیه کنید.

 

 

نمایی از داشبورد پلتفرم ThingSpeak - دیجی اسپارک

 

وضعیت ارسال داده از سریال مانیتور آردوینو به پلتفرم ThingSpeak - دیجی اسپارک

 


جمع بندی


در این آموزش با استفاده از قطعات BMP180, Oled 0.96 و همچنین برد ESP8266  توانستیم دمای محیط را در نمایشگر oled و سریال مانیتور نرم‌افزار Arduino چاپ کنیم. همچنین بدلیل استفاده از برد ESP8266 توانستیم با سایت ThingSpeak ارتباط برقرار کنیم و اطلاعات در دشبورد IOT این سایت مانیتور کنیم.

  • تنظیمات منوی tools در نرم افزار آردوینو نیز مانند تصویر زیر است.

تنظیمات tools در آردوینو برای ارسال دیتا به پلتفرم ThingSpeak - دیجی اسپارک

 

چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریع‌ترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند می‌توانید از همین طریق اطلاع رسانی کنید.

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

درباره نویسنده

CiferTech

سلام، معمولا من رو با اسم سایفر می شناسند، دانشجوی الکترونیک هستم، و علاقمند به هک، البته این لفظ همیشه به این معنا نیست که کارهایی که به اصطلاح غیر قانونی هستند رو انجام بدم، هک برای من مثل حل کردن یک پازل یا پیدا کردن راه حل در موقعیت مختلف هست و در کل یک ابزار قدرتمند. پس دوست دارم از هر چیزی سر دربیارم و اطلاعاتی داشته باشم :)

تبادل نظر و رفع عیب با ثبت دیدگاه

۲ دیدگاه