Google is committed to advancing racial equity for Black communities. See how.
Cette page a été traduite par l'API Cloud Translation.
Switch to English

Plateformes

OpenThread publié par Google a été porté sur plusieurs appareils et plates-formes par l'équipe d'OpenThread, les fournisseurs de silicium et la communauté. Des exemples de construction pour toutes les plates-formes portées sont inclus dans le référentiel OpenThread .

Voir Rechercher des fournisseurs pour une liste consultable de toutes les plates-formes et ports de communauté pris en charge par les fournisseurs.

Soutien

La prise en charge de chaque plate-forme varie au fil du temps. Certaines plates-formes sont étiquetées avec le niveau de support actuel tel qu'identifié par l'équipe OpenThread. Les plates-formes non étiquetées n'ont pas été testées récemment et peuvent être considérées comme ayant un «support limité».

Niveau d'assistance La description
Prise en charge Support complet et basique, ainsi que tout composant certifié Thread qui utilise OpenThread. Beaucoup de ces plates-formes ont été testées et utilisées par l'équipe d'OpenThread et sont recommandées pour une utilisation dans nos démos et nos Codelabs.
Assistance limitée Ces plates-formes n'ont pas été entièrement testées et peuvent manquer certaines fonctionnalités clés.
Non supporté Non pris en charge actuellement et peut avoir des problèmes lors de l'exécution d'OpenThread. À utiliser à vos risques et périls.

Architecture du système

Architecture du système OT

OpenThread est conçu avec la portabilité et la flexibilité à l'esprit. Le code est portable C / C ++ (C99 et C ++ 03) qui est indépendant de l'architecture du système en raison d'une couche d'abstraction étroite. Cette couche d'abstraction signifie qu'OpenThread peut fonctionner sur du métal nu ou sur un système d'exploitation. À ce jour, il a été démontré qu'OpenThread fonctionne sur FreeRTOS, RIOT-OS, Zephyr OS, Linux et macOS.

La nature portable d'OpenThread ne fait aucune hypothèse sur les fonctionnalités de la plate-forme. OpenThread fournit les crochets pour utiliser des fonctionnalités radio et cryptographiques améliorées, réduisant les exigences système, telles que la mémoire, le code et les cycles de calcul. Cela peut être fait par plate-forme, tout en conservant la possibilité de choisir par défaut une configuration standard.

OpenThread dispose d'un système de construction configurable avec lequel un développeur peut activer ou désactiver des fonctionnalités selon ses besoins. Au-delà de la chaîne d'outils GNU par défaut, la source est conçue pour fonctionner avec un certain nombre d'autres chaînes d'outils populaires telles que IAR et Visual Studio.

Conceptions de plate-forme

OpenThread prend en charge les conceptions de système sur puce (SoC) et de coprocesseur réseau (NCP).

Un SoC est une solution à puce unique qui combine la RFIC (802.15.4 dans le cas de Thread) et le processeur, où OpenThread et la couche application s'exécutent sur le processeur local.

Une conception NCP est l'endroit où la couche application s'exécute sur un processeur hôte et communique avec OpenThread via une connexion série en utilisant un protocole de contrôleur hôte standardisé que nous appelons Spinel . Dans cette conception, OpenThread peut fonctionner sur le processeur radio ou hôte.

Puce unique, à filetage uniquement (SoC)

Architecture SoC OT

Dans cette conception, la couche d'application et OpenThread s'exécutent sur le même processeur. L'application utilise directement les API OpenThread et la pile IPv6.

Il s'agit de la conception SoC la plus couramment utilisée pour les appareils finaux. Parce qu'il est hautement intégré dans un seul silicium, il a le coût le plus bas et la plus faible consommation d'énergie.

Puce unique, interface multiple (SoC)

Architecture SoC multiple OT

Lorsqu'un SoC a plusieurs radios, telles que 802.15.4 et Wi-Fi, ou 802.15.4 et Bluetooth Low Energy (BLE), la couche application et OpenThread fonctionnent toujours sur le même processeur. Dans la conception à interfaces multiples, OpenThread exploite la pile IPv6 tierce partagée via une interface de datagramme IPv6 brute.

Coprocesseur réseau (NCP)

Architecture OT NCP

La conception NCP standard a des fonctionnalités Thread sur le SoC et exécute la couche d'application sur un processeur hôte, qui est généralement plus capable (mais a des demandes de puissance plus importantes) que le périphérique OpenThread. Le processeur hôte communique avec le périphérique OpenThread via une interface série (généralement SPI ou UART) via le protocole Spinel.

L'avantage de cette conception est que l'hôte à plus forte puissance peut dormir tandis que le périphérique OpenThread de faible puissance reste actif pour conserver sa place dans le réseau Thread. Et comme le SoC n'est pas lié à la couche application, le développement et le test des applications sont indépendants de la construction d'OpenThread.

Cette conception est utile pour les périphériques de passerelle ou les périphériques qui ont d'autres demandes de traitement telles que les caméras IP et les haut-parleurs.

Co-processeur radio (RCP)

Architecture OT RCP

Il s'agit d'une variante de la conception NCP où le cœur d'OpenThread réside sur le processeur hôte avec seulement un "contrôleur" de couche MAC minimal sur le périphérique avec la radio Thread. Le processeur hôte ne dort généralement pas dans cette conception, en partie pour garantir la fiabilité du réseau Thread.

L'avantage ici est qu'OpenThread peut utiliser les ressources du processeur le plus puissant.

Cette conception est utile pour les appareils moins sensibles aux contraintes de puissance. Par exemple, le processeur hôte d'une caméra vidéo est toujours activé pour traiter la vidéo.

Problèmes de plateforme ouverte

Les problèmes suivants sont actuellement ouverts pour les plates-formes OpenThread: