OpenThread ที่ Google เปิดตัวนั้นได้รับการย้ายข้อมูลไปยังอุปกรณ์และแพลตฟอร์มต่างๆ มากมายโดยทีม OpenThread, ผู้ให้บริการ Silicon และชุมชน ตัวอย่างบิลด์สำหรับแพลตฟอร์มที่ย้ายทั้งหมดจะรวมอยู่ในที่เก็บ OpenThread
โปรดดูที่ผู้ให้บริการการค้นหาสำหรับรายชื่อแพลตฟอร์มที่รองรับผู้ให้บริการและพอร์ตชุมชนทั้งหมดที่ค้นหาได้
การสนับสนุน
การรองรับแต่ละแพลตฟอร์มจะแตกต่างกันไปเมื่อเวลาผ่านไป บางแพลตฟอร์มมีการติดแท็กด้วยระดับการสนับสนุนปัจจุบันตามที่ระบุโดยทีม OpenThread แพลตฟอร์มที่ไม่ได้ติดแท็กยังไม่ได้รับการทดสอบเมื่อเร็วๆ นี้และอาจได้รับการพิจารณาว่ามี "การรองรับอย่างจำกัด"
ระดับการซัพพอร์ต | คำอธิบาย |
---|---|
การสนับสนุนขั้นพื้นฐานและเต็มรูปแบบ รวมถึงคอมโพเนนต์ที่ได้รับการรับรองเทรดที่ใช้ OpenThread แพลตฟอร์มเหล่านี้ได้รับการทดสอบและใช้งานโดยทีม OpenThread และแนะนำให้ใช้ในการสาธิตและ Codelab | |
แพลตฟอร์มเหล่านี้ยังไม่ได้รับการทดสอบอย่างสมบูรณ์และอาจไม่มีฟังก์ชันการทำงานหลักบางอย่าง | |
ยังไม่รองรับในขณะนี้และอาจพบปัญหาในการเรียกใช้ OpenThread คุณต้องรับความเสี่ยงของการใช้งานเอง |
สถาปัตยกรรมระบบ
OpenThread ออกแบบมาโดยคำนึงถึงความสามารถในการพกพาและความยืดหยุ่น โค้ดเป็นแบบ C/C++ (C99 และ C++11) แบบพกพาได้ ซึ่งไม่เข้ากันกับสถาปัตยกรรมของระบบเนื่องจากมีชั้นแอบสแตรกต์ที่แคบ เลเยอร์ Abstraction นี้ทำให้ OpenThread สามารถทำงานบนโลหะเปล่าหรือระบบปฏิบัติการได้ จนถึงปัจจุบัน OpenThread ได้เปิดให้ใช้งานบน FreeRTOS, RIOT-OS, Zephyr OS, Linux และ macOS
ลักษณะการพกพาของ OpenThread ทำให้ไม่มีข้อสันนิษฐานเกี่ยวกับฟีเจอร์ต่างๆ ของแพลตฟอร์ม OpenThread มีฮุกในการใช้ประโยชน์จากฟีเจอร์วิทยุและคริปโตที่ปรับปรุงใหม่ ซึ่งช่วยลดข้อกำหนดของระบบ เช่น หน่วยความจำ โค้ด และรอบการประมวลผล สามารถดำเนินการนี้ได้ในแต่ละแพลตฟอร์ม แต่ยังคงความสามารถในการกำหนดค่าเริ่มต้นแบบมาตรฐานได้
OpenThread มีระบบบิลด์ที่กำหนดค่าได้ซึ่งนักพัฒนาซอฟต์แวร์จะเปิดหรือปิดใช้ฟีเจอร์ได้ตามต้องการ นอกเหนือจากห่วงโซ่เครื่องมือ GNU เริ่มต้นแล้ว ซอร์สยังมีการออกแบบให้ทำงานร่วมกับชุดเครื่องมือยอดนิยมอื่นๆ อีกจำนวนมาก เช่น IAR และ Visual Studio
การออกแบบแพลตฟอร์ม
OpenThread รองรับทั้งการออกแบบระบบบนชิป (SoC) และการออกแบบโปรเซสเซอร์ร่วมของเครือข่าย (NCP)
SoC เป็นโซลูชันแบบชิปเดียวที่มี RFIC (802.15.4 ในกรณีของเทรด) ร่วมกับโปรเซสเซอร์ โดย OpenThread และเลเยอร์ของแอปพลิเคชันจะทำงานบนตัวประมวลผลภายใน
การออกแบบ NCP เป็นที่ที่เลเยอร์ของแอปพลิเคชันจะทำงานบนโปรเซสเซอร์ของโฮสต์ และสื่อสารกับ OpenThread ผ่านการเชื่อมต่อแบบอนุกรมโดยใช้โปรโตคอลตัวควบคุมโฮสต์ที่ได้มาตรฐานซึ่งเราเรียกว่า Spinel ในการออกแบบนี้ OpenThread สามารถทำงานบนตัวประมวลผลวิทยุหรือโฮสต์ได้
ชิปเดียว เทรดเท่านั้น (SoC)
ในการออกแบบนี้ เลเยอร์ของแอปพลิเคชันและ OpenThread จะทำงานบนตัวประมวลผลเดียวกัน แอปพลิเคชันจะใช้ OpenThread API และสแต็ก IPv6 โดยตรง
นี่คือการออกแบบ SoC ที่นิยมใช้สำหรับอุปกรณ์ปลายทางมากที่สุด เพราะมีการผสานรวมอย่างยืดหยุ่นลงในซิลิคอนเดี่ยว จึงมีต้นทุนต่ำสุดและใช้พลังงานน้อยที่สุด
ชิปเดียว หลายอินเทอร์เฟซ (SoC)
เมื่อ SoC มีสัญญาณวิทยุหลายตัว เช่น 802.15.4 และ Wi-Fi หรือ 802.15.4 และบลูทูธพลังงานต่ำ (BLE) เลเยอร์ของแอปพลิเคชันและ OpenThread จะยังคงทำงานบนโปรเซสเซอร์เดียวกัน ในการออกแบบอินเทอร์เฟซหลายส่วน OpenThread ใช้ประโยชน์จากสแต็ก IPv6 ของบุคคลที่สามที่แชร์ผ่านอินเทอร์เฟซ IPv6 Datagram ดิบ
การออกแบบโปรเซสเซอร์ร่วม
OpenThread รองรับการออกแบบโปรเซสเซอร์ร่วมวิทยุ (RCP) และผู้ประมวลผลข้อมูลร่วมเครือข่าย (NCP) ดูข้อมูลเพิ่มเติมได้ที่การออกแบบผู้ประมวลผลข้อมูลร่วม
ปัญหาเกี่ยวกับแพลตฟอร์มแบบเปิด
ปัจจุบันปัญหาต่อไปนี้เปิดอยู่สำหรับแพลตฟอร์ม OpenThread