As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Integre o middleware com o SDK
A integração do middleware no novo hub é discutida nas seções a seguir.
Tópicos
Integração da API do kit de portabilidade de dispositivos (DPK)
Para integrar o SDK de qualquer fornecedor de chipset ao middleware, uma interface de API padrão é fornecida pela camada intermediária do DPK (kit de portabilidade de dispositivos). Os provedores de serviços de integrações gerenciadas ou ODMs precisam implementar essas APIs com base no SDK do fornecedor suportado pelos Zigbee/Z-wave/Wi-Fi chipsets usados em seus hubs de IoT.
Implementação de referência e organização do código
Com exceção do middleware, todos os outros componentes do Device SDK, como as integrações gerenciadas Device Agent e Common Data Model Bridge (CDMB), podem ser usados sem modificações e só precisam ser compilados de forma cruzada.
A implementação do middleware é baseada no SDK do Silicon Labs para Zigbee e. Z-Wave Se os chipsets Z-Wave e Zigbee usados no novo hub forem suportados pelo SDK do Silicon Labs presente no middleware, o middleware de referência poderá ser usado sem modificações. Você só precisa fazer a compilação cruzada do middleware e ele poderá ser executado no novo hub.
As APIs DPK (kit de portabilidade de dispositivos) para Zigbee podem ser encontradas emacehal_zigbee.c, e a implementação de referência das APIs do DPK está presente dentro da pasta. 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
As APIs do DPK para Z-Wave podem ser encontradas em acehal_zwave.c e a implementação de referência das APIs do DPK está presente dentro da pasta. 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 ponto de partida para implementar a camada DPK para o SDK de um fornecedor diferente, a implementação de referência pode ser usada e modificada. As duas modificações a seguir serão necessárias para oferecer suporte ao SDK de um fornecedor diferente:
-
Substitua o SDK do fornecedor atual pelo SDK do novo fornecedor no repositório.
-
Implemente as APIs do middleware DPK (kit de portabilidade de dispositivos) de acordo com o SDK do novo fornecedor.