بستر، زمینه

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

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

حمایت کردن

پشتیبانی از هر پلتفرم در طول زمان متفاوت است. برخی از پلتفرم ها با سطح پشتیبانی فعلی که توسط تیم OpenThread شناسایی شده است برچسب گذاری شده اند. پلتفرم های بدون برچسب اخیراً آزمایش نشده اند و ممکن است به عنوان دارای "پشتیبانی محدود" در نظر گرفته شوند.

سطح پشتیبانی شرح
پشتیبانی پشتیبانی کامل و اساسی، و همچنین هر مؤلفه تأیید شده Thread که از OpenThread استفاده می کند. بسیاری از این پلتفرم‌ها توسط تیم OpenThread آزمایش و استفاده شده‌اند و برای استفاده در دموها و Codelabs ما توصیه می‌شوند.
پشتیبانی محدود این پلتفرم ها به طور کامل آزمایش نشده اند و ممکن است برخی از عملکردهای کلیدی خود را از دست بدهند.
پشتیبانی نشده در حال حاضر پشتیبانی نمی شود و ممکن است مشکلاتی در اجرای OpenThread داشته باشد. با مسئولیت خود استفاده کنید.

معماری سیستم

معماری سیستم OT

OpenThread با در نظر گرفتن قابلیت حمل و انعطاف پذیری طراحی شده است. کد قابل حمل C/C++ (C99 و C++11) است که به دلیل یک لایه انتزاعی باریک، معماری سیستم را آگنوستیک می کند. این لایه انتزاعی به این معنی است که OpenThread می تواند بر روی فلز برهنه یا سیستم عامل اجرا شود. تا به امروز، OpenThread بر روی FreeRTOS، RIOT-OS، Zephyr OS، Linux و macOS اجرا می‌شود.

ماهیت قابل حمل OpenThread هیچ فرضی در مورد ویژگی های پلتفرم نمی کند. OpenThread قلاب هایی را برای استفاده از ویژگی های رادیویی و رمزنگاری پیشرفته، کاهش نیازهای سیستم، مانند حافظه، کد و چرخه های محاسباتی، فراهم می کند. این را می توان در هر پلتفرم انجام داد، در حالی که توانایی پیش فرض را در یک پیکربندی استاندارد حفظ کرد.

OpenThread دارای یک سیستم ساخت قابل تنظیم است که با آن یک توسعه دهنده می تواند ویژگی ها را در صورت نیاز فعال یا غیرفعال کند. فراتر از زنجیره ابزار پیش فرض گنو، منبع برای کار با تعدادی دیگر از زنجیره های ابزار محبوب مانند IAR و Visual Studio طراحی شده است.

طرح های پلت فرم

OpenThread از هر دو طراحی سیستم روی تراشه (SoC) و شبکه کمک پردازنده (NCP) پشتیبانی می کند.

SoC یک راه حل تک تراشه ای است که دارای RFIC (802.15.4 در مورد Thread) و پردازنده است که در آن OpenThread و لایه برنامه روی پردازنده محلی اجرا می شوند.

طراحی NCP جایی است که لایه برنامه روی یک پردازنده میزبان اجرا می شود و از طریق یک اتصال سریال با استفاده از یک پروتکل استاندارد کنترل کننده میزبان که ما اسپینل می نامیم با OpenThread ارتباط برقرار می کند. در این طراحی، OpenThread می تواند بر روی رادیو یا پردازنده میزبان اجرا شود.

تک تراشه، فقط رشته (SoC)

معماری OT SoC

در این طرح لایه اپلیکیشن و OpenThread روی یک پردازنده اجرا می شوند. این برنامه مستقیماً از APIهای OpenThread و پشته IPv6 استفاده می کند.

این طراحی SoC است که بیشتر برای دستگاه های پایانی استفاده می شود. از آنجایی که به شدت در یک سیلیکون ادغام شده است، کمترین هزینه و کمترین مصرف انرژی را دارد.

تک تراشه، چند رابط (SoC)

OT Multiple SoC Architecture

هنگامی که یک SoC دارای چندین رادیو، مانند 802.15.4 و Wi-Fi، یا 802.15.4 و بلوتوث کم انرژی (BLE) باشد، لایه برنامه و OpenThread همچنان بر روی یک پردازنده اجرا می شوند. در طراحی چند رابط، OpenThread از پشته IPv6 شخص ثالث مشترک از طریق یک رابط داده گرام IPv6 خام استفاده می کند.

طراحی های پردازنده مشترک

OpenThread از طراحی های رادیویی Co-Processor (RCP) و Network Co-Processor (NCP) پشتیبانی می کند. برای اطلاعات بیشتر، به Co-Processor Designs مراجعه کنید.

مسائل پلت فرم را باز کنید

مشکلات زیر در حال حاضر برای پلتفرم های OpenThread باز هستند: