Contiki چیست؟
Contiki یک سیستم عامل IoT است که که به طور خاص برای دستگاههای IoT دارای محدودیت حافظه، توان،پهنای باند و قدرت پردازشی طراحی شده است. این سیستم عامل از یک طراحی مینیمال به همراه ابزار متداول سیستم عاملهای مدرن بهره میبرد و عملکردی برای مدیریت برنامه ها، فرآیندها، منابع، حافظه و ارتباطات ارائه میکند.
Contiki محبوبیت خود را مدیون سبک بودن (براساس استانداردهای مدرن) , پخته بودن و انعطاف پذیر بودن است.
بسیاری از مدارس، محققان سازمان ها و حرفهایها از آن به عنوان سیستم عاملی که باید به آن کوچ کرد یاد میکنند. Contiki تنها چند کیلوبایت برای اجرا شدن نیاز دارد و در فضایی در حدود 30کیلوبایت تمامی سیستم عامل خود را جای میدهد -یک مرورگر وب، سرور وب، ماشین حساب، پوسته، کلاینت تلنت، کلاینت ایمیل، بازدیدکننده vnc و ftp . این سیستم از سیستم عاملها و شیوههای توسعه دهندههای قبل بهره میگیرد که به راحتی امکان جای گیری در فضای کوچک را داشتند.
ارتباطات Contiki
Contiki از پروتکلهای استاندارد و پروتکلهای قدرتمند اخیر برای IoT پشتیبانی میکند:
- uIP (برای IPv4) – این پیادهسازی TCP/IP میکروکنترلرهای 8 و 16 بیتی را پشتیبانی میکند.
- uIPv6(برای IPv6)_یک افزونه IPv6 برای uIP کاملا سازگار.
- Rime این پشته جایگزین راهحلی برای وقتی که IPv4 یا IPv6 در دسترس نیستند ارائه میکند. Rime یک سری ابزار ابتدایی برای سیستمهای کم مصرف نیز ارائه میکند.
- 6LoWPAN این نام مخفف IPv6 بر روی شبکههای محلی بیسیم شخصی میباشد. این سیستم از تکنولوژی فشرده سازی بهره میبرد تا از نرخ انتقال داده بیسیم پایین موردنیاز دستگاههای با منابع محدود پشتیبانی کند.
- RPL این پروتکل IPv6 بردار فاصلهای برای LLNها (low-power and lossy networks) امکان پیدا شدن بهترین راه ممکن را در یک شبکه پیچیده از دستگاهها با ظرفیتهای مختلف فراهم میکند.
- CoAP این پروتکل از ارتباطات برای دستگاههای ساده، به طور معمول دستگاههای نیازمند نظارت از راه دور شدید پشتیبانی میکند.
بارگیری ماژول دینامیک
بارگیری ماژول دینامیک و ارتباط در زمان اجرا از محیطهایی که در آنها رفتار برنامه بعد از بکارگیری تغییر میکند پشتیبانی میکند. بارگذار ماژول Contiki فایلهای ELF را بارگذاری میکند، جابجا میکند و آنها را به هم ارتباط میدهد.
شبیهساز شبکه Cooja
Cooja، شبیهساز نتورک Contiki یک سیستم کامپایل شده و سالم Contiki که توسط Cooja کنترل میشود را شبیهسازی میکند.
استفاده از Cooja ساده است. به سادگی یک mote جدید با انتخاب از منوی mote ها ایجاد کنید. در پنجرهایی که پدیدار میشود نامی برای آن انتخاب کنید، فرمور آن را تعیین کنید و کامپایل شدن آن را تست کنید.
بعد از ساختن آن،mote ها را با زدن دکمه create اضافه کنید. یک mote type جدید ظاهر خواهد شد که میتوانید به آن گرهها را متصل کنید. گام آخر نیز ذخیره سازی فایل شبیه سازیتان است تا بتوانید در آینده از آن استفاده کنید.
دیگر سیستم عاملهای IoT
علاوه بر سیستم عامل Contiki و سیستم عامل اندروید که ورژن شخصی سازی شده آن را میتوان برای سیستمهای اینترنت اشیا استفاده کرد. اکثر این سیستم عاملها بر مبنای لینوکس هستن و توزیعهای لینوکس محبوب تر هستن.
- FreeRTOS
- RIOT
- Google’s Brillo
- Yocto project
- TinyOS
- Contiki
- Windows Embedded
- mbedOS
- Zephyr project
- WindRiver Rocket
امیدوارم که به طور کلی با سیستم عاملهای مورد استفاده در اینترنت اشیا آشنا شده باشید و در صورت لزوم هر کدام را برایتان توضیح بیشتر خواهیم داد.
منبع: میکرودیزاینرالکترونیک