Integrasikan middleware dengan SDK - Integrasi terkelola untuk AWS IoT Device Management

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. Integrasi terkelola penyedia layanan atau ODMs perlu mengimplementasikannya APIs berdasarkan SDK vendor yang didukung oleh chipset Zigbee/Z-wave/Wi -Fi 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.

DPK (Device porting kit) APIs untuk Zigbee dapat ditemukan diacehal_zigbee.c, dan implementasi referensi APIs DPK hadir 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

DPK APIs untuk Z-Wave dapat ditemukan di acehal_zwave.c dan referensi implementasi DPK APIs hadir 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:

  1. Ganti SDK vendor saat ini dengan SDK vendor baru di repositori.

  2. Menerapkan middleware DPK (Device porting kit) APIs sesuai dengan SDK vendor baru.