Die Portierung des OpenThread-Stacks auf eine neue Hardwareplattform umfasst nur wenige Schritte:
- Build-Umgebung einrichten
- CMake-Regeln definieren
- APIs der Plattformabstraktionsschicht implementieren
- Erweiterte Funktionen implementieren (Hardware Abstraction Layer)
- Port prüfen
- Zertifizierung und README
Anforderungen an die Hardwareplattform
Für OpenThread sind die folgenden Plattformdienste erforderlich:
- IEEE 802.15.4-2006 für Thread 1.1
2,4-GHz-Funkschnittstelle
- IEEE 802.15.4-Frames senden und empfangen
- IEEE 802.15.4-Bestätigungsframes generieren
- RSSI-Messwerte (Received Signal Strength Indicator) für empfangene Frames bereitstellen
- IEEE 802.15.4-2015 für Thread 1.2 und höher
- IEEE 802.15.4-2015-Frames mit Header-IEs oder Nutzlast-IEs senden und empfangen
- Enh-Ack-Frames generieren
- Ein freilaufender Timer mit Wecker und Millisekundenauflösung
- Nichtflüchtiger Speicher zum Speichern von Netzwerkkonfigurationseinstellungen
- Ein echter Zufallszahlengenerator (True Random Number Generator, TRNG)
Beispiel-Builds
Im OpenThread-Repository finden Sie mehrere Beispielbuilds. Weitere Informationen finden Sie unter Plattformen.
Beispiele für funktionierende Ports sind ot-cc2538
, ot-efr32
und ot-nrf528xx
. ot-cc2538
ist ein guter Ausgangspunkt, da nur eine einzige Plattform implementiert wird. ot-efr32
und ot-nrf528xx
sind etwas komplizierter, da sie die Unterstützung mehrerer Plattformen implementieren.