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 o ODMs necesitan implementarlos en APIs función del SDK del proveedor compatible con los chipsets Zigbee/Z-wave/Wi -Fi 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 necesita compilar de forma cruzada el middleware para poder ejecutarlo en el nuevo hub.
El DPK (kit de portabilidad de dispositivos) APIs para Zigbee se encuentra en acehal_zigbee.c la carpeta y la implementación de referencia del DPK APIs 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
El DPK APIs para Z-Wave se encuentra en la carpeta acehal_zwave.c y la implementación de referencia del DPK se encuentra dentro de la carpeta APIs . 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 el DPK (kit de portabilidad de dispositivos) de middleware de APIs acuerdo con el SDK del nuevo proveedor.