見出し画像

入門Bluetooth(ブルートゥース)Meshをやってみよう(2)

未来の住まいにはスマートホームの導入が不可欠だと思います。簡単な電灯の点灯から、空調の制御まで、遠隔操作ができれば、いいじゃないですか?複雑な物を開発する前、まずサンプルコードで簡単なメッシュネットワークを構築しましょう。

画像35

今回は上の画像のようなメッシュネットワークを作る手順の紹介を続きます。

メッシュネットワークについて、前回を参考してください。

手順:
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 にあります。

画像1

まず、LED電灯のサンプルコードを実行します。examplesの中で、light_switch > server > light_switch_server_nrf52832_xxAA_s132_7_0_1.emProjectを開きます。

画像2

コード変更せずに、Build > Build light_switch_server_nrf52832_xxAA_s132_7.0.1 を押して、ビルドします。

画像3

次は、コードをデバイスにダウンロードします。
*初めて使うデバイスは削除必要かもしれません。必要な場合は、Target > Connect J-Link で接続して、Target > Erase All を押してください。

画像4

Target > Download light_switch_server_nrf52832_xxAA_s132_7.0.1を押すとデバイスに書き込みます。

問題がなければ、Ouputで "Download successful" が出ます。

画像5

そして、J-Linkでデバイス情報を確認しましょう。JLinkRTTViewerを立ち上げます。
*RTT = Real-Time Transfer(実時間転送)

もうSEGGERで接続したら、J-Link RTT Viewer で Existing Sessionを選んでください。

画像6

最初の Log は下記のようです。

画像7

ここまでは一つデバイスが準備しました。もし、もう一つデバイスがあれば、同じステップで二台目も準備しましょう。

(このサンプルのデフォルトLED PINは17です。)

画像31

画像31

2、スマートフォン上 BLE MESHネットワークを作る

nRF Mesh (App Store / Google Play) をダウンロードして、Mesh ネットワークを構築します。(構築ステップが多いですので、ご注意ください。)

画像8

1、立ち上げたら、まずグループを作りましょう。
Group タブを押して、一番右上の + ボタンを押してください。

画像9

Name を "Lights" にしましょう。そして、Doneボタンを押します。

画像10

Lightsというグループを作りました。

画像11

2、MESHデバイス(Server 1 -  LED 電灯)をネットワークに追加しましょう。
Networkタブを押して、一番右上の + ボタンを押してください。

画像12

追加可能デバイスがリストにあります。

画像13

nRF5x Mesh Lightを押すと、設定画面が出ます。
NameをLED1に変更しましょう。

画像14

Provisionを押して、No OOBを選択すると、Network に追加します。

画像15

3、デバイスをMESHネットワークに追加しても、動作を紐付けしなければ、LEDの制御ができません。まず、Application Key を作ります。

Settings タブを押して、Application Keys を押して、Application Keyの設定画面が出ます。

画像16

設定画面で、一番右上の + ボタンを押して、Add App Key の画面が出て、そのままDoneボタンを押します。

画像17

ここまで、App Key 1 を作りました。

4、次は、LED1の動作を設定します。まず、Network タブを戻して、LED1を選んでください。

画像18

LED1の設定画面でApplication Keys を選んで、+ボタンでApp Key 1を追加します。

画像19

画像20

Element1を選んで、Generic OnOffServerを押してください。

画像21

画像22

Generic OnOffServerの設定画面で、Bind Application Keyを選んで、リストからApp Key 1を選びます。

画像23

Subscribe を選んで、Lightsグループを選びます。

画像24

設定済んだら、以下のようになります。

画像25

5、最後はiPadのコントロール(LED の制御スイッチ)の設定。

Networkタブに戻して、iPadを選びます。

画像27

Primary Element を選んで、GenericOnOffClientを選んでください。

画像28

画像29

Bind Application KeyでApp Key 1を追加します。

画像30

最後はSet PublicationでLightsグループを紐付けます。

画像32

画像33

ここまでは基本なMESH ネットワークを作りました。

iPadのLocal NodeのPrimary Elementと紐つけたので、ON・OFFを押すと、LED 制御ができます。

画像34

以上で、BLE MESHのネットワーク構築しました。ステップは結構多いですが、難しいではないと思います。

IoTとスマートホームは未来の住まいには重要なので、技術を身に付けても、損がないじゃないですか?

ご参考いただければ幸いです。

(Lee)


この記事が気に入ったらサポートをしてみませんか?