Plates-formes

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

Consultez la page Rechercher des fournisseurs pour obtenir la liste des plates-formes et ports communautaires compatibles avec les fournisseurs.

Assistance

La compatibilité de chaque plate-forme au fil du temps varie. Certaines plates-formes sont marquées avec le niveau d'assistance actuel identifié par l'équipe OpenThread. Les plates-formes non marquées n'ont pas été testées récemment et peuvent être considérées comme bénéficiant d'une assistance limitée.

Niveau de compatibilitéDescription
Autorisé Assistance de base et complète, ainsi que tout composant certifié Thread qui utilise OpenThread. Nombre de ces plates-formes ont été testées et utilisées par l'équipe OpenThread, et leur utilisation est recommandée dans nos démonstrations et ateliers de programmation.
Assistance limitée Ces plates-formes n'ont pas été entièrement testées et peuvent ne pas comporter certaines fonctionnalités clés.
Non compatible Actuellement non disponible et peut rencontrer des problèmes pour exécuter OpenThread. L'utilisation de cette solution relève entièrement de votre responsabilité.

Architecture du système

Architecture système OT

OpenThread est conçu pour être portable et flexible. Le code est portable C/C++ (C99 et C++11), 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 s'exécuter sur solution Bare Metal ou sur un OS. À ce jour, il a été démontré qu'OpenThread s'exécutait 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 hooks pour l'utilisation de fonctionnalités avancées de radio et de cryptomonnaie, en réduisant la configuration système requise, comme les cycles de mémoire, de code et de calcul. Cela peut être effectué par plate-forme, tout en conservant la possibilité de passer par défaut à une configuration standard.

OpenThread dispose d'un système de compilation 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 plusieurs chaînes d'outils populaires comme IAR et Visual Studio.

Conception de plate-forme

OpenThread est compatible avec les conceptions système sur puce (SoC) et coprocesseur réseau (NCP).

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

Dans la conception NCP, la couche d'application s'exécute sur un processeur hôte et communique avec OpenThread via une connexion série à l'aide d'un protocole normalisé pour le contrôleur hôte, que nous appelons Spinel. Dans cette conception, OpenThread peut s'exécuter sur le processeur radio ou hôte.

Carte à puce unique (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 du SoC le plus couramment utilisée pour les appareils finaux. Puisqu'il est très intégré dans un seul silicium, il présente le coût le plus bas et la consommation d'énergie la plus faible.

SoC

Architecture OT pour SoC

Lorsqu'un SoC comporte plusieurs signaux radio, tels que 802.15.4 et Wi-Fi, ou 802.15.4 et Bluetooth à basse consommation (BLE), la couche d'application et OpenThread fonctionnent toujours sur le même processeur. Dans la conception de plusieurs interfaces, OpenThread exploite la pile IPv6 tierce partagée via une interface de datagramme IPv6 brute.

Modèles de co-processeurs

OpenThread est compatible avec les conceptions de co-processeurs de radiofréquence (RCP) et de co-processeur de réseau (NCP). Pour en savoir plus, consultez la page Conceptions de co-processeurs.

Problèmes liés à une plate-forme ouverte

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