Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Integrasikan middleware dengan SDK
Integrasi middleware pada hub baru dibahas di bagian berikut.
Integrasi API kit porting perangkat (DPK)
Untuk mengintegrasikan SDK vendor chipset apa pun dengan middleware, antarmuka API standar disediakan oleh lapisan DPK (Device porting kit) di tengah. Penyedia layanan integrasi terkelola atau ODM perlu mengimplementasikan API ini berdasarkan SDK vendor yang didukung oleh Zigbee/Z-wave/Wi-Fi chipset yang digunakan pada Hub IoT mereka.
Implementasi referensi dan organisasi kode
Kecuali middleware, semua komponen Device SDK lainnya, seperti integrasi terkelola Device Agent dan Common Data Model Bridge (CDMB) dapat digunakan tanpa modifikasi apa pun dan hanya perlu dikompilasi silang.
Implementasi middleware didasarkan pada Silicon Labs SDK untuk Zigbee dan. Z-Wave Jika chipset Z-Wave dan Zigbee yang digunakan di hub baru didukung oleh Silicon Labs SDK yang ada di middleware, maka middleware referensi dapat digunakan tanpa modifikasi apa pun. Anda hanya perlu mengkompilasi silang middleware dan kemudian dapat dijalankan di hub baru.
API DPK (Device porting kit) untuk Zigbee dapat ditemukan diacehal_zigbee.c, dan implementasi referensi API DPK ada di dalam folder. 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
API DPK untuk Z-Wave dapat ditemukan di acehal_zwave.c dan implementasi referensi API DPK ada di dalam folder. 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
Sebagai titik awal untuk mengimplementasikan lapisan DPK untuk SDK vendor yang berbeda, implementasi referensi dapat digunakan dan dimodifikasi. Berikut dua modifikasi akan diperlukan untuk mendukung SDK vendor yang berbeda:
-
Ganti SDK vendor saat ini dengan SDK vendor baru di repositori.
-
Terapkan API DPK (Device porting kit) middleware sesuai dengan SDK vendor baru.