سخت افزار مناسب برای ساخت و توسعه پروژه اینترنت اشیاء
از این راهنما جهت تشخیص و انتخاب بهترین سخت افزار مورد نیاز برای ساخت پیش نمونه و توسعه پروژه اینترنت اشیاء خود استفاده کنید.
سخت افزار های متصل شده، مهمترین بخش اینترنت اشیاء را تشکیل می دهند. دیوایس های اینترنت اشیاء وظیفه نظارت و کنترل «چیزها» یا همان اشیاء دنیای واقعی، شامل تجهیزات صنعتی، وسایل خانگی، ساختمان ها، ماشین ها، تجهیزات انبارها و حتی انسان ها ( در صورت استفاده از گجت های پوشیدنی ) را برعهده دارند.
هنگامی که ایده اینترنت اشیاء جدیدی را توسعه می دهید ، اجزای سخت افزاری و نرم افزاری آن باید طراحی و نمونه های اولیه آن ساخته و طی فرایند های پرتکرار بازخورد و ارزیابی، اصلاح شود.
پلتفرم های سخت افزاری سرگرم کننده ای مانند Arduino و Raspberry Pi ، می توانند کمک زیادی به تسریع روند ساخت پیش نمونه و اصلاح آن بکنند؛ چراکه آماده و در دسترس هستند و نیاز به صرف هزینه و وقت کمتری نسبت به طراحی بردهای مدار چاپی (PCBs) در هر مرحله از طراحی، دارند.
به عنوان بخشی از این فرایند، شما باید نیاز های سخت افزاری کاربرد پروژه اینترنت اشیاء خود را بشناسید و نمونه پیش ساخته خود را بر اساس آنها، با استفاده از سخت افزار های در دسترس و متناسب، ارزیابی و اصلاح نمایید.
در مبحث اینترنت اشیاء ، Device به سخت افزاری گفته می شود که برای هدف خاصی طراحی شده یا استفاده می شود. از این عبارت، برای اشاره به قسمت های سخت افزاری مجزا مانند سنسورها، عملگرها، برد های در دسترس Raspberry Pi و همچنین پیش نمونه ها و دستگاه های ساخته شده از چندین قسمت هم استفاده می شود.
در این مقاله ، تعدادی از گزینه های سخت افزاری پرکاربرد و در دسترس را بررسی کرده و توضیح می دهیم کدام مورد را ممکن است برای طراحی و توسعه پروژه اینترنت اشیاء خود انتخاب کنید.
مهمترین ویژگی های دیوایس اینترنت اشیاء
با افزایش روز افزون کاربرد اینترنت اشیاء و چشم انداز روشن آن، همواره قطعات و پلتفرم های جدیدی عرضه می شوند. شما باید ویژگی های کلیدی و مشترک میان دیوایس های اینترنت اشیاء را برای مقایسه و ارزیابی بین قطعات جدید عرضه شده را بدانید.
ما می توانیم دیوایس های اینترنت اشیاء را بر اساس این قابلیت های سطح بالا، دسته بندی کنیم :
– نمونه گیری و کنترل داده ها (Data Acquisition and Control)
– پردازش و ذخیره داده ها (Data Processing and Storage)
– اتصال (Connectivity)
– مدیریت توان (Power Management)
نمونه گیری و کنترل داده ها
نمونه گیری داده ها (DAQ) ، به روند اندازه گیری متغیر های جهان فیزیکی و تبدیل آنها به مقادیر دیجیتال در بازه های زمانی ثابت، گفته می شود ( نرخ نمونه برداری داده ها ) .
DAQ در تصحیح و پردازش سیگنال ها (Signal Conditioning) برای بهره وری و مقیاس دهی داده های خام سنسور ها، و همچنین در مبدل های آنالوگ به دیجیتال
(برای تبدیل داده های آنالوگ خوانده شده سنسور به دیجیتال، تا بتوان آنها را پردازش و آنالیز کرد) کارایی دارد.
سنسور ها اجزای ورودی ما هستند که متغیر های فیزیکی اطراف ما را تبدیل به سیگنال های الکتریکی (ولتاژ) می کنند. شما می توانید سنسور مورد نیاز پروژه خود را از انواع سنسور های موجود که برای اندازه گیری متغیر های زیادی مانند دما، رطوبت، فشار، دود، گاز، شدت نور، صدا، جریان هوا، جریان آب، سرعت، شتاب، فاصله، ارتفاع، موقعیت مکانی، نیرو و … استفاده می شوند، انتخاب کنید.
اما سنسور ها فقط به اندازه گیری متغیر های بالا محدود نمی شوند؛ برخی سنسورها برای کنترل وضعیت داخلی قطعه استفاده می شوند؛ سنسورهایی مانند کلیدها و صفحات لمسی ، می توانند برای ارتباط مستقیم کاربر با دیوایس و فراهم کردن امکان رابط کاربری انسان-ماشین (HMI) استفاده شوند.
برای هرنوع از سنسورها، مثلا سنسور دما، شما ده ها گزینه از سازندگان مختلف و هرکدام با اندکی تفاوت در دقت اندازه گیری و ویژگی های مختلف برای کاربرد های خاص و استفاده در شرایط مختلف مانند زیر آب و یا کارکردن در گرما یا سرمای خیلی شدید، خواهید داشت.
یک ویژگی مهم سنسور ها، Resolution آنهاست. رزولوشن یک سنسور، کوچک ترین مقدار تغییراتی است که یک سنسور می تواند به صورت دقیق بخواند و وابسته به مقدار عددی استفاده شده برای نمایش داده های خام سنسور است.
برای مثال یک سنسور آنالوگ دما با رزولوشن 10 بیت ، دمای خوانده شده را می تواند در بازه اعداد 0 تا 1023 نمایش دهد (بیت ها اعداد باینری هستند، پس 10 بیت برابر با دو به توان 10 یا به عبارتی 1024 عدد ممکن در کل ) ؛ هرچند که در عمل، سنسور ها تحت تاثیر نویز های الکتریکی ، دقت اندازه گیری پایین تری نسب به رزولوشن خود دارند.
در حالی که سنسور ها، داده های فیزیکی محیط پیرامون را به سیگنال های الکتریکی تبدیل می کنند، خروجی ها برعکس عمل می کنند. آنها سیگنالهای الکتریکی دریافتی را به صورت فیزیکی نمایش می دهند. دستگاه های خروجی شامل LED ها، صفحات نمایش، بلندگو ها و یا عملگرهای مکانیکی مانند موتورها و یا سیم پیچ های مغناطیسی (سولونوئیدها) برای حرکت و یا کنترل اجزای فیزیکی، می باشند.
عملگر های مکانیکی ، کارایی گسترده ای در کاربردهای صنعتی اینترنت اشیاء دارند؛ برای مثال عملگر های نئوماتیک خطی (که با هوای فشرده کار میکنند) به طور گسترده در کارخانه ها برای جابه جایی و یا نگه داشتن اجزا، هنگام مونتاژ استفاده می شوند.
پردازش و ذخیره داده ها
دیوایس های اینترنت اشیاء به قابلیت پردازش و ذخیره سازی داده ها نیاز دارند تا بتوانند وظایف ابتدایی خود یعنی آنالیز و انتقال داده های گردآوری شده را انجام دهند. دیوایس ها می توانند داده ها را به صورت مستقیم پردازش و یا آنها را برای دیوایس های دیگر، درگاه های ارتباطی، سرویس های فضای ابری و یا اپلیکیشن های دیگر، برای آنالیز و پردازش داده، ارسال کنند.
تحلیل لبه (Edge Analytics) در واقع انجام آنالیز و پردازش داده ها در شبکه های محلی است به جای آنکه به صورت معمول به یک سرور مرکزی فرستاده شوند؛ داده ها می توانند در همان نزدیکی محل دستگاه و از طریق یک درگاه اتصال مانند Router به پردازشگر های محلی فرستاده شوند.
در نتیجه دیگر نیازی نیست که دیوایس های اینترنت اشیاء حجم زیادی از داده ها را برای آنالیز های بیشتر برای مرکز داده ها و سرورهای ابری ارسال کنند.
تحلیل لبه داده ها این امکان را فراهم می کند که با فیلتر داده ها، تنها اطلاعات مورد نیاز از محیط برای پردازش ارسال شوند؛ در نتیجه نیاز به محل ذخیره کمتری وجود دارد و همچنین از فشار گسترده بر روی شبکه کاسته خواهد شد.
قدرت پردازش و ذخیره اطلاعات مورد نیاز یک پروژه اینترنت اشیاء ، وابسته به میزان پردازش مورد نیاز برای کارایی خود دیوایس و همچنین میزان پردازش لازم برای اپلیکیشن و سرویس هایی است که از آن اطلاعات استفاده می کنند.
میزان حافظه موجود و خصوصیات پردازنده ، مانند تعداد هسته ها و یا فرکانس پردازنده، نرخ پردازش داده های دیوایس را مشخص می کند. ظرفیت حافظه غیر فرار، که وظیفه نگهداری از داده ها تا زمان ارسال آنها را بر عهده دارد، میزان توانایی ذخیره داده ها در قطعه را مشخص می کند.
دیوایس هایی که از تحلیل لبه پشتیبانی می کنند نیاز به قدرت پردازش بیشتری نسبت به قطعاتی دارند که تنها پردازش های معمول مانند اعتبار سنجی، مقیاس دهی و تبدیل داده ها ( مثلا تبدیل داده های آنالوگ دمای محیط به مقدار سلسیوس و نمایش یا ذخیره دیجیتال آن ) را انجام می دهند.
اتصال
قابلیت اتصال یکی از ویژگی های تعریف شده برای تمام دیوایس های اینترنت اشیاء است؛ دیوایس ها می توانند به صورت محلی (Local) با دیوایس های دیگر در ارتباط باشند و داده های دریافتی را با سرویس ها و اپلیکیشن های دیگر در فضای ابری، منتشر کنند.
برخی قطعات با استفاده از Wi-Fi ،Bluetooth ، سامانه بازشناسی امواج رادیویی (RFID) ، شبکه مخابرات رادیویی سلولی و یا فناوری شبکه های دوربرد توان پایین (LPWAN) مانند LoRa ، SigFox، NB-IoT ، توانایی اتصال بی سیم را فراهم می آورند.
اتصال با سیم، برای دیوایس های ثابت مناسب است که معمولا در ساختمان ها و خانه های هوشمند یا کاربرد های صنعتی برای کنترل و نظارت، استفاده می شوند؛ در واقع جایی که می توانند به Ethernet متصل شوند.
ارتباط سریالی (Serial Communication) نیز یکی دیگر از انواع اتصال با سیم بین دیوایس ها می باشد که از پروتکل های استانداردی مانند فرستنده و گیرنده های ناهمگام جهانی (UART) یا پروتکل شبکه کنترل محلی (CAN) استفاده کرده و به ویژه در صنایع خودروسازی کاربرد دارد.
مدیریت توان
مدیریت توان، نگرانی اصلی دیوایس های همراه و پوشیدنی و در کل آن دسته از دیوایس های اینترنت اشیاء است که بر پایه باتری و دیگر منابع تغذیه بدون سیم مانند پنل های انرژی خورشیدی کار می کنند.
بسته به الگو های مصرف و توان مورد نیاز سنسور ها، عملگرها، و مدارهای مجتمع (IC) درون دیوایس که برای جمع آوری، آنالیز، ذخیره ، اتصال و ارسال داده ها استفاده شده اند، یک قطعه ممکن است که نیاز باشد برای ذخیره نیرو و افزایش طول عمر باتری، به طور مرتب به حالت Low-Power و یا Sleep برود.
برای مثال در رایانه های تک برد مانند Raspberry Pi 3 ، جریان مورد نیاز برای استفاده معمول، در حدود 700 تا 1000 میلی آمپر خواهد بود. اگر بخواهید داده ها را برروی شبکه Wi-Fi انتقال دهید و یا پردازش های سنگینی را به قطعه محول کنید، توان مورد نیاز شما از حد اشاره شده ، بیشتر خواهد شد و دوباره پس از اتمام عملیات و کاهش بار دستگاه، توان مصرفی به مقدار استاندارد قبلی بازخواهد گشت؛
یا اگر یک دوربین کوچک را به برد خود متصل کنید، هنگام استفاده از دوربین، جریان کشی مورد نیاز در حدود 250 میلی آمپر افزایش خواهد یافت.
سنسور ها برای فعالیت، نیاز به توان دارند، و پین های GPIO برد منبع تغذیه 3.3 و یا 5 ولت Raspberry Pi شما، در حدود 50 میلی آمپر جریان را بین تمام پین ها برقرار خواهد کرد؛ بنابراین با اتصال اجزای بیشتری به پین ها، توان مصرفی کل شما نیز افزایش خواهد یافت.
انواع سخت افزار های در دسترس برای ساخت پیش نمونه پروژه اینترنت اشیاء شما
امروزه توسعه پروژه های اینترنت اشیاء ، به لطف گسترش طیف وسیعی از سخت افزار ها ، پلتفرم ها و برد ها و کیت های پیش ساخته تجاری و ارزان قیمت ، آسان تر از همیشه شده است. طراحی جزء به جزء سخت افزار ها، انعطاف پذیری فوق العاده ای را به وجود آورده است.
شما می توانید هر قسمت را به صورت مجزا تعویض کنید، از سنسور ها با ویژگی و خصوصیات مختلف استفاده کرده و یا حتی بخش های اتصال ، پردازش و یا ذخیره سازی دیوایس را ، برای فراهم آوردن شرایط مورد نیاز خود، به صورت مستقل به روز رسانی و تقویت کنید .
بسیاری از سخت افزار های تجاری موجود، مانند میکروکنترلر ها و رایانه های تک برد ، بر اساس تکنولوژی « سیستم روی تراشه » (System on Chip) مدارهای مجتمع طراحی می شوند؛ به این صورت قابلیت های متنوعی مانند پردازش داده، ذخیره سازی و قابلیت اتصال را تنها بر روی یک تراشه کوچک فراهم می کند.
استفاده از تراشه های آماده بدین معنی است که انعطاف پذیری و شخصی سازی را فدای راحتی خواهید کرد. خوشبختانه، تعداد بسیار بالایی از تراشه های مختلف با پیکربندی (Configuration) و مشخصات متفاوت وجود دارد که می توانید نوع مورد نیاز خود را از بینشان انتخاب کنید.
برای مثال ، در جدول 1 مشخصات فنی میکروکنترلر های مناسب برای استفاده در ساخت پیش نمونه های اینترنت اشیاء و در جدول 2 مقایسه ای بین سه نمونه از رایانه های تک برد ، آورده شده است.
برد میکروکنترلر Arduino
برد های توسعه میکروکنترلر
میکروکنترلرها سیستم های تراشه ای (SoC) هستند که امکان پردازش و ذخیره داده را فراهم می کنند. میکروکنترلر ها، شامل هسته پردازشگر، حافظه RAM و حافظه خواندنی-نوشتنی موقت (Erasable Programmable Read-Only Memory) یا EPROM ، برای ذخیره و اجرای برنامه های دلخواه هستند.
بردهای توسعه میکروکنترلر در واقع همان بردهای مدارچاپی (PCB) با مداربندی اضافی هستند که به میکروکنترلر کمک می کنند تا به آسانی با تراشه ها ساخته و برنامه ریزی شود.
سنسورها و عملگرها، توسط پین های ورودی / خروجی چند منظوره (General Purpose Input/Output) یا درگاه های سخت افزار، به میکروکنترلر متصل می شوند.
Arduino ، یک پلتفرم متن باز با یک جامعه فعال است که در حال ساخت برنامه های کاربردی و بردهای سازگارند. ویژگی دیوایس ها، بین مدل های اصلی Arduino تا ده ها برد سازگار دیگر، متنوع است.
همه گزینه های معرفی شده جدول 1 ، میکروکنترلر های سازگار با Arduino هستند؛
نسخه فراگیر Arduino Uno ،Particle’s Electron که شامل مودم یکپارچه سلولی و ESP8266-01 است، میکروکنترلر ارزان قیمت و کم توان برند Epressif System همراه با Wi-fi یکپارچه .
بردهای توسعه قابل توجهی که بر اساس ESP8266 هستند شامل موارد زیر می باشد :
NodeMCU ، WeMos D1 ، و Feather Huzzah از برند AdaFruit
تعدادی از میان افزارهای (Firmware) جایگزین پیشنهاد شده برای ESP8266 ، توسط جامعه فعال برنامه نویسان و به صورت متن باز توسعه داده شده است؛ و قابلیت بروزرسانی بی سیم (OTA) و همچنین برنامه نویسی برد ها با زبان های Lua، Python و یا JavaScript برای توسعه دهندگان اینترنت اشیاء فراهم شده است.
جدول 1 ) مشخصات فنی میکروکنترلر ها
قابلیت | ویژگی | Arduino Uno | Particle Electron | Espressif Systems ESP8266-01 |
---|---|---|---|---|
جمع آوری و کنترل داده ها | پین های GPIO | 6 Analog in 14 Digital – 6 PWM |
12 Analog in 2 Analog out 30 Digital – 15 PWM |
2 Digital 1 Analog |
تراز منطقی ولتاژ | 5 V | 3.3 V | 3.3 V | |
پردازش و ذخیره سازی داده ها | پردازنده | ATMega328PU | 32-bit STM32F205 | 32-bit Tensilica L106 |
سرعت پردازنده | 16 KHz | 120 MHz | 80 MHz | |
حافظه | 32 kB flash, 1 kB EEPROM |
1 Mb flash, 128 kB RAM |
1 Mb | |
اتصال | رابط کاربری شبکه | None by default. Can be added with shields. | Integrated cellular modem (2G / 3G) | Integrated wifi |
منبع تغذیه | منبع تغذیه پیشنهادی | 9-12V DC 0.5 – 2A barrel, or 5V 500mA USB or 9 – 12 V on VIN pin | 5V micro USB or 3.9V-12VDC on VIN pin | Regulated 3.3V 300mA supply on VCC pin |
دیگر موارد | ابعاد | 2.7 in X 2.1 in | 2.0 in x 0.8 in | 1.4 in x 1 in |
قیمت حدودی | $25 | $39 – $59 | $10 |
زبان استاندارد برای توسعه نرم افزاری میکروکنترلر ها Arduino ، C و یا C++ و Arduino IDE می باشد، گرچه زبان های دیگری نیز در برخی مدل ها قابل استفاده است.
برد های سازگار با Arduino که دارای پین های معمولی هستند می توانند با استفاده از قطعات اکسترنال ، مثلا برای افزودن Bluetooth و یا پورت Ethernet ، گسترش یابند.
Arduino پرکاربرد ترین میکروکنترلر برای توسعه پروژه های شخصی و حتی سرگرمی است اما نمونه های دیگری نیز در بازار موجود هستند ، مانند :
Tessel و Particle که از زبان JavaScript پشتیبانی می کنند و یا PyBoard و WeIO که بر مبنای Python طراحی شده اند.
استفاده از میکروکنترلر های Arduino و Arduino IDE و همچنین کتابخانه های آن، انتقال و توسعه برنامه ها را بر روی دیگر پلتفرم های مبتنی بر Arduino ساده تر می کند؛ هرچند تفاوت هایی نیز در حین کار با پلتفرم های مختلف وجود دارد. مثلا، Arduino Uno از منطق 5 ولتی ( 0 برای off و 5 برای on ) در پین های ورودی خروجی دیجیتال خود استفاده می کند، در حالی که برد های ESP8266 و Particle از منطق 3.3 ولتی استفاده می کنند که ممکن است بر انتخاب و طراحی سنسور ها یا عملگر های شما تأثیر بگذارد چرا که برخی سنسور ها یا عملگر ها تنها با یک نوع سیستم منطقی عمل می کنند.
برخی سنسور ها که تنها برای پین ها 5 ولت و یا 3.3 ولت طراحی شده اند، در صورت استفاده بر روی برد های نامناسب، می توانند موجب بروز نتایج غیرقابل پیش بینی و یا آسیب های جدی به پین های میکروکنترلر شوند. برای جلوگیری از این اتفاق می توانید از مبدل های تراز منطقی (Logical-level converter) استفاده کنید.
هنگامی که از ویژگی های سطح پایین سخت افزاری مانند فعال کردن حالت Deep Sleep و یا خواندن داده های سنسور های متصل با استفاده از پروتکل های خاص استفاده می کنید، باید از بر مبنای قطعه ی خود و استفاده از کتابخانه مخصوص آن کد بنویسید که این کار، امکان انتقال و استفاده دوباره (Portability) کد های شما را کاهش می دهد.
رایانه تک برد Raspberry Pi
رایانه های تک برد
رایانه های تک برد (SBC) نسبت به میکروکنترلر ها انتخاب بهتری هستند، زیرا که امکان اتصال تجهیزات جانبی مانند صفحه کلید، موس، صفحه نمایش و … را فراهم کرده و همچنین قدرت پردازش و حافظه بیشتری را فراهم می آورد.
(برای مثال، یک پردازنده 1.2 GHz 32 bit ARM در جدول 2 را با یک میکروکنترلر 8 bit 16 KHz از جدول 1 مقایسه کنید. )
در جدول 2 ، مقایسه مشخصات فنی سه نمونه از SBC ها ، Raspberry Pi 3 B و Beagle Bone Black و Dragon Board 410 c آورده شده است.
مرز بین میکروکنترلر ها و رایانه های تک برد خیلی مشخص نیست. در واقع برخی قطعات مانند Onion Omega 2 با قدرت پردازش و حافظه ای در حد SBC های ضعیف، جایی بین این دو گونه قرار می گیرد. همچنین برخی مدل های دوگانه
(Hybrid) نیز وجود دارد؛ برای مثال، UDOO Quad یک میکروکنترلر Arduino بر پایه سیستم عامل لینوکس است.
جدول 2 ) مشخصات فنی رایانه های تک برد
قابلیت | ویژگی | Raspberry Pi 3 Model B | BeagleBone Black | Qualcomm DragonBoard 410c |
---|---|---|---|---|
جمع آوری و کنترل داده ها | پین های GPIO | 40 I/O pins, including 29 Digital | 65 Digital – 8 PWM 7 Analog in |
12 Digital |
تراز منطقی ولتاژ | 3.3 V | 5 V | 1.8 V | |
پردازش و ذخیره سازی داده ها | پردازنده | ARM Cortex A53 | AM335X ARM Cortex A8 | ARM Cortex A53 |
سرعت پردازنده | 1.2GHz | 1 GHz | 1.2 GHz | |
حافظه | 1 Gb | 4 Gb | 1Gb, 8Gb Flash | |
اتصال | رابط کاربری شبکه | Wifi, Ethernet, Bluetooth | Ethernet, USB ports allow external wifi / Bluetooth adaptors |
Wifi, Bluetooth, GPS |
منبع تغذیه | منبع تغذیه پیشنهادی | 5V 2.5A micro USB port | 5V 1.2A – 2A barrel | 6.5 to 18V 2A barrel |
دیگر موارد | ابعاد | 3.4 in x 2.2 in | 3.4 in x 2.1 in | 3.3 in x 2.1 in |
قیمت حدودی | $35 | $55 | $75 |
همانند میکروکنترلر ها، قابلیت های قطعات SBC نیز با اتصال برد های افزودنی (مانند hats در Raspberry Pi و یا capes در Beagle Bone Black ) و یا ماژول های اکسترنال (مانند کنترل کننده های موتور و یا مبدل های آنالوگ به دیجیتال ) بیشتر می شود تا محدودیت های اولیه قطعه کاهش یابد.
بیشتر SBC ها مانند مینی کامپیوتر ها هستند و سیستم عامل (معمولا توزیع های مختلف لینوکس) دارند. در نتیجه امکانات نرم افزاری و سخت افزاری و همچنین امکان برنامه نویسی با زبان های بیشتری را نسبت به برد های میکروکنترلر، فراهم می کنند.
اگرچه راه اندازی SBC ها به نسبت میکروکنترلر ها ، پیچیده تر، اندازه شان بزرگتر، و دارای مصرف برق بیشتری هستند. ضمن آنکه معمولا نسبت به خطا هایی مانند از دست رفتن کارت SD و محل ذخیره برنامه ها، حساس تر اند.
انتخاب بین برد های توسعه میکروکنترلر ها و رایانه های تک برد
اگرچه استفاده از بردهای توسعه آماده میکروکنترلرها و یا رایانه های تک برد، درک کاملی از نحوه طراحی سخت افزاری یک پروژه اینترنت اشیاء نمی دهد، اما برای توسعه و پیش برد خود آموز ایده های شخصی بسیار مناسب است.
یکی از راه های آغاز کار، در نظر گرفتن ویژگی های اساسی دیوایس اینترنت اشیاء بر مبنای نیاز های کاربردی پروژه خودتان و تصمیم گیری درباره طراحی آن است :
– نوع و تعداد سنسور ها و قطعات اکسترنال مورد نیاز و همچنین طراحی تمام مدارات آنها را مشخص کنید.
– یک میکروکنترلر و یا رایانه تک برد برای کنترل و هماهنگی سنسورها و قطعات اکسترنال انتخاب کنید.
– یک پروتکل ارتباط داده ی مناسب برای ارتباط بین اجزای درونی قطعه انتخاب کنید. ( برای مثال، استفاده از پروتکل 12C برای ارتباط بین میکروکنترلر و سنسورهای متصل شده )
– سخت افزار شبکه و پروتکل های مناسبی برای ارتباط دیوایس با فضای ابری و دیگر برنامه های کاربردی انتخاب کنید.
برای مثال، برای آماده سازی یک سیستم خانگی خودکار، من Raspberry Pi Zero W را انتخاب می کنم زیرا کوچک و ارزان قیمت ( در حدود 10 دلار ! ) و در عین حال دارای قدرت پردازش بالا برای آنالیز و پردازش داده های مورد نیاز یک پروژه خانگی است( پردازنده ARM6 : 1GHz و 512 MB RAM ) .
همچنین دارای درگاه Flash Memory و کارت SD و قابلیت ارتقا رم تا 64 گیگابایت می باشد.
این مدل دارای 40 پین GPIO همانند Raspberry Pi 3 است که به آن اجازه می دهد از چندین سنسور استفاده کند؛ ضمن آنکه از هر دو پروتکل 12C و SPI نیز پشتیبانی می نماید و دارای برد Wi-Fi برای اتصال به شبکه خانگی نیز می باشد.
درگاه تأمین انرژی این مدل، Micro-USB است و می تواند همراه آداپتور با برق شهری و یا منبع تغذیه های همراه ، کار کند.
با پیشرفت مراحل ساخت پیش نمونه دیوایس اینترنت اشیاء و در مراحل مختلف کار، همواره می توانید هرکدام از نیاز های اساسی و یا غیر اساسی پروژه مانند کارایی ، پایداری و یا امنیت را بازنگری و در صورت لزوم تغییر نمایید.
نیاز های سخت افزاری اساسی برای توسعه پروژه اینترنت اشیاء
هرکدام از دیوایس های اینترنت اشیاء به گونه ای طراحی شده اند که در شرایط و محیط های خاصی کارایی دارند بنابراین سخت افزار های مورد نیاز برای یک پروژه اینترنت اشیاء گستردگی زیادی دارند.
در حین ساخت پیش نمونه خود، ممکن است که ابتدا از سخت افزار خاصی استفاده کنید ؛ با پیشبرد پروژه توسعه خود و طی مراحل پرتکرار طراحی و انتخاب سخت افزار های مورد نیاز، در نهایت می توانید خود به سمت طراحی و توسعه برد های مورد نیاز در پروژه اینترنت اشیاء خود با استفاده از بردهای مدار چاپی و دیگر اجزایی که کاملا مناسب نیازهایتان هستند، بروید.
به عنوان بخشی از این روند آموزشی رو به رشد، شما باید نیاز های سخت افزاری اساسی زیر را در انتخاب سخت افزار مناسب خود، در نظر داشته باشید :
امنیت
امنیت ، بحث بسیار مهمی در زمینه اینترنت اشیاء است و باید در همه قسمت های طراحی و توسعه پروژه، در نظر گرفته شود. حفظ امنیت و رعایت امانت داری در داده های دریافتی، حتی در حین ساخت پیش نمونه ، باید کاملا رعایت شود.
امنیت پروژه اینترنت اشیاء شامل بخش های امنیت دیوایس های استفاده شده، سطح امنیت و حفاظت شبکه ، امنیت فضای ابری و اپلیکیشن های مورد استفاده است.
موارد امنیتی مربوطه شامل موارد زیر است :
– اطمینان حاصل کنید که هر قطعه ، قدرت پردازش و ذخیره کافی برای کدگذاری و رمزگشایی پیام ها همگام با سرعت ارسال و دریافت داده ها را داشته باشد.
– اطمینان حاصل کنید که کتابخانه های نرم افزار های استفاده شده از تمام مکانیزم های اجازه دسترسی برای کسب اجازه دسترسی در برنامه ها و سرویس های دیگر، پشتیبانی می کند.
– دیوایس هایی را انتخاب کنید که برای جلوگیری از اتصال دستگاه های نا مطمئن، از پروتکل های امنیتی مدیریت دیوایس، برای اتصال امن دستگاه های جدید به شبکه پشتیبانی می کنند و همچنین دارای میان افزار هایی با قابلیت پشتیبانی از دریافت به روزرسانی ها امنیتی بی سیم می باشند.
توسعه آسان
هنگام ساخت پیش نمونه، سادگی طراحی و ساخت از اولویت های بالای پروژه باید باشد به این ترتیب شما می توانید به سرعت و آسانی دیوایس اینترنت اشیاء خود را راه اندازی، داده ها را جمع آوری و با دیگر قطعات یا فضای ابری به اشتراک بگذارید.
آمادگی، دسترسی و کیفیت رابط های نرم افزاری (API) ، سخت افزارهای مورد استفاده و پشتیبانی مناسب شرکت های سازنده قطعات را در نظر بگیرید. قطعات و سخت افزار هایی را انتخاب کنید که به سادگی قابل برنامه ریزی و همچنین با حداقل نیاز به پیکربندی اولیه باشند تا در مدت زمان توسعه پروژه اینترنت اشیاء خود صرفه جویی داشته باشید.
جمع آوری، پردازش و ذخیره داده ها
تعداد سنسور های متصل شده، دقت داده های دریافت شده و نرخ نمونه برداری داده ها (Data Sampling)، نیاز به پردازش و ذخیره داده ها را مشخص می کند.
میزان حجم داده ای که باید در دیوایس نگه داشته شود بستگی به تعداد دفعات اتصال قطعه به شبکه برای انتقال اطلاعات دارد. برای مثال، دیوایس های سیم دار اتصال دائم که در خانه های هوشمند استفاده می شوند و همواره داده های خام را به سرور ارسال می دارند، نیاز به قدرت پردازش و ذخیره اطلاعات کمتری نسبت به قطعه ای دارد که هربار حجم زیادی از داده ها را پردازش می کند؛
قطعه ای که برای ذخیره انرژی و مصرف کمتر، تنها هر چند ساعت یک بار برای ارسال داده ها به شبکه متصل می شود، نیاز به محل ذخیره سازی بیشتری نسبت به موارد پیشین دارد.
اتصال
برای ارتباط بی سیم، باید برد عملکرد یا مسافتی که سیگنال می تواند ارسال و دریافت شود و همچنین مقدار حجم و سرعت انتقال داده ها مشخص شود. دیوایس باید قابلیت اتصال و ارسال مجدد داده ها در صورت قطع اتصال ناگهانی و همچنین امکان Fault-Tolerance یا مقاومت در برابر خطا را نیز داشته باشد.
سخت افزار شما ممکن است شبکه اتصال یکپارچه مانند Bluetooth و یا Wi-Fi را داشته باشد و یا این امکان از طریق اتصال برد ها و یا ماژول های جدا، به دیوایس شما اضافه شود. ماژول های اکسترنال که قابلیت به روزرسانی دارند، می توانند امکان تعویض و آزمایش برد ها و قدرت های ماژول های مختلف در نتیجه انعطاف پذیری بیشتری به طراحی شما بدهند.
منبع تغذیه
بسیاری از نیاز های دیوایس، از جمله تعداد سنسورها و یا نرخ انتقال شبکه مورد نیاز، ارتباط مستقیم با طراحی و انتخاب منبع تغذیه مناسب دارد. باید در نظر بگیرید که منبع تغذیه دیوایس شما سیم دار است یا با از باتری کار می کند؟
اگر به باتری نیاز دارد، باید اندازه ، نوع، وزن و ظرفیت آن را مشخص کنید؛ همچنین آیا از باتری های قابل شارژ یا قابل تعویض استفاده می کنید و یا پس از اتمام باتری، دیوایس غیرقابل استفاده می شود؟
اگر از باتری شارژی استفاده می کنید، هر چند وقت نیاز به شارژ مجدد دارد ؟
طراحی فیزیکی
طراحی فیزیکی شامل طراحی ظاهر و اندازه مناسب برای دیوایس می شود. شرایط محیطی محل نصب و استفاده دیوایس نیز باید درنظر گرفته شود برای مثال آیا نیاز به حفاظ ضد ضربه دارد یا نیاز است که ضد آب ساخته شود؟
برای مثال، دیوایسی که در زیر یک کامیون برای کاربرد های کنترل سرعت، نصب می شود باید دارای حفاظ مقاومی باشد تا در شرایط خشن محیط قادر به ادامه کار باشد؛ همچنین نیاز است که ضد آب، ضربه، لرزش و گرد و غبار ساخته شود.
هزینه ها
هزینه های شما ، شامل پرداخت مبلغ اولیه برای سخت افزار مورد نیاز و اقلام همراه آن مانند سنسور ها خواهد بود؛ همچنین هزینه های جانبی مانند برق، نگهداری و یا تعویض قطعات فرسوده و قطعات خراب. همچنین ممکن است نیاز به خرید فعالسازی (Licensing) برخی درایور ها و برنامه های کاربردی دیگر باشد.
خرید بردهای توسعه و SBC های تجاری آماده و موجود در مراحل ابتدایی پروژه ، نسبت به طراحی دلخواه قسمت های مختلف سخت افزار ، برای شما به صرفه تر است.
جمع بندی
هیچ سخت افزاری به تنهایی تمام نیاز های یک پروژه اینترنت اشیاء را تأمین نمی کند. استفاده از سخت افزار های استاندارد و آماده ای مانند میکروکنترلر ها و رایانه های تک برد می تواند در مراحل ابتدایی ساخت پیش نمونه، موجب صرفه جویی در وقت و هزینه های شما ، بدون از دست دادن امکان انعطاف پذیری و شخصی سازی پروژه شود.
آنچه شما در مرحله ساخت پیش نمونه خود یاد می گیرید می تواند کمک بزرگی به شما در انتخاب حساس سخت افزار و طراحی های مورد نیاز در توسعه و ساخت پروژه های آتی شما باشد.
منبع: IBM
عالی بود خسته نباشید
سلامت باشید. سپاس از نظرتون.