تماس با ما
 
بدان
 
امروز پنجشنبه ، ۱۳۹۹/۱۲/۰۷
 
کلیه مقالات

چارچوب Middleware برای ادغام خدمات IoT

Middleware Framework for IoT Services Integration

چارچوب Middleware برای ادغام خدمات IoT:

چکیده — در عصر اینترنت اشیاء (IoT) ، داده های سنسورها می توانند از طریق تحلیلی اطلاعات بصیرتی را به شرکت ارائه دهند.

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

با این حال ، برخی از چالش ها در فضای IoT وجود دارد.

بسیاری از دستگاههای مورد استفاده دارای معنای مختلف دستگاه و تغییرات پروتکل هستند که می توانند قابلیت تعامل را محدود کنند.

در نتیجه می توان مانع از ادغام داده ها و فرایندها شد.

در این کار ، ما یک نرم افزار واسطه را با قابلیتهای هر دو ماشین به زیرساخت (M2I) و ماشین به ماشین (M2M) ارائه می دهیم که این مشکلات را براساس تکنیک های نقشه برداری بین معنایی دستگاه ناهمگن و ارائه یک رابط مشترک برای ادغام تغییرات پروتکل ارائه می دهد. .

هنگامی که یک دستگاه قابل کشف است ، میان افزار ما از ویژگیهای محیطی پیشرفته برای مطابقت با پروتکل ارتباطی مناسب استفاده می کند.

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

مقدمه:

چندین مورد استفاده و برنامه های IoT وجود دارد و همانطور که از [1] تولید شده است ، این لیست شامل موارد زیر است:

سلامتی:

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

تلاش برای پاسخگویی به مطالبات در برنامه های فوق الذکر IoT نیاز به خودکارسازی امور را ایجاد می کند و بر اساس تنظیمات من و با پردازش پیشرفته ، مداخلات دستی را از بین می برد.

این در حالی است که می توان دسته بندی های مختلف برنامه های مربوط به IoT را درک کرد.

علیرغم این که چندین مورد استفاده وجود دارد ، برنامه های IoT را می توان به دو روش منطقی مشاهده کرد.

دسته اول:

ارتباطات - دستگاههای هوشمند با سایر ماشینها / اشیاء ، زیرساختها و محیط فیزیکی در تعامل هستند.

دسته دو:

تجزیه و تحلیل داده ها - این پردازش داده های تولید شده و متعاقباً انجام کارهای کاوی داده برای روندهایی است که می تواند به اطلاعات روشنگری منجر شود.

هر طبقه دارای مجموعه ای از چالش ها و همچنین انگیزه های مهندسی و تحقیقاتی است اما مسئله مهم این است که دسته یک باید در زمینه پایه و اساس دسته دو موفق باشد.

به عبارت دیگر ، مرحله ارتباط باید برای تبادل داده های جمع آوری شده قبل از انجام کارهای تحلیلی روی داده ها مؤثر باشد.

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

چالش های طراحی سکوهای M2I از نظر معنایی متفاوت دستگاه و تغییرات پروتکل است که می تواند قابلیت همکاری را محدود کند [2].

چندین دستگاه به معنای معنایی پردازش آنها می تواند متفاوت باشد (از جمله انواع / قالب داده های تولید شده) و همچنین تغییرات توپولوژی پروتکل مانند NFC ، RFID ، بلوتوث ، Wi-Fi و غیره.

کار ما با ارائه یک پلتفرم میان افزار M2I در جایی که وقتی یک دستگاه قابل کشف است ، این دو موضوع گسترده را مورد بررسی قرار می دهد ، جایی که وقتی یک دستگاه قابل کشف است ، میان افزار ما از یک هستی شناسی زمینه محیط پیشرفته برای مطابقت با پروتکل ارتباطی مناسب استفاده می کند.

به طور کلی ، این کار یک میان افزار M2I را که برای پشتیبانی از ارتباطات IoT مستقل است ، تحقیق ، پیشنهاد و طراحی کرد.

واسطه می تواند روی یک تلفن هوشمند یا سرورهای مبتنی بر ابر اجرا شود.

بخش های باقیمانده مقاله به شرح زیر چیده شده است.

بخش 2 بر اهمیت IoT در دوره فعلی و همچنین بررسی آثار در مورد IoT و سرویس های میانی تأکید می کند.

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

مقاله در بخش 5 با مشارکتهای ما و جهت تحقیقات آینده به پایان می رسد.

II- کارهای پس زمینه:

A- بسترهای نرم افزاری Middleware برای IoT:

چندین اثر از طراحی میان افزار به عنوان ابزاری برای مدیریت داده های IoT استفاده می کنند [8] ، [13] ، [18].

طبق گفته های آلل و همکاران [9] ، یک واسطه می تواند برای تسهیل توسعه برنامه کاربردی استفاده شود. اجازه تعامل معنایی دستگاهها ، خدمات و برنامه های ناهمگن.

آنها یک بستر به نام ، REACTION را پیشنهاد کردند که یک محیط توسعه یکپارچه و یکپارچه برای بهبود مدیریت طولانی مدت دیابت و سایر بیماریهای مزمن را فراهم می کند.

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

علاوه بر این ، خدمات میان افزار در کارهای قبلی برای ادغام [17] مؤلفه های مختلف سیستم ارائه شده است ، بدین ترتیب از قابلیت ارتجاعی کاربرد [10] ، حفظ دیدگاه فراگیر [14] و اطمینان از امنیت [16] استفاده می شود.

کار خدار و دیگران [11] به تلاقی سنسورها و شناسایی رادیو فرکانس (RFID) می پردازد.

در RFID ، کاربران به سه بخش مربوط هستند:

خواننده ، میان افزار و ماژول خدمات.

نویسندگان در ادامه در مورد اهمیت مدیریت داده های تکراری در شبکه های حسگر بحث کردند.

همچنین ، الهاربه و همکاران [15] یک معماری با الهام از IoT با ترکیب ZigBee و RFID از دو جنبه طراحی ارائه دادند.

در مرحله اول برای کنترل دسترسی و موقعیت مکانی با استفاده از سیستم RFID و دوم استفاده از دستگاه ZigBee برای پوشش بیشتر برای نظارت و تأیید مکان شیء.

علاوه بر این ، Sain و همکارانش [12] درباره تفاوت بین سطح پایین (گره های حسگر و برنامه های مربوطه آنها) و واسطه سطح متوسط ​​(مورد استفاده برای تبادل داده و ارتباط بین برنامه های دیگر) بحث می کنند.

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

III- معماری طراحی شده:

طراحی معماری کلی اکوسیستم اینترنت پیشنهادی اشیاء (IoT) بصورت گرافیکی در شکل 1 نشان داده شده است.

این معماری چند لایه است که شامل برنامه های کاربردی موبایل و موبایل ، میانی و برنامه ها و سرویس های میزبان ابر است.

به منظور جابجایی دستگاههای مختلف پشتیبانی شده در این کار ، چهار زیر واحد وجود دارد که عبارتند از:

صفحه اصلی ، پوشیدنی ، کار و وسیله نقلیه IoT.

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

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

بر اساس سؤالات تحقیقاتی ما که در بالا ذکر شد ، یک بستر میان افزار مستقل از سبک سبک با هدف اصلی هماهنگی ارتباطات M2M و M2I از طریق ترکیب پروتکل ارائه شده است.

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

این امر بسیار مهم است زیرا تنوع در پروتکل های ارتباطی بین دستگاه های حسگر برای ارتباطات موضوع به موضوع وجود دارد ، به عنوان مثال. ، ZigBee ، بلوتوث ، بلوتوث کم انرژی (BLE) ، NFC ، RFID ، Z-Wave و LTE-A.

این بدان معنی است که یک سرویس ترکیب پروتکل برای متحد کردن کلیه پروتکل های مختلف برای دستیابی به داده های چند حسگر مورد نیاز است.

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

با این حال ، جنبه دوم مورد نیاز ارتباطی این است که چگونه داده های حسگر را به سمت سرویس های back-end که از پروتکل های کوتاه برد پشتیبانی نمی کنند سوق دهیم.

به عنوان مثال ، ارسال اطلاعات به طور مستقیم بین دستگاهی با بلوتوث و مؤلفه های ابری که از طریق HTTP ارتباط برقرار می کنند عملی نیست.

علاوه بر این ، سرویس های ابری همچنین چندین پروتکل ارتباطی (مانند HTTP ، CoAP ، MQTT و غیره) دارند و این می تواند ارتباطات متقابل را با زیرساخت های back-end مختل کند.

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

این امر از طریق ترکیب پروتکل ، ادغام داده های حسگر و مسیریابی حاصل می شود.

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

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

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

چگونگی پرداختن به این عوامل در این تحقیق در زیر بخش های بعدی مورد بحث قرار گرفته است.

دستگاه های 3-1 برای تست کار:

در این کار سنسورهای ارتباطی محدود و همچنین سنسورهای دوربرد در نظر گرفته شده است.

سنسورهای محدود محدود آنهایی هستند که در درجه اول از طریق پروتکل های کوتاه از جمله Bluetooth ، BLE ، NFC و RFID ارتباط برقرار می کنند.

در همین راستا ، سنسور اصلی مورد استفاده در این پروژه ، بلوتوث Smart SensorTag ، به طور خاص ، CC2650 SensorTag تولید شده توسط Texas Instrument است.

این دستگاه همه کاره است و برای داده های مختلف از جمله ویژگی هایی دارد:

LED ، مکان GPS ، میکروفون دیجیتال ، سنسور مغناطیسی ، رطوبت ، فشار ، شتاب سنج ، ژیروسکوپ ، مغناطیس سنج ، دمای شی و دمای محیط.

این دستگاه همچنین از طریق بلوتوث ، بلوتوث کم انرژی با تلفن های هوشمند ارتباط برقرار می کند و توسعه دهندگان می توانند ZigBee یا 6LoWPAN را از طریق به روزرسانی سیستم عامل فعال کنند.

این مناسب برای آزمایش ارتباطات M2M است.

تطبیق پذیری این دستگاه ، آن را برای آزمایش در محیط های مختلف بدنی مانند خانه ، محل کار ، دفاتر و وسایل نقلیه ایده آل می کند.

B- لایه Middleware:

میان افزار پیشنهادی یک سرویس سبک وزن است که می تواند به صورت برنامه Plug n Play یا بر روی یک کامپیوتر با ظرفیت بالا به عنوان یک نرم افزار مستقل پیکربندی شده بر روی دستگاه های تلفن همراه اجرا شود.

هنگامی که در حالت دوم مورد استفاده قرار می گیرد ، میان افزار می تواند به عنوان یک چارچوب نرم افزار به عنوان یک سرویس (SaaS) دیده شود که به عنوان یک مرکز و روتر پیام برای کلیه ارتباطات بین گره موبایل و لایه آنالیز ابری عمل می کند.

صرف نظر از محل نصب آن ، هدف اصلی میان افزار رسیدن به دو کار است:

1) ترکیب پروتکل را به گونه ای انجام دهید که سنسورهای دارای رابط های ارتباطی متنوع بتوانند داده ها را تبادل کنند و 2) داده ها را با کاربران و دستگاهها مطابقت دهند.

تکنیک های به کار رفته برای دستیابی به این دو کار در زیر بخش های آینده که در آن انتزاع سطح بالا از میان افزار (در شکل 2 نشان داده شده است) به تفصیل توضیح داده شده است.

سیستم عامل (OS):

سیستم عامل (OS) نرم افزاری اصلی است که در هر دستگاه اجرا می شود. به طور خاص برای کار ، دستگاه های تلفن همراه و سرورهای ما.

سیستم عامل می تواند برای سیستم عامل های مختلف متفاوت باشد ، اما هدف این است که مدیریت سایر برنامه های دیگر که روی سیستم عامل اجرا می شوند.

از آنجا که ما میان افزار را در Xamarin طراحی کرده ایم ، می توانیم کد مشابه را در iOS ، Android ، Windows و Mac تنظیم کنیم.

ورودی / خروجی (IO):

این واسط است که به درخواست های دریافتی و همچنین بازگشت پیام های خروجی گوش می دهد.

ماژول IO به رابط شبکه وصل می شود تا دستگاه هایی که قابل کشف هستند بتوانند داده های خود را تحت فشار قرار دهند.

این رابط همچنین اصلی ترین نقطه دسترسی به میان افزار پیشنهادی است.

بنابراین هرگونه موانع ارتباطی در اینجا مانع جریان کلی ارتباط در سیستم خواهد شد.

ترکیب پروتکل - لایه شبکه وقتی رابط IO به یک درخواست بیدار می شود ، وظیفه مهم بعدی تعیین پروتکل ارتباطی دقیق دستگاه قابل کشف است.

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

این امر با معرفی سه کلاس یاور جداگانه برای هر ارتباط حاصل می شود.

در مرحله اول ، کلاس راهنما با نام M2M Connection Interface برای نوع پروتکل ارتباطی تبلیغ شده توسط سنسور به لایه IO نگاه می کند.

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

بلوتوث ، بلوتوث کم انرژی (BLE) ، RFID و Wi-Fi.

کلاس دوم یاور موسوم به M2I Connection Interface ، وظیفه دارد پروتكل ارتباطات برای سرور back-end را بر اساس اتصال قابل قبول منتشر شده تعیین كند.

اینجاست که ارتباط واقعی M2I در حال وقوع است.

وضعیت فعلی این کلاس یاور از ارتباطات با زیرساخت ها از طریق:

MQTT ، CoAP ، HTTP و خدمات توزیع داده (DDS).

استفاده از کلاس های یاور ، سطح بالایی از "جدایی نگرانی" را به ما می دهد.

این امر به این دلیل است که ارتباطات دستگاه های مشتری (یعنی حسگرها یا دستگاه ها) به سختی با چه نوع رابط توسط زیرساخت های باطن منتشر نمی شود.

به عنوان مثال ، اگر یک دستگاه پیام را از طریق BLE ارسال کند ، پیام می تواند از طریق CoAP به زیرساخت ها ارسال شود بدون اینکه دومی مجبور به انجام هرگونه پردازش باشد ، زیرا واسطه تعیین می کند چه نوع رابط ارتباطی از هر طریق پشتیبانی می شود.

دروازه:

دروازه IoT به عنوان نقطه دستیابی به دسترسی برای ادغام در سایر محیط های خارجی IoT و همچنین برنامه های سازمانی عمل می کند.

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

اینجاست که API های Cloud Cloud برای ادغام در سرویس های ابر شخص ثالث به کار می روند ، همانطور که در بخش 3-2 بحث شده است.

در وضعیت فعلی میان افزار ، API های cloud cloud از ارائه دهندگان خدمات ابری شخص ثالث (از جمله Apple Push ، Android Push ، BlackBerry IoT) ، برنامه کاربردی و cloud شخصی (به عنوان مثال ، Amazon S3) و هرگونه حافظه اختصاصی با حداقل تغییرات استفاده می کنند.

دروازه طراحی شده همچنین دارای یک رابط با نام IoT دستگاه API برای ادغام سایر گره های هوشمند و قدرتمند خارجی دیگر مانند دستگاه Raspberry Pi است.

در عمل ، این رابط ممکن است نیاز داشته باشد تا متناسب با نیازهای ارتباطی دستگاه IoT اصلاح شود ، به خصوص ، اگر این دستگاه از C # پشتیبانی نکند.

مدیر ذخیره سازی:

مدیر ذخیره سازی یک کلاس کنترلر است که وظیفه ذخیره داده های سنسور به علاوه متا داده های دستگاه را قبل از ارسال نسخه ها به انبارهای پس زمینه ارسال می کند.

این منطقه ذخیره سازی به صورت موقتی در میان افزار است.

داده های ذخیره شده بر اساس ماهیت داده هایی که توسط دستگاه سنسور تولید می شوند به صورت متن یا چندرسانه ای سازماندهی می شوند.

مدیر Async:

این رابط وضعیت داده ها بین دستگاه ها و مدیر ذخیره را مدیریت می کند.

در اینجا کارهای زیادی انجام می شود از جمله هماهنگ سازی داده های سنسور و همچنین قالب بندی داده ها قبل از فشار دادن آن به انبارهای خارجی.

در این کار ، ما یک روش ارزش کلیدی پیشرفته را برای همگام سازی داده های سنسور بر اساس الگوریتم Bloom Filter پیشنهاد داده ایم.

برای وضوح و خوانایی ، جزئیات این الگوریتم در بخش 3-5 مورد بحث قرار می گیرد.

سطح کاربردی :

اینجاست که فعالیتهایی مانند تطبیق متن انجام می شود.

دو کلاس کنترل کننده جداگانه برای مدیریت متن مبتنی بر سرویس های آگاهی از محیط (مانند تاریخ ، زمان) و خدمات شبکه ای آگاه (مثلاً ردیابی موقعیت مکانی) وجود دارد.

ترکیبی از داده های سنسور متنی ، به واسطه کمک می کند تا از استعداد استفاده کند.

این بدان معناست که منبع داده را می توان با شفاف ردیابی کرد.

واسطه میانی بیشتر سعی دارد تا براساس سیستم عامل عملکرد ، معنایی دستگاه را درک کند.

این جایی است که میان افزار برای سیستم عامل های خاص مانند Android ، iOS ، Windows و Mac به همراه شما قرار می گیرد.

تشخیص حضور دستگاه توسط Discoverymodule در هر زمان انجام می شود که سنسورهای تبلیغاتی در دسترس بودن آنها را کنترل کنند.

همان ماژول کشف یک سنسور تبلیغاتی که قبلاً تبلیغ شده بود از لیست دستگاههای قابل کشف که آفلاین است حذف خواهد کرد.

پیام های ارسالی به میان افزار یا خروجی از طریق ماژول Routing به رابط IO ارسال می شوند.

ماژول هستی شناسی جایی است که وظایف موضعی مربوط به مدیریت زمینه و مطابقت دستگاه انجام می شود.

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

IV- نتیجه گیری:

این کار یک چارچوب میان افزار قابل حمل را ارائه می دهد که می تواند بر روی یک دستگاه تلفن همراه برای ارتباط M2M یا میزبان در یک سرور برای ارتباط M2I باشد.

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

در آینده ارزیابی هایی برای آزمایش امکان سنجی در یک سیستم مستقر در دنیای واقعی انجام خواهد شد.

این کار همچنین می تواند قابلیت اطمینان روش پیشنهادی همگام سازی را بررسی کند.

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