Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기

플랫폼

Google에서 출시한 OpenThread는 OpenThread 팀, 실리콘 공급업체 및 커뮤니티에 의해 여러 장치 및 플랫폼으로 이식되었습니다. 모든 포팅 플랫폼 빌드 예는 포함되어 OpenThread 저장소 .

페이지의 검색 납품업자 모든 공급 업체 지원 플랫폼 및 지역 사회 포트의 검색 목록.

지원하다

각 플랫폼에 대한 지원은 시간이 지남에 따라 다릅니다. 일부 플랫폼에는 OpenThread 팀이 식별한 현재 지원 수준으로 태그가 지정됩니다. 태그가 지정되지 않은 플랫폼은 최근에 테스트되지 않았으며 "제한된 지원"이 있는 것으로 간주될 수 있습니다.

지원 수준 설명
지원 OpenThread를 사용하는 모든 스레드 인증 구성 요소뿐만 아니라 전체 및 기본 지원. 이러한 플랫폼 중 다수는 OpenThread 팀에서 테스트 및 사용되었으며 데모 및 Codelab에서 사용하도록 권장됩니다.
제한된 지원 이러한 플랫폼은 완전히 테스트되지 않았으며 일부 주요 기능이 누락되었을 수 있습니다.
지원되지 않음 현재 지원되지 않으며 OpenThread를 실행하는 데 문제가 있을 수 있습니다. 자신의 책임하에 사용하십시오.

시스템 구조

OT 시스템 아키텍처

OpenThread는 이식성과 유연성을 염두에 두고 설계되었습니다. 이 코드는 좁은 추상화 계층으로 인해 시스템 아키텍처에 구애받지 않는 이식 가능한 C/C++(C99 및 C++03)입니다. 이 추상화 계층은 OpenThread가 베어 메탈 또는 OS에서 실행될 수 있음을 의미합니다. 현재까지 OpenThread는 FreeRTOS, RIOT-OS, Zephyr OS, Linux 및 macOS에서 실행되는 것으로 입증되었습니다.

OpenThread의 이식성은 플랫폼 기능에 대해 가정하지 않습니다. OpenThread는 향상된 라디오 및 암호화 기능을 활용하는 후크를 제공하여 메모리, 코드 및 컴퓨팅 주기와 같은 시스템 요구 사항을 줄입니다. 이는 표준 구성으로 기본 설정하는 기능을 유지하면서 플랫폼별로 수행할 수 있습니다.

OpenThread에는 개발자가 필요에 따라 기능을 활성화하거나 비활성화할 수 있는 구성 가능한 빌드 시스템이 있습니다. 기본 GNU 도구 체인 외에도 소스는 IAR 및 Visual Studio와 같은 다른 인기 있는 도구 체인과 함께 작동하도록 설계되었습니다.

플랫폼 디자인

OpenThread는 SoC(System-on-Chip) 및 NCP(Network Co-Processor) 설계를 모두 지원합니다.

SoC는 RFIC(Thread의 경우 802.15.4)와 프로세서가 결합된 단일 칩 솔루션으로, OpenThread와 애플리케이션 계층이 로컬 프로세서에서 실행됩니다.

표준화 된 호스트 제어기 프로토콜을 사용하는 직렬 연결을 통해 OpenThread와 호스트 프로세서와 통신하는 응용 프로그램의 실행 층 우리 전화 여기서 NCP 디자인은 스피넬 . 이 설계에서 OpenThread는 라디오 또는 호스트 프로세서에서 실행할 수 있습니다.

단일 칩, 스레드 전용(SoC)

OT SoC 아키텍처

이 디자인에서 애플리케이션 계층과 OpenThread는 동일한 프로세서에서 실행됩니다. 애플리케이션은 OpenThread API 및 IPv6 스택을 직접 사용합니다.

이것은 최종 장치에 가장 일반적으로 사용되는 SoC 설계입니다. 단일 실리콘에 고도로 집적되어 있어 비용과 전력 소모가 가장 적습니다.

단일 칩, 다중 인터페이스(SoC)

OT 다중 SoC 아키텍처

SoC에 802.15.4 및 Wi-Fi 또는 802.15.4 및 BLE(Bluetooth Low Energy)와 같은 여러 무선 장치가 있는 경우 애플리케이션 계층과 OpenThread는 여전히 동일한 프로세서에서 실행됩니다. 다중 인터페이스 설계에서 OpenThread는 원시 IPv6 데이터그램 인터페이스를 통해 공유된 타사 IPv6 스택을 활용합니다.

네트워크 코프로세서(NCP)

OT NCP 아키텍처

표준 NCP 설계는 SoC에 스레드 기능이 있고 호스트 프로세서에서 응용 프로그램 계층을 실행합니다. 호스트 프로세서는 일반적으로 OpenThread 장치보다 성능이 더 높지만 전력 요구량이 더 큽니다. 호스트 프로세서는 Spinel 프로토콜을 통해 직렬 인터페이스(일반적으로 SPI 또는 UART)를 통해 OpenThread 장치와 통신합니다.

이 설계의 이점은 저전력 OpenThread 장치가 스레드 네트워크에서 해당 위치를 유지하기 위해 활성 상태를 유지하는 동안 고전력 호스트가 절전 모드일 수 있다는 것입니다. 그리고 SoC는 애플리케이션 계층에 묶여 있지 않기 때문에 애플리케이션 개발 및 테스트는 OpenThread 빌드와 무관합니다.

이 디자인은 게이트웨이 장치 또는 IP 카메라 및 스피커와 같은 다른 처리 요구 사항이 있는 장치에 유용합니다.

무선 보조 프로세서(RCP)

OT RCP 아키텍처

이것은 OpenThread의 코어가 Thread 라디오가 있는 장치에 최소 MAC 계층 "컨트롤러"만 있는 호스트 프로세서에 있는 NCP 설계의 변형입니다. 호스트 프로세서는 일반적으로 부분적으로 스레드 네트워크의 안정성을 보장하기 위해 이 설계에서 잠자기 상태가 아닙니다.

여기서 장점은 OpenThread가 더 강력한 프로세서의 리소스를 활용할 수 있다는 것입니다.

이 설계는 전력 제약에 덜 민감한 장치에 유용합니다. 예를 들어, 비디오 카메라의 호스트 프로세서는 비디오를 처리하기 위해 항상 켜져 있습니다.

오픈 플랫폼 문제

다음 문제는 현재 OpenThread 플랫폼에 대해 열려 있습니다.