آردوینو Arduino Uno اینترنت اشیا IOT پروژه های آردوینو پلتفرم uBeac

پروژه مانیتور شدت نور با GY30 و اینترنت sim800l به پلتفرم اینترنت اشیا uBeac

light-measure-with-arduino-sim800l-internet-and-iot-cloud-platform-digispark

اینترنت اشیا، یکی از فناوری های نوین در زمینه هوشمند سازی وسایل الکترونیکی است. به کمک این فناوری می توان به اشیا هویت دیجیتال اطلاق نمود. به عبارت دیگر، در این شبکه، دستگاه های مختلف از طریق اینترنت به ارسال داده و دریافت فرمان مشغول هستند. به عنوان مثال، در این پروژه، ما قصد ارسال داده های مربوط به سنسور شدت نور را  داریم. پیشتر در این آموزش (لینک آموزش،کلیک کنید) در رابطه با نحوه ارسال داده های سنسور شدت نور از طریق اینترنت مودم خانگی به پلتفرم اینترنت اشیا ubeac به طور کامل بحث شده است. در این آموزش قصد داریم تا داده های سنسور شدت نور را به کمک برد آردوینو UNO با اینترنت sim800l به پلتفرم یا همان اینترنت سیم کارت به پلتفرم IoT ارسال کنیم. در ادامه با مرجع تخصصی آردوینو به زبان فارسی ،دیجی اسپارک همراه باشید.

 


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


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

  • هویت
  • تشخیص
  • ارتباط
  • محاسبه
  • خدمات
  • مفاهیم

ما به اشیا هویت میدهیم و با توجه به نیاز و تشخیص پارامترهای مهم ارتباط را شکل داده و سپس دیتا را محاسبه می‌کنیم. سپس با دیتاهای به دست آمده خدمات مورد نیاز را ارائه داده و در نهایت از آن ها گزارش دریافت می‌کنیم. روش کار بسیار ساده است! اما شاید این سوال برای شما پیش بیاید که در چه محیطی این امکانات در اختیار ما قرار میگیرد. پاسخ سوال اینجاست! ما به یک پلتفرم Platform نیاز داریم. در یک پلتفرم امکان تعریف اشیا و هویت دادن به آن ها وجود دارد. در این پروژه با پتلفرم اینترنت اشیا یوبیک Ubeac ادامه میدهیم.

uBeac یک پلتفرم اینترنت اشیا IOT است که به دلیل محیط ساده و جذاب ارتباط با دنیای دیتا را برای ما فراهم کرده است. پلتفرم uBeac از پروتکل HTTP و پروتکل MQTT برای ارتباط با میلیون ها دیوایس استفاده می‌کند. پلتفرم uBeac قابلیت تعریف کردن بی نهایت Device و دسته بندی دیتاها بر اساس نوع و کاربرد و حتی اطلاعات جزیی تر مانند واحد سنسورهای مورد استفاده را در اختیار ما قرار داده و از طریق پروتکل های http mqtt ارتباط بین دیوایس های سخت افزاری مانند nodemcu , RaspberryPi را با یکدیگر فراهم می‌کند. از ویژگی های بی نظیر پلتفرم uBeac ساخت دشبورد به صورت لایو و زنده برای مدیریت دیتا دارد. همچنین امکان گزارش گیری از دیتاها با امکان تعریف بازه ی زمانی و تاریخی بر اساس ساعت هفته و ماه را فراهم کرده و در دو فرمت Json و CSV خروجی می‌دهد. https://app.ubeac.io پس از ثبت نام و ساخت حساب کاربری در پلتفرم uBeac با تعریف یک Gatway ارتباط با دنیای اینترنت اشیا IOT را شروع خواهیم کرد.

 


برد آردوینو UNO


برد آردوینو میکروکنترلری با قابلیت دسترسی به پورت های دیجیتال و آنالوگ و پروتکل‌های I2C و SPI است. در این آموزش از آردوینو Arduino مدل UNO استفاده شده است. برد آردوینو Arduino دارای تراشه Atmega328P است و با در اختیار داشتن پایه‌های کنترلی آنالوگ و دیجیتال I/O می‌توان با سنسورهای مختلف ارتباط برقرار کرد. با در نظر گرفتن پروتکل ارتباطی، آن‌ها را راه اندازی و کدنویسی کرد. محیط برنامه نویسی IDE Arduino است که نیاز به دانش برنامه نویسی C++ خواهد داشت. با انتقال کد به محیط برنامه نویسی و کامپایل کد پروژه آماده اجرا خواهد بود. مراحل نصب نرم افزار آردوینو Arduino در آموزش زیر نوشته و منتشر شده است. در صورتیکه تا به حال با برد آردوینو کار نکرده اید، ابتدا آموزش زیر را مطالعه و سپس مراحل بعدی را اجرا کنید. آموزش کار با برد آردوینو Arduino و نصب نرم افزار Arduino IDE

برد آردوینو ماژول سیم کارت Sim800L و ارسال اطلاعات به پلتفرم IoT - دیجی اسپارک

 


سنسور شدت نور GY30


سنجش پارامترهای محیطی نیازمند سنسورهای مختلفی است. یکی از سنسورها پرکاربرد تشخیص و مانیتور شدت نور محیط است. این پارامتر در موارد مختلفی تاثیرگذار است. از جمله سلامت محیط کار، که وابسته به نوع کار و نوع محیط است. سنسور gy-30 از خانواده سنسورهای فتو رزیستوری است. این سنسور شدت نور محیط را سنجیده و بر اساس پارامتر Lux به عنوان دیتا تبدیل می‌کند. مقادیر لوکس از ۰ تا ۶۵۵۳۵ واحد لوکس است. با سنسور gy-30 این مقادیر قابل اندازه گیری است. سنسور gy-30 از سنسورهای Light intensity است و به شدت نور دریافتی از محیط وابسته است. رابط سنسور I2C است و از طریق دو پایه SCL, SDA با بردهای میکروکنترلر ارتباط شکل میگیرد. واحد سنسور Lux است و به صورت پیش فرض کالیبره شده است. بازه تغییر دیتا از ۰ تا ۶۵۵۳۵ بر واحد لوکس Lux است. سنسور از مبدل داخلی ۱۶ بیتی AD ساخته شده است. مقادیر تغییر پارامترهای لوکس در سنسور به صورت زیر است. در این پروژه با همین سنسور و اینترنت sim800l به پلتفرم IoT اطلاعات ارسال می‌کنیم.

  • در شب مقدار لوکس عددی بین ۰٫۰۰۱-۰٫۰۲ بر واحد Lux است.
  • در moon light night مقدار لوکس عددی بین ۰٫۰۲-۰٫۳ بر واحد لوکس است.
  • در محیط ابری در داخل عددی بین ۵-۵۰ بر واحد لوکس است.
  • در محیط ابری بیرون عددی بین ۵۰-۵۰۰ بر واحد لوکس است.
  • در محیط آفتابی داخل عددی بین  ۱۰۰-۱۰۰۰ بر واحد لوکس است.

سنسور شدت نور GY-30 در اینترنت اشیا - دیجی اسپارک

 


ماژول سیم کارت و اینترنت Sim800l


ماژول مخابراتی SIM800L، یک ماژول بسیار کاربردی، کوچک، مقرون به صرفه است. این ماژول که در ورودی یک سیم کارت می پذیرد، به شبکه تلفن همراه کشور متصل می شود. پس از اتصال به شبکه، به سادگی می توانید همانند یک تلفن همراه، پیامک ارسال و دریافت کرده و تماس صوتی دو طرفه برقرار نمایید. از دیگر قابلیت های مهم این ماژول، توانایی اتصال به شبکه اینترنت GPRS است. به کمک این قابلیت، می توانید ماژول را به اینترنت متصل کرده و به ارسال و دریافت داده، دانلود و آپلود فایل، ارسال و دریافت ایمیل و…. بپردازید. در این پروژه با اینترنت sim800l به پلتفرم IoT متصل خواهیم شد.

ماژول جی اس ام ُSim800L اینترنت سیم کارت - دیجی اسپارک

در این پروژه، به کمک قابلیت اینترنت GPRS ماژول SIM800L، به شبکه اینترنت متصل می شویم. سپس با اتصال به سرور uBeac، داده های سنسور شدت نور به پتلفرم ارسال می گردد. در سمت پلتفرم نیز به صورت لحظه ای، می توانیم داده های دریافتی را رصد نماییم. جهت اطلاعات بیشتر در باره راه اندازی و کار با ماژول SIM800L، مطالعه سلسله آموزش های آن که در این لینک منتشر شده را توصیه می کنیم.

 


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


همانطور که پیشتر گفته شد، در این پروژه قصد داریم تا داده های مربوط به سنسور شدت نور را از طریق اینترنت سیم کارت، به پلتفرم uBeac ارسال نماییم. از آنجاییکه در این پروژه جهت اندازه گیری میزان شدت نور از سنسور GY-30 BH1750 استفاده می کنیم، بنابراین می بایست کتابخانه آن را نصب نماییم. برای نصب کتابخانه، دو روش دستی و خودکار وجود دارد. در روش دستی، پس از دانلود فایل های کتابخانه، می بایست آن را در مسیر نصب آردویینو قرار دهید. اما در روش خودکار، تنها با تایپ نام کتابخانه در قسمت مدیریت کتابخانه ها، کتابخانه مورد نظر به صورت خودکار در مخازن آردوینو جستجو شده و پس از یافتن آن، نصب خواهد شد. به همین منظور، ابتدا در نرم افزار آردوینو، بر روی گزینه Tools و سپس Manage Libraries کلید کنید. با کلیک بر روی گزنیه Manage Libraries، می توانید وضعیت کتابخانه های نصب شده و لیستی از کتابخانه های جدید و بروز را مشاهده کنید. این مورد در تصویر زیر، قابل مشاهده است.

نصب کتابخانه در نرم افزار آردوینو - دیجی اسپارک

 

در منوی ظاهر شده فوق، عبارت BH1750 را در کادر جست و جو، وارد نموده و گزینه مشخص شده با کادر قرمز رنگ در تصویر زیر را انتخاب نمایید.

نصب کتابخانه BH1750 سنسور شدت نور - دیجی اسپارک

 

پس از نصب کتابخانه سنسور شدت نور، نوبت به نصب کتابخانه JSON می رسد. به کمک این کتابخانه، می توانیم داده های سنسور شدت نور را در فرمت JSON قرار دهیم. از آنجاییکه پلتفرم uBeac داده ها را تحت فرمت JSON می پذیرد، بنابراین می بایست به کمک این کتابخانه، داده ها را در فرمت مورد نظر، قرار دهیم. جهت اطلاعات بیشتر در رابطه با JSON و کاربرد آن در ارسال داده به uBeac، می توانید با کلیک بر روی این لینک، اطلاعات لازم را بدست آورید. در نهایت، جهت نصب این کتابخانه، مطابق روش نصب کتابخانه سنسور شدت نور، در کادر جستجوی کتابخانه ها، عبارت ArduinoJson را تایپ و با ظاهر شدن تصویر زیر، آن را نصب نمایید.

نصب کتابخانه ArduinoJson برای ارسال اطلاعات به پلتفرم اینترنت اشیا - دیجی اسپارک

 

پس از نصب کتابخانه های مورد نظر، نوبت به نحوه اتصالات مدار می رسد. در قسمت بعدی در این رابطه بحث می کنیم.

 


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


پس از آنکه در قسمت قبلی، کتابخانه ها را با موفقیت نصب نمودیم، نوبت به سیم کشی و اتصالات مدار می رسد. بایستی با اینترنت sim800l و برد آردوینو، اطلاعات سنسور را به پلتفرم اینترنت اشیا ارسال کنیم. تصویر زیر، شمای کلی را از اتصالات و سیم کشی های مدار، نشان می دهد.

اینترنت سیم کارت و برد آردوینو - دیجی اسپارک

 

مطابق مدار فوق، اتصالات سنسور شدت نور به برد آردوینو، به شیوه زیر انجام می گیرد.

  • اتصال پایه تغذیه مثبت سنسور به پایه ۵ ولت آردوینو
  • اتصال پایه GND سنسور به پایه GND آردوینو
  • اتصال پایه SCL سنسور شدت نور به پایه A5 آردوینو
  • اتصال پایه SDA سنسور شدت نور به پایه A4 آردوینو

 

در ادامه، اتصالات ماژول SIM800L را در پیش می گیریم. دقت داشته باشید ماژول سیم کارت در این پروژه به عنوان تامین کننده اینترنت یا به عبارتی اینترنت sim800l قرار دارد. برای تغذیه این ماژول، از یک رگولاتور کاهنده LM2596 استفاده می کنیم. به کمک این رگولاتور می توانیم به سادگی، تغذیه ۴٫۲ ولت مورد نیاز ماژول SIM800L را تامین نماییم. برای تغذیه کل سیستم، از یک آداپتور ۱۲ ولت ۲ آمپر استفاده می گردد. این آداپتور به سوکت جک آداپتور آردوینو متصل می شود. سپس ولتاژ ۱۲ ولت، علاوه بر تغذیه آردوینو، بر روی پایه VIN آن نیز قرار می گیرد. با اتصال ورودی رگولاتور کاهنده به پایه VIN، ولتاژ ۱۲ وارد رگولاتور می شود. پیش از اتصال خروجی رگولاتور به تغذیه SIM800L، به کمک مولتی ترن(ولوم) ماژول کاهنده، ولتاژ را به ۴٫۲ که تغذیه مناسب ماژول SIM800L است، می رسانیم. سپس با اتصال خروجی رگولاتور به SIM800L، ماژول مخابراتی را تغذیه می نماییم. اتصالات دیتا بین ماژول SIM800L و آردوینو، به شکل زیر صورت می پذیرد.

  • اتصال پایه RX سخت افزاری آردوینو(پایه شماره ۰) به پایه TX ماژول SIM800L
  • اتصال پایه TX سخت افزاری آردوینو(پایه شماره ۱) از طریق تقسیم مقاومتی به پایه RX ماژول SIM800L

توجه۱: جهت اطمینان از اتصال صحیح ماژول SIM800L به شبکه، در خروجی ماژول کاهنده ولتاژ LM2596، یک خازن به صورت موازی با ظرفیت ۱۰۰۰ میکروفاراد و ولتاژ ۱۰ الی ۱۶ قرار دهید.

توجه ۲: برای اتصال ماژول SIM800L به آردوینو، از سریال سخت افزاری آردوینو استفاده شده است. بنابراین، هنگام آپلود برنامه بر روی آردوینو، کابل مربوط به اتصال RX آردوینو را جدا کرده و پس از پروگرام، مجددا متصل نمایید.

توجه ۳: جهت جلوگیری از آسیب های احتمالی به ماژول SIM800L به دلیل تفاوت سطح ولتاژ آردوینو با این ماژول، حتما از تقسیم مقاومتی استفاده نمایید. برای اطلاعات بیشتر در رابطه با مدار تقسیم مقاومتی، با کلیک بر روی این لینک، آموزش آن را مطالعه کنید.

توجه ۴: هنگام آپلود برنامه بر روی آردوینو، لطفا کابل تغذیه ورودی ماژول کاهنده LM2596 را از پایه VIN آردوینو جداسازید. همچنین با توجه به جریان پیک ماژول SIM800L هنگام اتصال به شبکه، حتما از تغذیه آداپتور مناسب برای کل سیستم، استفاده نمایید. در نهایت هنگام آپلود کد، برد اردوینو تنها از طریق کابل به رایانه متصل شده و آداپتور از جک آن، جدا گردد.

 


کد مانیتور شدت نور در پلتفرم IoT


در این قسمت کدهای پروژه اینترنت sim800l جهت ارسال اطلاعات سنسور با آردوینو را مشاهده می نمایید. این کدها برای برد آردوینو UNO توسعه یافته اند. ابتدا این کدها را بر روی برد آپلود کرده و سپس سایر ماژول ها را به برد متصل نمایید.

 

محدودیت در دسترسی کامل به این مجموعه آموزش

 

دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندس‌های دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید.

 

 


اجرای پروژه شدت نور در پلتفرم IoT


قدم اول برای اجرای پروژه اطلاعات سنسور با اینترنت sim800l به پلتفرم، ساخت یک گیت وی اختصاصی در پلتفرم uBeac است. در ابتدا پس از ساخت حساب کاربری در پلتفرم uBeac به ترتیب زیر یک Gateway برای خود ایجاد کنید.

  • بر روی Add New Project کلیک کنید.
  • سپس در صفحه ی باز شده یک اسم دلخواه برای Namespace انتخاب کنید.
  • پس از ساخته شدن پروژه بر روی آن کلیک کرده و به صفحه ی زیر وارد شوید.

ساخت گیت وی در پلتفرم اینترنت اشیا uBeac - دیجی اسپارک

 

  • بر روی + کلیک کنید.
  • در صفحه ی باز شده از منوی Genaral گزینه ی uBeac Muiltiple Sesnor را انتخاب کنید.
  • در منو HTTP/MQTT دو GATEWAY URL برای شما ساخته شده است که میتوانید کپی و در کد آردوینو برنامه وارد کنید.

روند ایجاد Gateway در پلتفرم اینترنت اشیا

 


معرفی سنسور در پلتفرم uBeac


در پروژه ارسال اطلاعات سنسور آردوینو با اینترنت sim800l به پلتفرم اینترنت اشیا، مقادیر دریافتی از سنسور شدت نور Gy-30 در پلتفرم توسط اینترنت ماژول سیم کارت sim800l  بر روی پلتفرم اینترنت اشیا uBeac ارسال می‌شود. برای مشاهده ی دیتای دریافتی در ابتدا باید سنسور را به عنوان یک دیوایس مستقل در یوبیک uBeac تعریف کنیم. گیت وی Gateway در یوبیک از دو بخش سخت افزار Hardware و نرم افزار Software تشکیل شده است که از چند بخش پشتیبانی می‌کند.  به عنوان مثال در بخش سخت افزار از آردوینو، رزبری پای و در بخش نرم افزار از Android applications و uBeac Generic Gateways پشتیبانی می‌کند. در این آموزش از برد ESP8266 استفاده شده است و شامل پشتیبانی است. از منو سمت راست پلتفرم بر روی Gateway کلیک کنید. در صفحه باز شده بر روی Setting کلیک کنید. در این بخش می‌توانید یک Gateway دلخواه Add Gateway بسازید. Firmware را بر روی uBeac Multiple انتخاب کنید. در Gateway ساخته شده آدرس URL که از پلتفرم دریافت شده است را به کد آردوینو برنامه انتقال می‌دهیم.

  • از منو uBeac گزینه ی Device را انتخاب کنید.
  • سپس بر روی Add Device کلیک کنید.
  • یک اسم شاخص برای UID انتخاب کنید.

 

پس از ساخت دیوایس در پلتفرم uBeac وارد Gateway شده و ریکوئست ارسال می‌شود. به محض دریافت ریکوئست پروتکل Http فعال شده و نمایش داده می‌شود.

گیت وی Gateway ساخته شده دارای دو بخش است.

  • Devices: در این قسمت تعداد دیوایس های تعریف شده برای Gateway را با عدد نمایش میدهد که در این تصویر ۳ دیوایس شناسایی شده است.
  • Requests: همانطور که در معرفی پروتکل HTTP گفته شد، سنسور AM2301  یک Request را از طریق url ساخته شده به وب سرور می‌فرستد. در این مرحله پردازش بر روی Request انجام می‌شود. سپس تعداد ریکوست Request های دریافتی در لحظه نمایش داده می‌شود.

با ورود به Gateway دیتا با جزییات کامل به صورت Json برای ما نمایش داده می‌شود. پس از تنظیم و ایجاد GateWay، می بایست مدار را فعال نماییم. پس از روشن سازی مدار، چند لحظه ای صبر می کنیم تا ماژول به شبکه متصل شده و داده ها را به سرور uBeac ارسال نماید.

ارسال اطلاعات سنسور آردوینو به پلتفرم IoT با اینترنت سیم کارت - دیجی اسپارک

 


دریافت لحظه‌ای اطلاعات سنسور


برای رصد دیتا به صورت آنلاین و زنده بر روی GATEWAY کلیک کنید. سپس بر روی اسم انتخابی در مرحله ی قبل کلیک کنید. همانطور که در تصویر مشخص است، دیتا با متد POST با پروتکل HTTP و با بازه زمانی همراه با BODY در پلتفرم به صورت داده ی لایو نمایش داده می‌شود. با هر بار ارسال دیتا یک ریکوئست REQUEST اضافه شده و در سمت چپ تصویر آخرین زمان برقراری ارتباط بر حسب تاریخ و ساعت نمایش داده می‌شود.

 

محدودیت در دسترسی کامل به این مجموعه آموزش

 

دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندس‌های دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید.

 


دریافت گزارش از uBeac


مهم ترین بخش برای تحلیل دیتا و بررسی دیوایس ها و عملکرد آن ها دریافت گزارش است. تا اینجا توانستیم با اینترنت sim800l به پلتفرم اطلاعات سنسور را ارسال کنیم. به عنوان مثال برای کنترل و بهینه کردن مصرف انرژی از دیوایس های اندازه گیری جریان استفاده می‌شود. پس از گذشت مدت زمان کوتاهی به واسطه دیتای دریافتی از محیط میتوان انرژی مصرف شده را اندازه گیری و سپس آن ها را بهینه کرد. پلتفرم های اینترنت اشیا این امکان را با دسترسی ساده تری در اختیار یوزر قرار میدهند تا سرعت در گزارش و اعمال تغییرات افزایش یابد.  در پلتفرم uBeac دریافت گزارش Report از گیت وی و دیوایس های تعریف شده طی بازه زمانی همراه با ساعت، هفته، ماه و سال است. دیتا با فرمت های Json , CVS از پلتفرم دریافت و دانلود شده و در یک فایل اکسل ذخیره می‌شود. در این بخش میتوانید دیتا را به سه روش مختلف رصد کنید.

  •  Sensor Data
  • Sensor Chart
  • Gateway Data

در این بخش دیتاهای دریافتی از سنسور را از مسیر Menu/ Reports مشاهده و در فرمت های مورد نظر دانلود کنید.


تحلیل اطلاعات سنسور با اینترنت sim800l به پلتفرم


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

  • نام سرور
  • آدرس قرار گیری داده بر روی سرو(path)
  • داده

از آنجاییکه داده ها تحت فرمت JSON به سرور ارسال می شوند، لذا نیاز است تا به کمک کتابخانه JSON، این مورد صورت پذیرد. از این جهت، ابتدا به کمک دستور زیر، ۵۰ کاراکتر برای ایجاد فرمت JSON، رزرو می نماییم.

  StaticJsonDocument<50> doc

پس از این قسمت، ابتدا به کمک دستور زیر، میزان نور محیط را از سنسور می خوانیم.

 lux = lightMeter.readLightLevel();

پس از دریافت میزان نور سنسور، داده هار در فرمت JSON مطابق دستورات زیر، قرار می دهیم.

 doc["Name"] = "lux";     //تعیین نام مطابق فرمت JSON
  doc["Lightsensor"] =  lux;

اکنون داده ها در متغیز doc به صورت فرمت JSON ذخیره شده اند. به کمک تابع زیر، این داده ها به فرمت رشته، در متغیر data قرار می گیرند.

serializeJsonPretty(doc, data)

در نهایت، به کمک تابع send_data، داده ها را به سرور ارسال می نماییم. پس از ارسال، جواب دریافتی از سرور در متغیر server_response قرار گرفته که با چاپ آن در سریال مانیتور، جواب را ملاحظه خواهیم نمود. چنانچه در رابطه با فرمت JSON و کتابخانه آن نیاز به اطلاعات بیشتری دارید، می توانید با کلیک بر روی این لینک، آموزش آن را مطالعه نمایید.

 


وسایل مورد نیاز


برد آردوینو UNO

ماژول SIM800L

خازن ۱۰۰۰ میکروفاراد

سنسور شدت نور GY-30

ماژول مبدل کاهنده ولتاژ LM2596


جمع بندی


 پتلفرم همانند سکویی است که لایه به لایه امکان مدیریت داده ها را در دسترس کاربران قرار میدهد. از ویژگی های حائز اهمیت پلتفرم یوبیک uBeac دسترسی به ساخت پروتکل های HTTP/MQTT با توجه به نیاز پروژه است و مدیریت هر لایه به واسطه ی طراحی و رابط کاربری ساده، آسان تر شده و روند توسعه سریعتر انجام می‌شود. در این پروژه هدف یادگیری از تمامی تکنولوژی های به کار گرفته شده در قطعات سخت افزاری مورد استفاده است. استفاده از اینترنت ماژول سیم کارت SIM800L تا دریافت گزارش از عملکرد ثانیه ای سنسور در یک پلتفرم!

 

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

معین صابری

کارشناسی ارشد رشته معماری سیستم های کامپیوتری

مالي که ز تو کس نستاند، علم است
حرزي که تو را به حق رساند، علم است
جز علم طلب مکن تو اندر عالم
چيزي که تو را ز غم رهاند، علم است
(شیخ بهایی)

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

پریسا پوربلورچیان

تولید کننده محتوا / کارشناس IOT

زندگی یعنی پژوهش و فهمیدن چیزی جدید

تلاشم بر این است تجربیاتم در زمینه IOT‌ را به بهترین شکل با شما در میان بگذارم.

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

۱۲ دیدگاه

  • سلام خدا قوت
    عالی بود، برای تغذیه سیم ۸۰۰ چه باید بکنیم؟ یعنی بهترین پیشنهادتون چیه؟

  • سلام
    خسته نباشید، اون بخش gateway را باید حتما توی پلتفرمی که گفتین ایجاد کنیم؟ راه دیگری نداره؟

    • سلام
      بله، چرا که قرار است داده ها را روی این پلتفرم دریافت کنیم. در غیر اینصورت از پلتفرم های دیگر و یا پلتفرمی که خود می سازید می بایست استفاده کنید. در آموزش زیر، لینک ساخت پلتفرم را مشاهده می نمایید:
      لینک آموزش ساخت پلتفرم اینترنت اشیا

    • با سلام
      گیت وی در پلتفرم uBeac ساخته شده است و روش ساخت در متن آموزش گفته شده است.
      پس از ساخت Gateway دیتای دریافتی در پلتفرم دسته بندی شده و نمایش داده می‌شود.

  • سلام
    خیلی عالی بود، من فقط سنسوری که معرفی کردید را ندارم، تا بخرمش و برم این آموزش را انجام بدم. سوالی که دارم، اگر شارژ اعتباری سیم کارت تموم بشه، چطوری متوجه میشیم؟

    • سلام و متشکرم
      این مورد را می توانید از طریق اپلیکیشن همراه سیم کارت بررسی کنید، اما از آنجاییکه حجم اینترنت آنچنانی در این سیستم مصرف نمی شود.، می توانید ماهانه مبلغی را برای شارژ سیم کارت در نظر بگیرید. معمولا این مبلغ بیش از ۱۰ یا ۱۵ هزار تومان نخواهد شد. در صورتیکه نیار به استعلام دقیق داشتید، می بایت مورد را با کمی برنامه نویسی پیش ببرید. به این صورت که کد دستوری اپراتور همراه را جهت استعلام شارژ را برای ماژول ارسال کنید و سپس پاسخ را دریافت نمایید. در این خصوص آموزشی تهییه خواهم کرد.

  • سلام
    خسته نباشید لایو امشب فوق العاده بود، میخواستم بدونم که از طریق این پلتفرم میشه یه دیوایس را کنترل هم کرد؟ یا نه؟

    • سلام و متشکرم از لطف شما
      این مورد را باید مورد بررسی و تست قرار دهیم. پس از اطمینان در همین صفحه اطلاع خواهیم داد.

  • سلام و عرض ادب
    ببخشید میشه از کد این پروژه برای ماژول SIM808 استفاده کرد تا به اینترنت متصل شد و داده ها رو به سرور ارسال کرد یا توی کدنویسی این دو ماژول متفاوتن؟!