OpenThread ที่เผยแพร่โดย Google ได้รับการพอร์ตไปยังอุปกรณ์และแพลตฟอร์มต่างๆโดยทีม OpenThread ผู้จำหน่ายซิลิคอนและชุมชน ตัวอย่างบิวด์สำหรับแพลตฟอร์มที่พอร์ตทั้งหมดรวมอยู่ในที่ เก็บ OpenThread
โปรดดูที่ Search Vendors สำหรับรายการที่ค้นหาได้ของแพลตฟอร์มและพอร์ตชุมชนที่สนับสนุนโดยผู้ขาย
สนับสนุน
การสนับสนุนสำหรับแต่ละแพลตฟอร์มจะแตกต่างกันไปตามช่วงเวลา บางแพลตฟอร์มจะติดแท็กด้วยระดับการสนับสนุนปัจจุบันตามที่ระบุโดยทีม OpenThread แพลตฟอร์มที่ไม่ได้ติดแท็กยังไม่ได้รับการทดสอบเมื่อเร็ว ๆ นี้และอาจได้รับการพิจารณาว่ามี "การสนับสนุนแบบ จำกัด "
ระดับการสนับสนุน | คำอธิบาย |
---|---|
![]() | การสนับสนุนพื้นฐานและเต็มรูปแบบรวมถึงส่วนประกอบที่ผ่านการรับรองเธรดที่ใช้ OpenThread แพลตฟอร์มเหล่านี้จำนวนมากได้รับการทดสอบและใช้งานโดยทีม OpenThread และแนะนำให้ใช้ในการสาธิตและ Codelabs ของเรา |
![]() | แพลตฟอร์มเหล่านี้ยังไม่ได้รับการทดสอบอย่างสมบูรณ์และอาจไม่มีฟังก์ชันหลักบางอย่าง |
![]() | ขณะนี้ยังไม่รองรับและอาจมีปัญหาในการเรียกใช้ OpenThread ใช้ความเสี่ยงของคุณเอง |
ระบบสถาปัตยกรรม

OpenThread ได้รับการออกแบบโดยคำนึงถึงความสะดวกในการพกพาและความยืดหยุ่น โค้ดนี้เป็น C / C ++ แบบพกพา (C99 และ C ++ 03) ซึ่งไม่เชื่อเรื่องพระเจ้าเกี่ยวกับสถาปัตยกรรมของระบบเนื่องจากเลเยอร์นามธรรมที่แคบ เลเยอร์นามธรรมนี้หมายความว่า OpenThread สามารถทำงานบน bare-metal หรือ OS จนถึงปัจจุบัน OpenThread ได้รับการสาธิตให้ทำงานบน FreeRTOS, RIOT-OS, Zephyr OS, Linux และ macOS
ลักษณะการพกพาของ OpenThread ทำให้ไม่มีข้อสันนิษฐานเกี่ยวกับคุณสมบัติของแพลตฟอร์ม OpenThread มี hooks เพื่อใช้ประโยชน์จากคุณสมบัติวิทยุและ crypto ที่ปรับปรุงแล้วลดความต้องการของระบบเช่นหน่วยความจำรหัสและรอบการคำนวณ ซึ่งสามารถทำได้ต่อแพลตฟอร์มในขณะที่ยังคงความสามารถในการกำหนดค่าเริ่มต้นเป็นการกำหนดค่ามาตรฐาน
OpenThread มีระบบบิลด์ที่กำหนดค่าได้ซึ่งผู้พัฒนาสามารถเปิดหรือปิดใช้งานคุณสมบัติต่างๆได้ตามต้องการ นอกเหนือจาก GNU toolchain เริ่มต้นแล้วซอร์สได้รับการออกแบบให้ทำงานร่วมกับ toolchains ยอดนิยมอื่น ๆ เช่น IAR และ Visual Studio
การออกแบบแพลตฟอร์ม
OpenThread รองรับทั้งการออกแบบระบบบนชิป (SoC) และตัวประมวลผลร่วมเครือข่าย (NCP)
SoC เป็นโซลูชันชิปตัวเดียวที่มี RFIC รวม (802.15.4 ในกรณีของเธรด) และตัวประมวลผลโดยที่ OpenThread และเลเยอร์แอปพลิเคชันทำงานบนโปรเซสเซอร์ภายใน
การออกแบบ NCP คือการที่เลเยอร์แอปพลิเคชันทำงานบนโปรเซสเซอร์โฮสต์และสื่อสารกับ OpenThread ผ่านการเชื่อมต่อแบบอนุกรมโดยใช้โปรโตคอลโฮสต์คอนโทรลเลอร์มาตรฐานที่เราเรียกว่า Spinel ในการออกแบบนี้ OpenThread สามารถทำงานบนโปรเซสเซอร์วิทยุหรือโฮสต์
ชิปตัวเดียวเธรดเท่านั้น (SoC)

ในการออกแบบนี้เลเยอร์แอปพลิเคชันและ OpenThread จะทำงานบนโปรเซสเซอร์เดียวกัน แอปพลิเคชันใช้ OpenThread APIs และ IPv6 stack โดยตรง
นี่คือการออกแบบ SoC ที่ใช้กันมากที่สุดสำหรับอุปกรณ์ปลายทาง เพราะมันเป็นอย่างบูรณาการเข้าไปในซิลิคอนเดียวก็มีค่าใช้จ่ายต่ำสุดและใช้พลังงานต่ำสุด
ชิปตัวเดียวหลายอินเทอร์เฟซ (SoC)

เมื่อ SoC มีวิทยุหลายเครื่องเช่น 802.15.4 และ Wi-Fi หรือ 802.15.4 และ Bluetooth Low Energy (BLE) เลเยอร์แอปพลิเคชันและ OpenThread จะยังคงทำงานบนโปรเซสเซอร์เดียวกัน ในการออกแบบหลายอินเทอร์เฟซ OpenThread ใช้ประโยชน์จากสแต็ก IPv6 ของบุคคลที่สามที่แชร์ผ่านอินเทอร์เฟซดาตาแกรม IPv6 แบบดิบ
ตัวประมวลผลร่วมเครือข่าย (NCP)

การออกแบบ NCP มาตรฐานมีคุณสมบัติเธรดบน SoC และรันเลเยอร์แอปพลิเคชันบนโปรเซสเซอร์โฮสต์ซึ่งโดยปกติแล้วจะมีความสามารถมากกว่า (แต่มีความต้องการพลังงานมากกว่า) มากกว่าอุปกรณ์ OpenThread โปรเซสเซอร์โฮสต์สื่อสารกับอุปกรณ์ OpenThread ผ่านอินเทอร์เฟซแบบอนุกรม (โดยทั่วไปคือ SPI หรือ UART) ผ่านโปรโตคอล Spinel
ข้อดีของการออกแบบนี้คือโฮสต์ที่มีกำลังสูงกว่าสามารถสลีปได้ในขณะที่อุปกรณ์ OpenThread ที่ใช้พลังงานต่ำยังคงทำงานอยู่เพื่อรักษาตำแหน่งในเครือข่ายเธรด และเนื่องจาก SoC ไม่ได้เชื่อมโยงกับเลเยอร์แอปพลิเคชันการพัฒนาและการทดสอบแอปพลิเคชันจึงไม่ขึ้นอยู่กับรุ่น OpenThread
การออกแบบนี้มีประโยชน์สำหรับอุปกรณ์เกตเวย์หรืออุปกรณ์ที่ต้องการการประมวลผลอื่น ๆ เช่นกล้อง IP และลำโพง
วิทยุร่วมโปรเซสเซอร์ (RCP)

นี่เป็นรูปแบบหนึ่งของการออกแบบ NCP ที่แกนหลักของ OpenThread อาศัยอยู่บนโปรเซสเซอร์โฮสต์โดยมี "คอนโทรลเลอร์" ชั้น MAC ขั้นต่ำเพียงอย่างเดียวบนอุปกรณ์ที่มีวิทยุ Thread โดยทั่วไปแล้วโฮสต์โปรเซสเซอร์จะไม่สลีปในการออกแบบนี้ส่วนหนึ่งเพื่อให้มั่นใจถึงความน่าเชื่อถือของเครือข่ายเธรด
ข้อดีคือ OpenThread สามารถใช้ทรัพยากรบนโปรเซสเซอร์ที่ทรงพลังกว่า
การออกแบบนี้มีประโยชน์สำหรับอุปกรณ์ที่มีความไวต่อข้อ จำกัด ด้านพลังงานน้อยกว่า ตัวอย่างเช่นโฮสต์โปรเซสเซอร์ในกล้องวิดีโอจะเปิดใช้งานเพื่อประมวลผลวิดีโออยู่เสมอ
เปิดประเด็นเกี่ยวกับแพลตฟอร์ม
ขณะนี้ปัญหาต่อไปนี้เปิดอยู่สำหรับแพลตฟอร์ม OpenThread: