سخت افزار اینترنت اشیا
در اکوسیستم اینترنت اشیا دو عنصر بسیار مهم وجود دارد؛ حسگرها و محرکها. هدف اصلی حسگرها جمع آوری داده از محیط پیرامون است که میتوانند با اتصال مستقیم از طریق شبکه های رادیویی و مخابراتی، داده های حس شده از محیط را ارسال کنند. هر یک از کاربردهای اینترنت اشیا دارای حسگرهای مختلف و منحصر به فرد خود هستند که به دو صورت آنالوگ و دیجیتال عملیات دریافت داده را انجام میدهند. حسگرهای دیجیتال به راحتی میتوانند با میکروکنترلرهای موجود در بازار ارتباط برقرار کنند و حسگرهای آنالوگ نیز باید با استفاده از مبدل آنالوگ به دیجیتال به میکروکنترلر متصل شوند.
حسگرها در انواع مختلف تشخیص دما، رطوبت، حرکت، گاز، آتش، فشار، شتاب، ضربان قلب و بسیاری موارد دیگر موجود هستند و باید دربرگیرنده ویژگیهای زیر باشند:
فیلترینگ داده ها و تشخیص سیگنالهای صحیح از سیگنالهای غیر صحیح
-حداقل مصرف انرژی و توان
-تشخیص هوشمندانه
-حساسیت بالا
-بالا بودن دقت و محدود بودن گستره خطا
-پهنای باند گسترده
-ایجاد حداقل نویز و صدا
-سهولت استفاده
-عدم تاثیرپذیری از محیط
-کیفیت ساخت و طول عمر بالا
بردها و میکروکنترلرها
رشد سختافزارهای کم هزینه و در دسترس که کار توسعه بردها، پلتفرمها و نمونهسازی کیت را بر عهده دارد موجب توسعه کاربرد اینترنت اشیا بیشتر از پیش شده است. طراحی سختافزارهای ماژولار، انعطافپذیری قابلتوجهی را ارائه میدهند و کاربران میتوانند اجزای مختلف را جایگزین کرده یا دستگاههای موجود در شبکه را بهطور جداگانه بهروزرسانی کنند. بسیاری از سختافزارهای پیشساخته شامل میکروکنترلرها و کامپیوترهای تک بردی هستند که با استفاده از آی سی ها و بهصورت سیستم یکپارچه تراشهمحور یا (SoC) طراحی شدهاند. سیستمهای تراشهمحور تعداد زیادی قابلیت شامل پردازش اطلاعات، ذخیرهسازی و شبکه را روی یک تراشه ارائه میدهند. در پیکربندی سیستمهای تراشهمحور سادگی پیادهسازی نسبت به انعطافپذیری قطعات و دستگاهها ترجیح داده شده است؛ اما با توجه به در دسترس بودن انواع مختلف میکروکنترلرها با تنظیمات متفاوت، کاربران جهت پیادهسازی پروژههای خود مشکلی نخواهند داشت.
میکروکنترلرها
میکروکنترلر یک سیستم تراشهمحور است که قابلیت پردازش دادهها و ذخیرهسازی را فراهم میآورد. میکروکنترلرها شامل یک هسته پردازنده (یا هستهها)، حافظه (RAM) و یک حافظه قابل برنامهریزی، خواندن و پاک کردن (EPROM) برای ذخیرهسازی برنامههای سفارشی روی آن هستند. برد توسعهدهنده میکروکنترلرها PBC هایی هستند که با استفاده از مدار اضافی از میکروکنترلرها پشتیبانی کرده و برنامهریزی و نمونهسازی روی تراشهها را آسانتر میکند. حسگرها و فعالسازها از طریق پینهای ورودی/خروجی دیجیتال و آنالوگ (GPIO) یا یک گذرگاه سختافزاری به میکروکنترلرها متصل میشوند. پروتکلهای ارتباطی استاندارد مانند I2C و SPI ارتباط درون دستگاهی و اجزای موجود در گذرگاه را فراهم میکند و به همین دلیل با بهکارگیری استانداردهای مناسب میتوان روند اضافه کردن یا تغییر اجزا را تسهیل کرد.
کامپیوترهای تک بردی
کامپیوترهای تک بردی (SBC) یک قدم بالاتر از میکروکنترلرها قرار دارند و به کاربران اجازه اضافه کردن دستگاههای جانبی مانند صفحهکلید، میکروفون و صفحه نمایش را در کنار ارائه حافظه و قدرت پردازش بیشتر، میدهند.
تمایزهای میان میکروکنترلرها و کامپیوترهای تک بردی تا حدودی توافقی هستند. برخی از دستگاهها مانند اومگا اونیون 2 تقریباً میتوانند با توجه به ویژگیهایشان در هر دو دسته کامپیوترهای تک بردی و میکروکنترلرها قرار گیرند. با استفاده از میکروکنترلرها میتوان توانایی کامپیوترهای تک بردی را از طریق افزونههای انعطافپذیر روی Raspberry Pi و BeagleBone Black گسترش داد.
انتخاب بین برد توسعهدهنده میکروکنترلرها و کامپیوترهای تک بردی
از آنجا که برد میکروکنترلرها و کامپیوترهای تک بردی با هم متفاوت هستند، برای پیادهسازی پروژهها باید تمام ویژگیهای اینترنت اشیا و پروژه در نظر گرفته شود. جهت بررسی ویژگیها باید تحت موارد زیر عمل کرد:
-تعیین نوع و تعداد حسگرهای محیطی و اجزای خروجی مورد نیاز یا در صورت لزوم طراحی یک مدار برای این اجزا.
-انتخاب یک میکروکنترلر یا یک کامپیوتر تک بردی برای هماهنگسازی خواندن و کنترل اجزای محیطی.
-انتخاب پروتکلهای ارتباطی دادهای مناسب. برای مثال استفاده از I2C برای ایجاد ارتباط بین میکروکنترلرها و حسگرهای متصل به آن.
-انتخاب سختافزارهای شبکهای و پروتکلهای مناسب برای ایجاد ارتباط بین سرویسهای مجازی و برنامهها.