Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Integrieren Sie Middleware in das SDK
Die Middleware-Integration auf dem neuen Hub wird in den folgenden Abschnitten erörtert.
Themen
API-Integration des Device Porting Kit (DPK)
Um das SDK eines beliebigen Chipsatzherstellers in die Middleware zu integrieren, wird von der DPK-Schicht (Device Porting Kit) in der Mitte eine Standard-API-Schnittstelle bereitgestellt. Die Dienstleister für verwaltete Integrationen oder ODMs müssen diese auf der APIs Grundlage des Hersteller-SDK implementieren, das von den in ihren IoT-Hubs verwendeten Zigbee/Z-wave/Wi Fi-Chipsätzen unterstützt wird.
Referenzimplementierung und Organisation des Codes
Mit Ausnahme der Middleware können alle anderen Device SDK-Komponenten, wie z. B. die verwalteten Integrationen Device Agent und Common Data Model Bridge (CDMB), ohne Änderungen verwendet werden und müssen nur querkompiliert werden.
Die Implementierung der Middleware basiert auf dem Silicon Labs SDK für Zigbee und Z-Wave. Wenn die im neuen Hub verwendeten Z-Wave- und Zigbee-Chipsätze vom in der Middleware vorhandenen Silicon Labs SDK unterstützt werden, kann die Referenz-Middleware ohne Änderungen verwendet werden. Sie müssen nur die Middleware querkompilieren und sie kann dann auf dem neuen Hub ausgeführt werden.
DPK (Device Porting Kit) APIs für Zigbee finden Sie unteracehal_zigbee.c, und die Referenzimplementierung des DPK APIs befindet sich im Ordner. zigbee
IotManagedIntegrationsDeviceSDK-Middleware/example-iot-ace-dpk/example/dpk/ace_hal/zigbee/ |— CMakeLists.txt |— include |— |— zigbee_log.h |— src |— |— acehal_zigbee.c |— zigbeed |— |— CMakeLists.txt |— |— ember |— |— |— ace_ember_common.c |— |— |— ace_ember_ctrl.c |— |— |— ace_ember_hal_callbacks.c |— |— |— ace_ember_network_creator.c |— |— |— ace_ember_power_settings.c |— |— |— ace_ember_zts.c |— |— include |— |— |— zbd_api.h |— |— |— zbd_callbacks.h |— |— |— zbd_common.h |— |— |— zbd_network_creator.h |— |— |— zbd_power_settings.h |— |— |— zbd_zts.h
DPK APIs für Z-Wave finden Sie im Ordner, acehal_zwave.c und die Referenzimplementierung des DPK APIs befindet sich im Ordner. zwaved
IotManagedIntegrationsDeviceSDK-Middleware/example-iot-ace-dpk/example/dpk/ace_hal/zwave/ |— CMakeLists.txt |— include |— |— zwave_log.h |— src |— |— acehal_zwave.c |— zwaved |— |— CMakeLists.txt |— |— fxnZwaveClient |— |— |— zwave_client.c |— |— |— zwave_client.h |— |— include |— |— |— zwaved_cc_intf_api.h |— |— |— zwaved_common_utils.h |— |— |— zwaved_ctrl_api.h |— |— zware |— |— |— ace_zware_cc_intf.c |— |— |— ace_zware_common_utils.c |— |— |— ace_zware_ctrl.c |— |— |— ace_zware_debug.c |— |— |— ace_zware_debug.h |— |— |— ace_zware_internal.h
Als Ausgangspunkt für die Implementierung der DPK-Schicht für ein SDK eines anderen Anbieters kann die Referenzimplementierung verwendet und geändert werden. Die folgenden zwei Änderungen sind erforderlich, um ein SDK eines anderen Anbieters zu unterstützen:
-
Ersetzen Sie das aktuelle Hersteller-SDK durch das neue Hersteller-SDK im Repository.
-
Implementieren Sie das Middleware-DPK (Device Porting Kit) APIs gemäß dem SDK des neuen Anbieters.