Intégrer le middleware au SDK - Intégrations gérées pour AWS IoT Device Management

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Intégrer le middleware au SDK

L'intégration du middleware sur le nouveau hub est abordée dans les sections suivantes.

Intégration de l'API du kit de portage de périphériques (DPK)

Pour intégrer le SDK de n'importe quel fournisseur de chipsets au middleware, une interface API standard est fournie par la couche DPK (Device Porting Kit) située au milieu. Les fournisseurs de services d'intégrations gérées ODMs doivent ou doivent les implémenter sur la APIs base du SDK du fournisseur pris en charge par les chipsets Zigbee/Z-wave/Wi -Fi utilisés sur leurs hubs IoT.

Implémentation des références et organisation du code

À l'exception du middleware, tous les autres composants du Device SDK, tels que les intégrations gérées Device Agent et Common Data Model Bridge (CDMB), peuvent être utilisés sans aucune modification et doivent uniquement être compilés de manière croisée.

L'implémentation du middleware est basée sur le SDK Silicon Labs pour Zigbee et Z-Wave. Si les chipsets Z-Wave et Zigbee utilisés dans le nouveau hub sont pris en charge par le SDK Silicon Labs présent dans le middleware, le middleware de référence peut être utilisé sans aucune modification. Il vous suffit de procéder à une compilation croisée du middleware pour qu'il puisse ensuite être exécuté sur le nouveau hub.

Le DPK (Device Porting Kit) APIs pour Zigbee se trouve dansacehal_zigbee.c, et l'implémentation de référence du DPK APIs est présente dans le dossier. 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

Le DPK APIs pour Z-Wave se trouve dans le dossier acehal_zwave.c et l'implémentation de référence du DPK APIs est présente dans le dossier. 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

Comme point de départ pour implémenter la couche DPK pour un SDK d'un autre fournisseur, l'implémentation de référence peut être utilisée et modifiée. Les deux modifications suivantes seront nécessaires pour prendre en charge le SDK d'un autre fournisseur :

  1. Remplacez le SDK du fournisseur actuel par le nouveau SDK du fournisseur dans le référentiel.

  2. Implémentez le DDleware DPK (Device Porting Kit) APIs conformément au SDK du nouveau fournisseur.