- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, Kenshow-san
Confirmed to work on this KBA.
Thanks,
Mohammed
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Mohammed-san,
Japanese translation was over.
Please check below.
Original KBA:
How to create a Bluetooth Mesh Low Power Node (LPN) - KBA231327
Thanks.
==============================
タイトル: Bluetoothメッシュ低電力ノード(LPN)の作成方法 - KBA231327
バージョン:**
この記事では、メッシュベンダーモデルアプリ(Vendor_specific_app)でBluetoothメッシュ低電力機能を有効にする方法について説明します。
Bluetoothメッシュ仕様(SIG仕様)は、電力に制約のあるデバイスの消費電力を最適化するために、次の2つのメッシュノードに実装できる低電力機能を定義しています。
- 低電力ノード(LPN): 電力に制約のあるメッシュノードです。メッシュ低電力機能をサポートします。
- フレンドノード:パワーリッチデバイス。メッシュフレンド機能をサポートしています。
低電力ノード(LPN)がメッシュネットワークに追加されると、フレンドのリクエスト(フレンドリクエスト)をブロードキャストします。低電力ノード(LPN)がメッシュネットワークに追加されると、範囲内の各フレンドは新しいLPN応答(フレンドオファー)を処理でき、LPNはフレンドが保存できるメッセージの数、RSSI、およびタイミングの精度に基づいて、最適なフレンドを選択します。関係が確立されると、LPNはスリープ状態になり、定期的にウェイクアップしてフレンドノードをポーリングし、キャッシュされたメッセージを取得できます。このように、LPNはメッシュパケットを継続的にリッスンする必要はありません。低電力機能の詳細については、AN227069-Bluetoothメッシュ入門を参照してください。
LPNノードの作成
メッシュ低電力機能は、メッシュコアライブラリに実装されています。アプリケーション開発者/ユーザーは、次のように最小限の設定でLPNノードを作成できます。フレンド/ LPNに関連するメッセージ(例:フレンドポーリング、フレンド更新、フレンドリクエスト、フレンドオファーなど)はメッシュの「制御メッセージ」であるため、ユーザーアプリケーションはこれらについて心配する必要はありません。
注意:制御メッセージはスタックによって内部的に生成され、異なるノードの上位トランスポート層間で送信されます。
アクセスメッセージは、デバイスが情報を伝達するために送受信する「通常の」メッシュメッセージです。
次の手順を実行して、vendor_specific_app(メッシュベンダーモデルの実装)で低電力機能を有効にします。
1.低電力機能を有効にする
低電力機能を有効にするには、アプリケーションのMakefileでLOW_POWER_NODE ?= 1を設定します。
その値は、通常のノード(0)またはLPN(1)にすることができます。
2.メッシュデバイスを設定する
以下に示すように、デバイス構成の構造体(wiced_bt_mesh_core_config_t )でノードのサポートされている機能を指定します。ノードがLPN(またはフレンドノード)の場合、関連するパラメータもこの構造体で設定する必要があります。
WICED_BT_MESH_CORE_FEATURE_BIT_LOW_POWERは、ノードが低電力機能をサポートしていることを示します。
それはLPNアプリケーションであるため、例えば、そのパラメータ .poll_timerout、.receive_delay、及び .rssi_factorが設定されなければなりません。
3.LPNスリープコールバックの登録
アプリケーションは、wiched_bt_mesh_app_func_table_t構造体(つまり、 wiced_bt_mesh_app_lpn_sleep_t )でスリープコールバック関数を定義する必要があります。スタックは、低電力モードに安全に入ることができるときにこの関数を呼び出し、メッシュコアが処理を必要としない時間(ミリ秒単位)を提供します。これに基づいて、アプリケーションはスリープモードを選択するための決定ロジックを実装できます。
コールバック関数は、スタックがWICED_BT_MESH_CORE_STATE_LPN_SLEEPイベントを生成するときに呼び出されます。実装はmesh_application.cのmesh_state_changed_cb()コールバック関数内で行われます。
この関数のプロトタイプは次のとおりです。
typedef void(* wiced_bt_mesh_app_lpn_sleep_t)(uint32_t duration);
4.デバイススリープの設定と初期化
アプリケーションは、wiced_sleep_config_tを設定し、wiched_sleep_configure()を呼び出して、デバイスで低電力操作を有効にする必要があります。各チップでサポートされている電源モードについては、それぞれのデータシートを参照してください。低消費電力パラメータおよび構成の詳細についてはAN225270 - CYW208xx BLE低消費電力のガイドラインを参照してください。
スリープ許可をポーリングするには、wiched_sleep_config_t構造体にスリープ許可コールバック関数(sleep_permit_handler )を指定する必要があります。また、スリープ後のアクション/設定を実行するように、スリープ後のコールバック関数(post_sleep_cback_handler )を定義できます(たとえば、設定されたペリフェラルの再初期化)。
注意:
- WICED Sleep Framework定義を取得するには、LPNアプリにwiched_sleep.hを含める必要があります。
- フレンドオファーの遅延は次のように計算されます。フレンドオファーの遅延=(receive_window_factor * receive_window)–(rssi_factor * RSSI)。
CYW920819EVB-02プラットフォームに基づく添付のベンダー固有のLPNアプリを参照してください。
テスト用のフレンドノードとして、デフォルトのvendor_specific_appまたはフレンド機能が有効になっている任意のノードを使用できます。
注意:この変更されたメッシュアプリは、ModusToolbox®BTSDKアプリケーションの標準検証プロセスではテストされていません。
==============================
16-Oct-2020