Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Integre el middleware con el SDK
La integración del middleware en el nuevo hub se analiza en las siguientes secciones.
Temas
Integración con la API del kit de portabilidad de dispositivos (DPK)
Para integrar el SDK de cualquier proveedor de chipsets con el middleware, la capa central del DPK (kit de portabilidad de dispositivos) proporciona una interfaz API estándar. Los proveedores de servicios de integraciones gestionadas (ODM) deben implementar estas API en función del SDK del proveedor compatible con los Zigbee/Z-wave/Wi-Fi chipsets utilizados en sus centros de IoT.
Implementación de referencia y organización del código
A excepción del middleware, todos los demás componentes del SDK de dispositivos, como las integraciones gestionadas Device Agent y Common Data Model Bridge (CDMB), se pueden utilizar sin modificaciones y solo es necesario compilarlas de forma cruzada.
La implementación del middleware se basa en el SDK de Silicon Labs para Zigbee y. Z-Wave Si los chipsets Z-Wave y Zigbee utilizados en el nuevo hub son compatibles con el SDK de Silicon Labs presente en el middleware, el middleware de referencia se puede utilizar sin ninguna modificación. Solo es necesario realizar una compilación cruzada del middleware para poder ejecutarlo en el nuevo hub.
Las API del DPK (kit de portabilidad de dispositivos) para Zigbee se encuentran en la carpetaacehal_zigbee.c, y la implementación de referencia de las API del DPK se encuentra dentro de la carpeta. 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
Las API del DPK se Z-Wave encuentran en la carpeta acehal_zwave.c y la implementación de referencia de las API del DPK se encuentra en la carpeta. 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
Como punto de partida para implementar la capa DPK para un SDK de otro proveedor, se puede utilizar y modificar la implementación de referencia. Se necesitarán las dos modificaciones siguientes para admitir el SDK de un proveedor diferente:
-
Sustituya el SDK del proveedor actual por el SDK del nuevo proveedor en el repositorio.
-
Implemente las API del DPK (kit de portabilidad de dispositivos) de middleware de acuerdo con el SDK del nuevo proveedor.