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 integrazioni gestite ODMs devono implementarli in APIs base all'SDK del fornitore supportato dai chipset Zigbee/Z-wave/Wi -Fi 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 dal Silicon Labs SDK 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.
DPK (Device porting kit) APIs per Zigbee è disponibile in acehal_zigbee.c e l'implementazione di riferimento del DPK è presente all'interno della cartella. APIs 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
DPK APIs per Z-Wave è disponibile nella cartella acehal_zwave.c e l'implementazione di riferimento del DPK è presente all'interno della cartella. 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
Come punto di partenza per implementare il livello DPK per un SDK di un fornitore diverso, è possibile utilizzare e modificare l'implementazione di riferimento. 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 il middleware DPK (Device Porting Kit) in base all'SDK del nuovo fornitore. APIs