Z-Wave アプリケーション フレームワーク
Z-Wave Plus アプリケーション フレームワークの目的は、堅牢な Z-Wave Plus 適合製品の実装を促進することです。
Z-Wave アプリケーション フレームワーク:
- 新しい Z-Wave 製品およびデバイスのためのファームウェアの開発を簡素化します。
- 多くの共通のデバイスのためのサンプルコードの供給、それに加えて、直ちに再使用することができる堅牢で、現場で試験済みのコードを提供します。
- エラーの排除を助け、カスタムコーディングの必要性を最小化します。
その結果、新しい Z-Wave アプリケーション作成のプロセスが合理化されました。通常、ほとんどの新しいデバイスで掛かる期間は 1~2 週間以内。
Z-Wave を使ってみる
Z-Wave SDK は、お客様のアプリケーションの迅速なプロトタイピングのためのアプリケーション フレームワークが付属しています。SDK をダウンロードした後、SDK アーカイブを解凍して、以下に移動します:SDK --> ProductPlus --> MyProductPlus このディレクトリは、サンプル Z-Wave アプリケーション生成のために必要なスクリプトが含まれます。
アプリケーション フレームワークには、迅速なアプリケーションプロトタイピングが含まれます(サンプルコードのライブラリ)
- 周辺機器のカプセル化
- アプリケーション(タイマー等)用サービス機能
アプリケーション フレームワークは、アプリケーション間で再使用できるコマンドクラスモジュールを提供します。
このフレームワークはいくつかのモジュールを提供します:
トランスポート層 トランスポート層はセキュリティ、長いペイロード、バンドルコマンドの配信などを操作します。
アプリケーションコマンドクラスハンドラ アプリケーションコマンドクラスハンドラは、アプリケーションの構文解析とフレーム合成を操作します。
また、相互排除保護の伝送バッファも処理します。
Utils Utils は I/O 操作、バッテリーモニタリングおよびファームウェア用のヘルパーモジュールを提供します。
アプリケーション フレームワークは、 /ApplicationCommandHandlers/ と /ApplicationUtilities/ の2つのフォルダに分割されています。
/ApplicationCommandHandlers/
/ApplicationCommandHandlers/ にはコマンドクラスモジュールが含まれます。すべてのコマンドクラスモジュールは、ZW_tx_mutex モジュールによって提供される保護された伝送バッファを共有します。
ZW_tx_mutex モジュールは、2つの伝送バッファ(ひとつはリクエストの呼び出し、もうひとつは応答呼び出し)を実現します。
/ApplicationUtilities/
/ApplicationUtilities/ には、ユーティリティモジュールとトランスポート層へのインターフェイスが含まれます。
モジュールの一部は、ボタンや LED の取り扱いのような簡単な MMI セットアップ用に使用されます。association_plus、battery_monitor、battery_plus などのその他のモジュールは、コマンドクラスとクライアントアプリケーションへとインターフェイスするさらに複雑なユーティリティモジュールです。
最後のグループはトランスポートを処理するトランスポート層で、これはセキュア(安全)、ノンセキュア(安全でない)場合があります。
トランスポート層 API インターフェイスは、セキュアとノンセキュアトランスポートで同一です。
実行済みのコマンドクラスをすべて選択する
コマンドクラス仕様;Z-Wave コマンドクラス仕様
使用するチップまたはモジュールを選択します。
仕様 | |
---|---|
ハードウェア | 500 シリーズ インテグレーションガイド |
ソフトウェア | 500 シリーズ環境ユーザガイドに組み込む |
環境の設定
Z-Wave 開発の最初のステップは、開発環境の設定です。Z-Wave アプリケーション開発を始めるには以下が必要です:
- Windows ベース PC
- Z-Wave ソフトウエア開発キット(SDK)
- Keil コンパイラ バージョン 9.54a
Keil コンパイラやZ-Waveツールは、Microsoft Windows OSに対応しているので、WindowsベースのPCの使用を強く推奨します。
最新の Z-Wave SDK のダウンロードを始めるダウンロードファイルの解凍
次のステップは開発環境の設定です。
開発環境の設定に関する詳細情報は、500 シリーズ環境ユーザガイドをご覧ください。
Z-Wave プロジェクト作成を手順を追って説明するステップ・バイ・ステップガイド
例えば、当社では、Keil コンパイラバージョン 9.54a は C:\KEIL\C51 に、そして Z-Wave SDK は C:\SDK\ にあると推測しています。
- KEILPATH= C:\KEIL\C51
- TOOLSDIR= C:\SDK\TOOLS
該当するサンプルアプリケーションディレクトリ内のコマンドプロンプト(DOS ボックス)を開きます。
- C:\SDK\ProductPlus\MyProductPlus のようなディレクトリです
mk.bat で構築したコマンドラインは「mk help」を使って詳細を獲得します
- smk "BOOT=BOOTLOADER_ENABLED" "BOARD=ZM5202" "FREQUENCY=EU" "CHIP=ZW050x"
Keil IDEのための µVision プロジェクトを生成するために mk.batを使用する
- 該当サンプルアプリケーションディレクトリ内にあるコマンドプロンプト(DOS ボックス)を開き、「UVISION=1」をコマンド MK に追加します。
- mk "BOOT=BOOTLOADER_ENABLED" "BOARD=ZM5202" "FREQUENCY=EU" "CHIP=ZW050x" "UVISION=1"
プロジェクトで ZW_DEBUG を設定する
- トップレベルのプロジェクトを右クリックする、または ALT+F7 を押します
- C51 タブを選択します
- 定義を追加する:ZW_DEBUG、ZW_DEBUG_MYPRODUCT
- デバイスタブを選択して、ZM5202 を選択します(この例で使用)
- OK をクリックして、プロジェクトを再構築します
デバッグ・ポートの接続
- ZDB5202 を ZDP03 にマウントする
- ZDP03 USB(J1)とRS232(J12)を接続します
- Z-Wave プログラマーを使用して .hex-file をダウンロードします:MyProductPlus_slave_enhanced_232_ZM5202_EU_SCHEME_0.hex
- デバッグ情報は、115200 ボーでターミナルプログラムを出力することができます
製品仕様の提案書
Z-Wave Plus フレームワーク バージョン 1.x
- 通知用コマンドクラス v4
- ソフトウエアベースのスロータイマー
Z-Wave Plus アプリケーション
- センサ 受動型赤外線(PIR:Passive InfraRed)アプリ(バッテリー駆動のベストプラクティス) – MRD リクエスト
- センサ 受動型赤外線(PIR:Passive InfraRed)アプリ(ベーシック CC コントロール、ライフラインおよび AGI)
OutdoorLamp のご紹介
- デバイスタイプ = On/off 電源スイッチ
- 役割タイプ = スレーブは常にオン
- プッシュ・ボタン
- PIR センサー(HW I/O)
- リレーコントロール(HW I/O)
- バイナリスイッチ CC サポート
- ファームウェアアップデートサポート – OTA
- セキュアなバイナリスイッチ CC
- Z-Wave Plus 認証可能
- 外部割込みサポート