シリコンロゴ

SILICONLABSラボ3B–スイッチのオン/オフの変更ユーザーガイド

SILICONLABSラボ3B-スイッチのオン/オフの変更

この実践的な演習では、いずれかの変更を行う方法を示します。ampZ-WaveSDKの一部として出荷されるファイルアプリケーション。

この演習は、シリーズ「Z-Wave1日コース」の一部です。

  1. SmartStartの使用を含める
  2. Znifferを使用してZ-WaveRFフレームを復号化する
  3. 3A:スイッチのオン/オフをコンパイルしてデバッグを有効にする
    3B:スイッチのオン/オフの変更
  4. FLiRSデバイスを理解する

 

主な特徴

  • GPIOを変更する
  • PWMを実装する
  • オンボードRGBLEDを使用する

 

1. はじめに

この演習は、前の演習「3A:スイッチのオン/オフをコンパイルしてデバッグを有効にする」に基づいて構築されています。この演習では、スイッチのオン/オフをコンパイルして使用する方法を示しました。ampファイルアプリケーション。

この演習では、sに変更を加えます。ampアプリケーション、LEDを制御するGPIOを変更します。 さらに、RGB LEDを使用して、PWMを使用して色を変更する方法を学習します。

1.1 ハードウェア要件

  • 1WSTKメイン開発ボード
  • 1つのZ-Wave無線開発ボード:ZGM130SSiPモジュール
  • 1UZBコントローラー
  • 1 USB ズニファー

1.2ソフトウェア要件

  • Simplicity Studio v4
  • Z-Wave 7 SDK
  • Z-WavePCコントローラー
  • Z-Wave ズニファー

図1Z-WaveSiPモジュールを備えたメイン開発ボード

図1: Z-WaveSiPモジュールを備えたメイン開発ボード

1.3 前提条件
これまでの実践演習では、PCコントローラーとZnifferアプリケーションを使用してZ-Waveネットワークを構築し、開発目的でRF通信をキャプチャする方法について説明しました。 この演習は、これらのツールに精通していることを前提としています。

以前の実践演習では、sの使用方法についても説明しました。ampZ-WaveSDKに同梱されているアプリケーション。 この演習は、次のいずれかの使用とコンパイルに精通していることを前提としています。ampファイルアプリケーション。

 

2.ボードインターフェイスをナビゲートします

Z-Waveフレームワークには、board.hおよびboard.cで定義されたハードウェアアブストラクションレイヤー(HAL)が付属しており、各ハードウェアプラットフォームに実装できる可能性があります。

ハードウェアアブストラクションレイヤー(HAL)は、システムのハードウェアとそのソフトウェア間のプログラムコードであり、複数の異なるハードウェアプラットフォームで実行できるアプリケーションに一貫したインターフェイスを提供します。 アドバンを取るためにtagこの機能の場合、アプリケーションは、直接ではなく、HALによって提供されるAPIを介してハードウェアにアクセスする必要があります。 その後、新しいハードウェアに移行するときは、HALを更新するだけで済みます。

2.1オープンSampルプロジェクト
この演習では、スイッチのオン/オフを開く必要があります。ampアプリケーション。 演習「3Aコンパイルスイッチのオンオフとデバッグの有効化」を完了した場合は、Simplicity StudioIDEですでに開いているはずです。

このセクションでは、ボードを見ていきます file■LEDがどのように初期化されるかを理解します。

  1. メインから file 「SwitchOnOff.c」、「ApplicationInit()」を見つけて、Board_Init()の呼び出しに注意してください。
  2. コースラーをBoard_Init()に配置し、F3を押して宣言を開きます。

図2オープンSampルプロジェクト

3. Board_Init()で、BOARD_LED_COUNTに含まれるLEDがBoard_Con-figLed()の呼び出しによってどのように初期化されているかに注意してください。

図3オープンSampルプロジェクト

4.コースターをBOARD_LED_COUNTに配置し、F3を押して宣言を開きます。
5.led_id_tで定義されているLEDは次のとおりです。

図4オープンSampルプロジェクト

6.ボードに戻ります。c file.
7.コースラーをBoard_ConfigLed()に配置し、F3を押して宣言を開きます。
8.次に、led_id_tで定義されたすべてのLEDがBoard_ConfigLed()で出力として構成されていることに注意してください。

図5オープンSampルプロジェクト

これが意味するのは、開発ボード上のすべてのLEDがすでに出力として定義されており、すぐに使用できるということです。

 

3.Z-WaveSに変更を加えますampファイルアプリケーション

この演習では、スイッチのオン/オフでLEDに使用されるGPIOを変更します。ampファイルアプリケーション。 前のセクションでは、開発ボード上のすべてのLEDがすでに出力として初期化され、使用できる状態になっていることを学びました。

3.1 RGBLEDを使用する

ボタンボードのLEDの代わりに、Z-Wave開発モジュールのオンボードRGBLEDを使用します。

1. SwitchOnOff.cメインアプリケーションで、図6に示すように、RefreshMMI関数を見つけます。 file.

図6変更なしのRefreshMMI

図6:変更なしのRefreshMMI

2.関数「Board_SetLed」を使用しますが、GPIOをに変更します
o BOARD_RGB1_R
o BOARD_RGB1_G
o BOARD_RGB1_B

3.図3に示すように、OFF状態とON状態の両方で「Board_SetLed」を7回呼び出します。

図7RGBLEDを使用するように変更されたRefreshMMI

これで新しい変更が実装され、コンパイルする準備が整いました。
デバイスをプログラムする手順は、演習「3Aコンパイルスイッチのオンオフとデバッグの有効化」で説明されており、ここで簡単に繰り返します。

  1. 「ビルド」をクリックします アイコン1 ボタンをクリックして、プロジェクトのビルドを開始します。
  2. ビルドが完了したら、「Binaries」フォルダーを展開し、*。hexを右クリックします。 file 「FlashtoDevice ..」を選択します。
  3. ポップアップウィンドウで接続されているハードウェアを選択します。 「フラッシュプログラマー」には必要なすべてのデータが事前に入力されており、「プログラム」をクリックする準備ができています。
  4. 「プログラム」をクリックします。

しばらくするとプログラミングが終了し、エンドデバイスが変更されたバージョンのスイッチオン/オフでフラッシュされます。

3.1.1機能をテストする

以前の演習では、SmartStartを使用してデバイスを安全なZ-Waveネットワークにすでに組み込んでいます。 手順については、演習「SmartStartの使用を含める」を参照してください。

ヒント内部 file 再プログラミングの間にシステムが消去されることはありません。 これにより、ノードをネットワーク内にとどめ、再プログラムするときに同じネットワークキーを維持できます。

モジュールが動作する周波数やDSKなどを変更する必要がある場合は、新しい周波数が内部NVMに書き込まれる前に、チップを「消去」する必要があります。

そのため、デバイスはすでにネットワークに含まれています。

RGB LEDをオンまたはオフにできることを確認して、機能をテストします。

  • PCコントローラの「BasicSetON」と「BasicSetOFF」を使用して機能をテストします。 RGBLEDがオンとオフになっている必要があります。
  • RGB LEDは、ハードウェアのBTN0を使用してオンとオフを切り替えることもできます。

これで、変更が期待どおりに機能していることを確認し、Sで使用されるGPIOを正常に変更しました。ampファイルアプリケーション

3.2RGBカラーコンポーネントを変更する

このセクションでは、RGB LEDを変更し、色成分を混合してみます。

「RGBカラーモデルの色は、赤、緑、青のそれぞれがどれだけ含まれているかを示すことによって記述されます。 色はRGBトリプレット(r、g、b)として表され、各コンポーネントはゼロから定義された最大値まで変化します。 すべてのコンポーネントがゼロの場合、結果は黒になります。 すべてが最大の場合、結果は最も明るく表現可能な白になります。」

ウィキペディアから RGBカラーモデル。

図8一緒に混合されたRGBカラーコンポーネント

前のセクションですべてのカラーコンポーネントを有効にしたため、オンの場合、RGBLEDは白色になります。 個々のコンポーネントのオンとオフを切り替えることで、LEDを変更できます。 また、各色成分の強度を調整することで、その間のすべての色を作ることができます。 そのために、PWMを使用してGPIOを制御します。

  1. 図9に示すように、ApplicationTask()で、PwmTimerを初期化し、RGBピンをPWMに設定します。                                                                                図9ApplicationTaskで初期化されたPWM
  2. RefreshMMI()では、すべての色成分に乱数を使用します。 rand()を使用して、LEDがオンになるたびに新しい値を取得します。
  3. DPRINTF()を使用して、新しく生成された値をシリアルデバッグポートに書き込みます。
  4. ランダムな値を使用するには、Board_SetLed()をBoard_RgbLedSetPwm()に置き換えます。
  5. 更新されたRefreshMMI()については、図10を参照してください。

図10PWMで更新されたRefreshMMI

図10:PWMで更新されたRefreshMMI

これで新しい変更が実装され、コンパイルする準備が整いました。

  1. 「ビルド」をクリックします アイコン1 ボタンをクリックして、プロジェクトのビルドを開始します。
  2. ビルドが完了したら、「Binaries」フォルダーを展開し、*。hexを右クリックします。 file 「FlashtoDevice ..」を選択します。
  3. ポップアップウィンドウで接続されているハードウェアを選択します。 「フラッシュプログラマー」には必要なすべてのデータが事前に入力されており、「プログラム」をクリックする準備ができています。
  4. 「プログラム」をクリックします。

しばらくするとプログラミングが終了し、エンドデバイスが変更されたバージョンのスイッチオン/オフでフラッシュされます。

3.2.1機能をテストする

RGB LEDの色を変更できることを確認して、機能をテストします。

  1. PCコントローラの「BasicSetON」を使用して機能をテストします。
  2. 「基本設定ON」をクリックすると、色の変化が見られます。

これで、変更が期待どおりに機能していることを確認し、PWMを使用するようにGPIOを正常に変更しました。

4。議論

この演習では、スイッチのオン/オフを単純なLEDの制御からマルチカラーLEDの制御に変更しました。 PWM値に応じて、任意の色と強度に変更できるようになりました。

  • このアプリケーションのデバイスタイプとして「バイナリスイッチ」を使用する必要がありますか?
  • マルチカラーLEDに適したコマンドクラスはどれですか?

質問に答えるには、Z-Waveの仕様を参照する必要があります。

  • Z-Wave Plusv2デバイスタイプ仕様
  • Z-Waveアプリケーションコマンドクラスの仕様

これで、Z-WaveSのGPIOを変更および変更する方法のチュートリアルは終了です。ampファイルアプリケーション。

 

このマニュアルの詳細を読む & PDF をダウンロード:

ドキュメント / リソース

SILICONLABSラボ3B-スイッチのオン/オフの変更 [pdf] ユーザーガイド
ラボ3B、スイッチの変更、オン、オフ、Z-Wave、SDK

参考文献

コメントを残す

あなたのメールアドレスは公開されません。 必須項目はマークされています *