![見出し画像](https://assets.st-note.com/production/uploads/images/27239522/rectangle_large_type_2_da057e2ebe6c656d4ed8a93051e5a803.png?width=1200)
入門Bluetooth(ブルートゥース)Meshをやってみよう(2)
未来の住まいにはスマートホームの導入が不可欠だと思います。簡単な電灯の点灯から、空調の制御まで、遠隔操作ができれば、いいじゃないですか?複雑な物を開発する前、まずサンプルコードで簡単なメッシュネットワークを構築しましょう。
今回は上の画像のようなメッシュネットワークを作る手順の紹介を続きます。
メッシュネットワークについて、前回を参考してください。
手順:
1、環境設定(この記事)
2、サンプルコード実装、スマホでMESH ネットワークの構築
ー
このMESHネットワークは下記のデバイスがあります:
1、スマートフォン(Provisioner - BLE MESH ネットワークの管理者)
2、nRF5 デバイス(Server 1 - LED 電灯)
3、デバイスがあれば、もう一つLED電灯(Server 2)を作ります
1、サンプルコードをデバイスに実行する
前回BLE MESHダウンロードしたSDKの中は、色々なサンプルが付いています。
サンプルはnrf5_SDK_for_Mesh_v4.1.0_src > examples にあります。
まず、LED電灯のサンプルコードを実行します。examplesの中で、light_switch > server > light_switch_server_nrf52832_xxAA_s132_7_0_1.emProjectを開きます。
コード変更せずに、Build > Build light_switch_server_nrf52832_xxAA_s132_7.0.1 を押して、ビルドします。
次は、コードをデバイスにダウンロードします。
*初めて使うデバイスは削除必要かもしれません。必要な場合は、Target > Connect J-Link で接続して、Target > Erase All を押してください。
Target > Download light_switch_server_nrf52832_xxAA_s132_7.0.1を押すとデバイスに書き込みます。
問題がなければ、Ouputで "Download successful" が出ます。
そして、J-Linkでデバイス情報を確認しましょう。JLinkRTTViewerを立ち上げます。
*RTT = Real-Time Transfer(実時間転送)
もうSEGGERで接続したら、J-Link RTT Viewer で Existing Sessionを選んでください。
最初の Log は下記のようです。
ここまでは一つデバイスが準備しました。もし、もう一つデバイスがあれば、同じステップで二台目も準備しましょう。
(このサンプルのデフォルトLED PINは17です。)
2、スマートフォン上 BLE MESHネットワークを作る
nRF Mesh (App Store / Google Play) をダウンロードして、Mesh ネットワークを構築します。(構築ステップが多いですので、ご注意ください。)
1、立ち上げたら、まずグループを作りましょう。
Group タブを押して、一番右上の + ボタンを押してください。
Name を "Lights" にしましょう。そして、Doneボタンを押します。
Lightsというグループを作りました。
2、MESHデバイス(Server 1 - LED 電灯)をネットワークに追加しましょう。
Networkタブを押して、一番右上の + ボタンを押してください。
追加可能デバイスがリストにあります。
nRF5x Mesh Lightを押すと、設定画面が出ます。
NameをLED1に変更しましょう。
Provisionを押して、No OOBを選択すると、Network に追加します。
3、デバイスをMESHネットワークに追加しても、動作を紐付けしなければ、LEDの制御ができません。まず、Application Key を作ります。
Settings タブを押して、Application Keys を押して、Application Keyの設定画面が出ます。
設定画面で、一番右上の + ボタンを押して、Add App Key の画面が出て、そのままDoneボタンを押します。
ここまで、App Key 1 を作りました。
4、次は、LED1の動作を設定します。まず、Network タブを戻して、LED1を選んでください。
LED1の設定画面でApplication Keys を選んで、+ボタンでApp Key 1を追加します。
Element1を選んで、Generic OnOffServerを押してください。
Generic OnOffServerの設定画面で、Bind Application Keyを選んで、リストからApp Key 1を選びます。
Subscribe を選んで、Lightsグループを選びます。
設定済んだら、以下のようになります。
5、最後はiPadのコントロール(LED の制御スイッチ)の設定。
Networkタブに戻して、iPadを選びます。
Primary Element を選んで、GenericOnOffClientを選んでください。
Bind Application KeyでApp Key 1を追加します。
最後はSet PublicationでLightsグループを紐付けます。
ここまでは基本なMESH ネットワークを作りました。
iPadのLocal NodeのPrimary Elementと紐つけたので、ON・OFFを押すと、LED 制御ができます。
ー
以上で、BLE MESHのネットワーク構築しました。ステップは結構多いですが、難しいではないと思います。
IoTとスマートホームは未来の住まいには重要なので、技術を身に付けても、損がないじゃないですか?
ご参考いただければ幸いです。
(Lee)
この記事が気に入ったらサポートをしてみませんか?