翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ミドルウェアを SDK と統合する
新しいハブでのミドルウェア統合については、以下のセクションで説明します。
デバイス移植キット (DPK) API 統合
チップセットベンダー SDK をミドルウェアと統合するには、中央の DPK (デバイス移植キット) レイヤーによって標準の API インターフェイスが提供されます。マネージド統合サービスプロバイダーまたは ODMs は、IoT ハブで使用される Zigbee/Z-wave/Wi-Fi チップセットでサポートされているベンダー SDK に基づいて、これらの APIs を実装する必要があります。
リファレンス実装とコード編成
ミドルウェアを除き、マネージド統合 Device Agent や Common Data Model Bridge (CDMB) などの他のすべての Device SDK コンポーネントは、変更なしで使用でき、クロスコンパイルのみが必要です。
ミドルウェアの実装は、Silicon Labs SDK for Zigbee と Z-Wave に基づいています。新しいハブで使用される Z-Wave および Zigbee チップセットがミドルウェアに存在する Silicon Labs SDK でサポートされている場合、リファレンスミドルウェアは変更なしで使用できます。ミドルウェアをクロスコンパイルするだけで、新しいハブで実行できます。
Zigbee 用の DPK (デバイス移植キット) APIs は にありacehal_zigbee.c、DPK 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
Z-Wave の DPK APIs は にありacehal_zwave.c、DPK 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
別のベンダー SDK の DPK レイヤーを実装するための開始点として、リファレンス実装を使用および変更できます。別のベンダー SDK をサポートするには、次の 2 つの変更が必要です。
-
現在のベンダー SDK をリポジトリの新しいベンダー SDK に置き換えます。
-
新しいベンダー SDK に従ってミドルウェア DPK (デバイス移植キット) APIs を実装します。