View a markdown version of this page

Integrieren Sie Middleware mit SDK - Verwaltete Integrationen für AWS IoT Device Management

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 mit SDK

Die Middleware-Integration auf dem neuen Hub wird in den folgenden Abschnitten erörtert.

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 Anbieter von verwalteten Integrationsdiensten oder ODMs müssen diese APIs auf der 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 Chipsätze 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-APIs (Device Porting Kit) für Zigbee finden Sie inacehal_zigbee.c, und die Referenzimplementierung der 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

Die DPK-APIs für Z-Wave finden Sie im Ordner, acehal_zwave.c und die Referenzimplementierung der 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:

  1. Ersetzen Sie das aktuelle Hersteller-SDK durch das neue Hersteller-SDK im Repository.

  2. Implementieren Sie die DPK-APIs (Device Porting Kit) der Middleware gemäß dem SDK des neuen Anbieters.