اینترنت اشیا IOT رزبری پای نرم افزار Node Red پروژه رزبری پای

ارسال اطلاعات از سنسورهای محیطی به سرور IoT با پروتکل HTTP

iot-project-with-uBeac-and-raspberry-pi--http-post--digispark
نوشته شده توسط اروند طباطبایی

اینترنت اشیا دارای ۴ لایه اصلی است. هر پروژه‌ای که این چهار لایه را به صورت مجزا در خود داشته باشد، نوعی پروژه اینترنت اشیا به حساب می‌آید. بنابراین اگر صرفا یک ریموت کنترل تحت بستر اینترنت مشاهده کردید، بدانید که آن پروژه هرگز اینترنت اشیا IoT نمی‌باشد. در این پست با استفاده از پروتکل HTTP که یکی از پروتکل‌های مهم و ساده برای پروژه‌های IoT می‌باشد؛ اطلاعات سنسور را به سمت سرور ارسال می‌کنیم. این پست اولین آموزش تخصصی در زمینه اینترنت اشیا می‌باشد. بنابراین به صورت کامل فقط برای اعضای مشترک یک ساله فعال می‌باشد. قرار بر این است که با استفاده از سنسور شدت نور بر حسب لوکس Gy-30 و برد رزبری پای، سه لایه اولیه پروژه اینترنت اشیا را پیاده سازی کنیم. در لایه اول سخت افزار و سنسور مناسب را داریم. در لایه دوم پروتکل که در این آموزش از HTTP استفاده می‌کنیم. در لایه سوم پروتکل اینترنت اشیا را خواهیم داشت. تنظیمات بسیار مهم در این آموزش سمت یکی از پلتفرم‌های رایگان و بسیار جذاب IoT خواهد بود. در ادامه این آموزش با مرجع تخصصی آموزش‌های اینترنت اشیا به زبان فارسی، دیجی اسپارک همراه باشید.

 


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


پلتفرم یک بستر نرم افزاری جهت مدیریت و ایجاد ارتباط بین تمامی سنسورها و سخت افزارها در پروژه اینترنت اشیا میباشد. لایه سوم در پروژه‌های IoT شامل پلتفرم خواهد بود. پلتفرم IoT دارای انواع رایگان و اشتراکی می‌باشند. حتی انواع اوپن سورس هم موجود می‌باشد. در این نسخه‌ها میتوانید به صورت مستقل روی سرور خودتان نصب کنید. پیش از این در پست معرفی ۴ پلتفرم اینترنت اشیا و راهنمای انتخاب برای پروژه‌ها راجع به چهار پلتفرم مهم توضیحاتی ارایه داده‌ام. نکته جالبی در خصوص پلتفرم سامسونگ وجود دارد. اینکه در حال حاضر پلتفرم Artik Cloud به طور کلی توسط سامسونگ غیر فعال شده است. این اقدام دلایلی دارد ولی در این پست نمی‌توان به آن اشاره کرد. نکته مهم‌تر درباره پلتفرم IoT انتخاب آن براساس حوزه‌ی فعالیت پروژه بسیار مهم است. در اینترنت اشیا بیش از ۹ زیرشاخه مختلف تا امروز تعریف شده است. شناخت زیرشاخه‌ها و روش ورود به آن‌ها هم اهمیت زیادی دارد. پلتفرمی که در این آموزش کار میکنیم، یک نوع کاملا رایگان و دارای سرعت باورنکردی می‌باشد. طی این آموزش یک پروژه کاملا عملی اینترنت اشیا را با برد رزبری پای و فقط با یک سنسور Gy-30 پیاده سازی خواهیم کرد. سپس اقدام به لاگ کردن دیتاهای سنسور به صورت هر ۵ ثانیه یکبار خواهیم کرد.

 


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


برد رزبری پای Raspberry Pi

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

پلتفرم اینترنت اشیا ….

 


تنظیمات برد رزبری پای برای IoT


بدون شک یکی از انتخاب‌ها در پروژه‌های IoT در لایه اول، برد رزبری پای خواهد بود. علت این انتخاب میل شخصی بنده نیست. بلکه پروژه‌های اجرا شده در سراسر دنیا حکم اثباتی بر این موضوع است. برد Raspberry Pi بسیار پایدار و کم مصرف می‌باشد. خصوصا اینکه سرعت اجرای پروژه را بسیار افزایش خواهد داد. در این پست با استفاده از رابط I2C برد رزبری پای سنسور شدت نور را متصل می‌کنیم. سپس کافیست اطلاعات دریافتی از سنسور Gy-30 را از طریق اتصال اینترنت به سمت سرور هدایت کنیم. در لایه دوم پروژه، تنظیمات پروتکل HTTP را اجرا کرده و در لایه سوم پس از انجام تنظیمات تخصصی، شروع به لاگ کردن اطلاعات این سنسور خواهیم کرد.

 


تنظیمات نرم افزار Node-Red


نرم افزار نود رد یک بستر بسیار کاربردی و قابل اطمینان برای کنترل انواع سخت افزارها و به عبارتی MCU مرکزی می‌باشد. نرم افزار نود رد را روی سرور یا روی بردهای امبدد از جمله رزبری پای میتوانید نصب کنید. سپس تنظیمات را انجام می‌دهیم. در این آموزش با استفاده از Node Json کدهای دریافتی از سنسور Gy-30 را به سرور ارسال میکنیم. اگر روش کار با Node red را نمی‌دانید، به آموزش استفاده از نرم افزار نود رد Node red مراجعه کنید. کل نودهای مورد استفاده، ۷ عدد خواهد بود، مانند تصویر زیر می‌باشند.

تنظیمات نرم افزار نود رد Node-red با Json - دیجی اسپارک

 

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

تنظیمات نود Inject برای ارسال دیتا به پلتفرم اینترنت اشیا uBeac - دیجی اسپارک

 

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

تنظیمات نود I2C در نرم افزار Node red - دیجی اسپارک

 

در قدم بعدی با استفاده از نود Change مقادیر دریافتی از رابط I2C را به پارامتر لوکس تبدیل می‌کنیم. بنابراین در تنظیمات نود Change گزینه msg را انتخاب میکنیم. سپس نام آن را Lux قرار می‌دهیم. پس از آن در سطر پایینی این کدها را وارد می‌کنیم. مانند تصویر زیر

تنظیمات نود Change برای دریافت پارامتر Lux سنسور GY-30 - دیجی اسپارک

 

 


کدنویسی JavaScript در نود رد


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

 


تبدیل اطلاعات سنسور به Json


 

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

 


تنظیمات پروتکل HTTP در IoT


 

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

 

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

 

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

 


پروژه و دریافت بن ارسال رایگان


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

 

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

 

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

اروند طباطبایی

بنیانگذار دیجی اسپارک: اولین مرجع تخصصی امبدد سیستم به زبان فارسی / کارشناس سئو و تولید محتوا

هرچه می آموزم میبینم که خیلی کم آموختم. در حال حاضر مدیریت تولید مقطع کارشناسی ارشد هستم. علاقه به رباتیک و تکنولوژی دارم. امیدوارم بتونم دانشی را که آموخته‌ام، به روش‌های مختلفی به کاربران علاقمند منتقل کنم.

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

۲ دیدگاه

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