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

آموزش IoT پلتفرم uBeac بخش سوم: ساخت گیت‌وی IOT Gateway

getting-started-with-ubeac-iot-platform-part-three-create-gateway-digispark

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

 


گیت وی Gateway


IOT Gateway دیوایس و نرم افزاری هستند که سر راه سیستم هایی مانند دیوایس هایی که به اینترنت متصل هستند، کنترلرها، سنسورها و شبکه هایی ابری Cloud قرار میگیرند. IOT Gateway ها به واسطه ی پروتکل های ارتباطی wifi, bluetooth, ethernet, mqtt, http, serial port برای ارسال دیتا از دیوایس ها استفاده می‌شوند. اما IOT Gateway هوشمند هستند، آن ها دیتاهای سنسورها را از دیوایس های IOT جمع آوری کرده و پروتکل ها را شناسایی کرده و در نهایت دیتاها را قبل از ارسال به پلتفرم در شبکه پردازش می‌کند. دیتاها هر لحظه توسط IOT Gateway تولید شده و به Cloud ارسال می‌شود. اولین هدف گیت وی ها تامین یک رابط میان انواع مختلف تکنولوژی های ارتباطی است. همه ی ما یک گیت وی داریم که همان روتری هست که به عنوان مودم در خانه و محل کار استفاده می‌کنیم که یک شبکه برای اتصال دیوایس به اینترنت را برای ما فراهم می‌کند که به عبارتی همین روتر میتواند یک پل ارتباطی باشد. IOT Gateway همانند یک شبکه روتر عمل می‌کند و دیتاها را بین دیوایس های IOT و سرویس Cloud هدایت می‌کند. بعضی از دیوایس های گیت وی فقط دیتا را به سرویس Cloud ارسال می‌کنند. دیوایس های گیت وی بایستی ترافیک دیتا در داخل باند inbound و خارج باند outbound را مدیریت کنند. منظور از ترافیک خارج باند Outbound traffic ارسال دیتای IOT به Cloud است و ترافیک داخل باند برای مدیریت دیوایس در نظر گرفته می‌شود.  اما مهمترین مسئله ای که ما با آن سرو کار داریم ارتباط بین IOT Gateway با Edge computing است. توسط Edge این امکان فراهم می‌شود تا محاسبات عمیق تری از دیتاها که به منابع دیتا نزدیک تر هستند را انجام داده و سپس دیتاها را از یک مرکز داده به مرکز داده دیگری ارسال می‌کند که با استفاده از Edge مقدار داده و فاصله ای که باید طی شود، کاهش یافته و پردازش دیتا با سرعت بالاتری انجام می‌شود. با یک مثال ساده شروع کنیم اگر بخواهیم یک یخچال را مجهز به IOT کنیم، زمانیکه غذای مشخصی در یخچال رو به اتمام است، به نزدیک ترین مرکز داده محلی اطلاع داده و چرخه ی تامین انجام می‌شود. محاسبات لبه یا همان Edge Computing، داده های پردازش شده را به منبع داده ها نزدیک تر می‌کند. تمامی دیوایس ها دیتاها را به Edge Gateway Server ارسال کرده و سپس به محل داده های اصلی نزدیک تر می‌کند. هر روز تعداد دیوایس های هوشمندی که به شبکه اینترنت متصل می‌شوند رو به افزایش است، تامین یک شبکه ایمن و در درسترس دغدغه بوده است. تمامی این دیوایس های هوشمند مبتنی بر اینترنت اشیا در حال حاضر تبدیل به بخش جدایی ناپذیر از زندگی ما شدند. در یک شبکه ارسال داده، مهم ترین بخش پردازش و ذخیره دیتا در لبه شبکه است تا روند انتقال دیتا همیشگی باشد. توسط Edge Computing داده هایی که نیاز به تغییر فوری دارند و یا دیتاهای فشرده ای از یک دیوایس هستند را به منبع داده نزدیک تر می‌کند تا تجربه کاربری راحت تری را ارائه دهد.

 


گیت وی سخت افزاری Hardware Gateway


در دنیای گیت وی ها، دو انتخاب هست. یک اینکه از نوع آماده استفاده کنیم و مشابه یک روتر وای فای از برندهای معتبر خریداری کنیم. روش دوم هم ساخت گیت وی توسط بردهای امبدد هست. پلتفرم uBeac از گیت وی های سخت افزاری متعددی برای ارسال دیتای سنسورها استفاده می‌کند. در ادامه برخی از بردهایی که امکان ساخت گیت وی در uBeac به عنوان گیت وی دارند را معرفی کرده‌ایم.

  • رزبری پای Raspberry Pi

میتوانید رزبری پای را برای ارسال ریکوئست به پنل یوبیک uBeac تنظیم کنید.

  • آردوینو Arduino

میتوانید آردوینو را برای ارسال ریکوئست به پنل یوبیک uBeac تنظیم کنید.

  • ESP8266

میتوانید esp8266 را برای ارسال ریکوئست به پنل یوبیک uBeac تنظیم کنید.

  • ESP32

میتوانید ESP32 را برای ارسال ریکوئست به پنل یوبیک uBeac تنظیم کنید.

  • سایر گیت وی های آماده به صورت زیر است:
  • Ingics
  • April
  • Blue Cats
  • Mist
  • Jaalee

 


گیت وی نرم افزاری Software


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

  • Beacon Scanner
  • Data Collector
  • Ruuvi Station

دومین گیت وی های نرم افزاری uBeac Generic Gateways هستند که در ادامه لیست شده است.

  • SingleDevice.SingleSensor

از این قابلیت در هر ریکوئست فقط یک دیتا ارسال می‌شود. مانند دیتای دما، دیتای روطوبت

{
     "mac": "1A:2A:3A:4A:5A:6A",
     "type": 4,
     "ts": 1542326605,
     "unit": 2,
     "prefix": 0,
     "data": 123
 }

 

  • SingleDevice.MultipleSensor

از این قابلیت در هر ریکوئست دیتا از چندین سنسور ارسال می‌شود.

{
    "ip": "1A:2A:3A:4A:5A:6A",
    "ts": 1542326605,
    "sensors": [
        {
        "uid": "SignalStrength",
        "unit": 22,
        "prefix": 0,
        "type": 17,
        "data": {
            "rssi": -86,
            "txPower": -59
        }
        },
        {
        "uid": "Temperature",
        "unit": 2,
        "prefix": 0,
        "type": 4,
        "value": -59
        }
    ]
}

 

  • MultipleDevice.MultipleSensor

از این قابلیت در هر ریکوئست دیتا از چندین دیوایس ارسال می‌شود.

[
    {
    "ip": "1A:2A:3A:4A:5A:6A",
    "ts": 1542326605,
    "sensors": [
        {
        "uid": "SignalStrength",
        "unit": 22,
        "prefix": 0,
        "type": 17,
        "data": {
        "rssi": -86,
        "txPower": -59
            }
        },
        {
        "uid": "Temperature",
        "unit": 2,
        "prefix": 0,
        "type": 4,
        "value": 26
        }
    ]
},
{
    "mac": "1B:2B:3B:4B:5B:6B",
    "ts": 1542326605,
    "sensors": [
    {
        "uid": "SignalStrength",
        "unit": 22,
        "prefix": 0,
        "type": 17,
        "data": {
        "rssi": -86,
        "txPower": -59
        }
    },
    {
        "uid": "Temp",
        "unit": 2,
        "prefix": 0,
        "type": 4,
        "value": 39
    }
    ]
}
]

 

  • HTTP clients

از این قابلیت برای ارسال ریکوئست HTTP استفاده می‌شود. برای این  منظور از مدل گیت وی single sensor استفاده کنید. سپس url دریافتی را در postman قرار دهید. سپس از متد GET, POST,PUT,PATCH برای ریکوئست انتخاب کنید. سپس نوع محتوا را در هدر درخواست خود  “application/json “مشخص کنید. HTTP یک پروتکل لایه‌ی به صورت هفت شبکه، یعنی لایه‌ی Application است که برای برقراری ارتباط بین Web Client و Web Server استفاده می‌شود. این پروتکل، با هر دو پروتکل اصلی لایه‌ی Transport، یعنی TCP و UDP سازگار است و می‌تواند بر پایه‌ی آن‌ها اتصالات را برقرار کند. در پروتکل HTTP برای نمونه یک مرورگر، درخواستی را برای سرور در قالب این پروتکل ارسال می‌کند. این درخواست می‌تواند یک Request باشد. در uBeac هر بار یک ریکوئست از سنسور و دیوایس از طریق پروتکل HTTP ارسال می‌شود.  پس از دریافت Request، سرور آن را بررسی می‌کند و براساس پارامتر‌هایی مانند در دسترس بودن Resource مورد نظر کاربر و درست بودن درخواست ارسال شده، اقدامات بعدی صورت میگیرد. برای ارسال دیتا از متد post استفاده می‌کنیم. از این متد برای ارسال یک داده به وب سرور استفاده می‌شود. برای قرار دادن داده در url از متد post استفاده می‌کنیم.

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

 

  • MQTT clients

از این قابلیت برای ارسال ریکوئست MQTT استفاده می‌شود. برای پابلیش دیتا از MQTT CLIENT میتوانید استفاده کنید. روتکل MQTT یک پروتکل اتصالاتی ماشین به ماشین M2M بر پایه اینترنت اشیا است. از پروتکل TCP ,IP بهره می‌برد. سیستم MQTT متشکل از کلاینت ( مشتریانی ) است که با یک سرور ارتباط برقرار می‌کنند؛ به اصطلاح به آن Broker گفته می‌شود. MQTT بر پایه سیستم publish و subscribe بنا شده است. یک کلاینت می‌تواند نقش یک انتشار دهنده اطلاعات ( Publisher ) و یا دریافت کننده اطلاعات باشد. دیتا در تاپبک‌ها مرتب شده است. زمانیکه انتشار دهنده یک مورد جدید از داده‌ها را جهت توزیع فراهم می‌کند، یک پیام کنترل با دیتا به واسط اتصال دهنده یا همان Broker ارسال می‌کند. واسط‌ها ( Broker) دیتا را به هر کلاینتی که در آن تاپیک مشترک است، توزیع می‌کند. انتشار دهنده نیازی به دانستن تعداد و محل مشترکین (Subscriber) ها ندارد و مشترکین به نوبه خود نباید با دیتاهای انتشار دهندگان پیکربندی شوند.

ارتباط با پلتفرم اینترنت اشیا از طریق MQTT - دیجی اسپارک

 


ساخت گیت وی در uBeac


تنظیمات گیت وی در پلتفرم اهمیت زیادی دارند. در بخش ساخت گیت وی در uBeac روش ایجاد را بررسی می‌کنیم. برای ایجاد Gateway در پلتفرم یوبیک از صفحه اصلی بر روی گزینه Gateways کلیک کنید. سپس گزینه Add را انتخاب کنید. مطابق تصویر زیر اقدام کنید.

ساخت گیت وی در uBeac - دیجی اسپارک

 

بر روی Add Gateway کلیک کنید. در صفحه ی باز شده Firmware را بر اساس نوع داده ارسالی مشخص کنید.

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

 

این لیست همان گیت وی های نرم افزاری است که در بالا به آن اشاره شد. بر اساس نوع داده، گیت وی را انتخاب می‌کنیم. اگر فقط چندین دیوایس داریم گزینه uBeac Multiple Devices کلیک کنید. اگر چندین سنسور داریم گزینه uBeac Multiple Sensors را انتخاب کنید. اگر یک سنسور داریم گزینه uBeac Single Sensor را انتخاب کنید. اگر گیت وی جیسان داریم گزینه uBeac Custom Json Gateway را انتخاب کنید. اگر از اپلیکیشن های اندروید استفاده می‌کنید، یکی از گیت وی های اندرویدی را انتخاب کنید.

تنظیمات گیت وی Gateway در پلتفرم یوبیک - دیجی اسپارک

 

انتخاب نام برای UID دلخواه است. با کلیک بر روی Submit صفحه ی زیر باز می‌شود. صفحه Live Data به صورت زیر است.

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

 

بر روی General اطلاعات Gateway را نمایش میدهد.

 

مجدد وارد Gateway ساخته شده شوید. بر روی منو Appearance کلیک کنید.

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

 

در گزینه map به Building ساخته شده میتوانیم ارجاع دهیم.

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

 

و در نهایت گزینه آخر HTTP, MQTT است. نوع گیت وی نرم افزاری خود را انتخاب کنید.

تنظیمات پروتکل HTTp یا MQTT در گیت وی پلتفرم uBeac - دیجی اسپارک

 

  • اگر در کد برنامه نوشته شده بخواهید از پروتکل HTTP برای ارسال داده استفاده کنید، آدرس URL را کپی کنید.
  • اگر در کد برنامه نوشته شده بخواهید از پروتکل HTTPS برای ارسال داده استفاده کنید، آدرس URL را کپی کنید.

 

اطلاعات مربوط به MQTT در پایین صفحه اضافه شده است و میتوانید از آن استفاده کنید.

تنظیمات MQTT و HTTP در گیت وی نرم افزاری - دیجی اسپارک

 

فعال سازی MQTT در گیت وی پلتفرم یوبیک - دیجی اسپارک

 


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


بردهای ESP

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

بردهای رزبری پای

 


جمع بندی لیدی پای


در بخش سوم از آموزش کار با پلتفرم uBeac ساخت گیت وی را به صورت نرم افزاری و سخت افزاری تحلیل کردیم. مهمترین بخش در پروژه های IOT ساخت گیت وی اینترنت اشیا است. برای ساخت گیت وی از سخت افزارهایی مانند Arduino, Raspberry Pi, ESP8266, ESP32 استفاده می‌کنیم. برای گیت وی نرم افزاری از HTTP , MQTT بیشترین استفاده را خواهیم کرد و برای کسانی که تجربه کدنویسی در محیط آردوینو را دارند، ارتباط با پلتفرم uBeac بسیار جذاب خواهد بود. دانش برنامه نویسی در محیط Arduino IDE و نوشتن کد جبسان Json و ساخت گیت وی در کدها به صورت نرم افزاری از چالش های این پلتفرم خواهد بود.

 

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

 

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

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

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

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

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

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

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

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

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

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

۱۰ دیدگاه