Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Integra il middleware con SDK
L'integrazione del middleware nel nuovo hub è discussa nelle sezioni seguenti.
Argomenti
Integrazione dell'API Device Porting Kit (DPK)
Per integrare l'SDK di qualsiasi fornitore di chipset con il middleware, viene fornita un'interfaccia API standard dal livello DPK (Device porting kit) del sistema intermedio. I fornitori di servizi di integrazione gestita o ODM devono implementare queste API in base all'SDK del fornitore supportato dai Zigbee/Z-wave/Wi-Fi chipset utilizzati nei loro hub IoT.
Implementazione di riferimento e organizzazione del codice
Ad eccezione del middleware, tutti gli altri componenti Device SDK, come le integrazioni gestite Device Agent e Common Data Model Bridge (CDMB), possono essere utilizzati senza alcuna modifica e devono solo essere compilati in modo incrociato.
L'implementazione del middleware si basa sull'SDK Silicon Labs per Zigbee e. Z-Wave Se i chipset Z-Wave e Zigbee utilizzati nel nuovo hub sono supportati dall'SDK Silicon Labs presente nel middleware, il middleware di riferimento può essere utilizzato senza alcuna modifica. È sufficiente compilare in modo incrociato il middleware e può quindi essere eseguito sul nuovo hub.
Le API DPK (Device porting kit) per Zigbee sono disponibili nelle API DPK e l'implementazione di riferimento delle API DPK è presente acehal_zigbee.c all'interno della cartella. 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 API DPK for sono disponibili nella cartella e l'implementazione di Z-Wave riferimento delle API DPK è presente all'interno della acehal_zwave.c cartella. 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
Come punto di partenza per implementare il livello DPK per un SDK di un fornitore diverso, l'implementazione di riferimento può essere utilizzata e modificata. Saranno necessarie le seguenti due modifiche per supportare un SDK di un fornitore diverso:
-
Sostituisci l'SDK del fornitore corrente con l'SDK del nuovo fornitore nel repository.
-
Implementa le API middleware DPK (Device porting kit) in base all'SDK del nuovo fornitore.