Nature Remo の BLE マクロ機能を使ってみよう!

ファームウェアエンジニアの中林 (id:tomo-wait-for-it-yuki) です。 本日より Nature Remo BLE マクロのベータテストを開始いたしました 🎉 本エントリは、ベータテスト参加者の方を対象とした BLE マクロのチュートリアルです。 ベータテスト参加者以外の方にも BLE マクロ機能の雰囲気を感じていただきたく、内容を公開しています。

Nature Remo BLE マクロ

2023年12月現在、ベータテスターの方のみ、ご利用いただける機能となっています。 UI は正式リリース時には異なったものになります。

チュートリアルの内容は以下の通りです。

  1. 事前準備
  2. nRF Connect でマクロを作成
  3. GitHub にマクロをアップロード
  4. Nature Remo アプリで BLE デバイスを登録
  5. Nature Remo アプリで BLE デバイスにボタンを登録
  6. Nature Remo アプリで BLE デバイスを操作

可能な限り少ない手順で BLE マクロを試せる方法を紹介しているつもりですが、より便利な方法やツールがあれば、開発者コミュニティで教えてもらえるとうれしいです。

1. 事前準備

Nature Remo 3 / Nature Remo mini 2 / Nature Remo mini 2 Premium のいずれかを Nature Remo アプリでセットアップして、オンラインの状態にしてください。

利用ツール一覧

チュートリアルで利用するツールの一覧は以下のとおりです。

スマートフォン

  • Nature Remo アプリ
  • nRF Connect for Mobile アプリ (Android 版)
  • GitHub (Web ブラウザ推奨)

iPhone 版の nRF Connect はマクロ機能がないため、Andoird 版を推奨しています。 また、nRF Connect でエスクポートしたマクロ (XML) ファイルを GitHub にアップロードしますが、GitHub のモバイルアプリはファイルアップロードができないため、GitHubスマートフォンの Web ブラウザでの利用をおすすめします。

ホストPC

  • adb

対象 BLE デバイスの検出条件や、マクロの置いてある GitHub URL を入力する際、adb から入力すると便利です。 次のコマンドで、フォーカスしているテキスト領域に、テキストを入力できます。

$ adb shell input text hogefuga

GitHub リポジトリの作成

public なリポジトリを1つ作成してください。 連携する BLE デバイスごとにディレクトリを作成しておくと良いでしょう。

チュートリアルで使っているサンプルリポジトリを参考にしてみてください。

2. nRF Connect でマクロを作成

下記の記事を参考に、nRF Connect で BLE デバイスを操作して、マクロを作成してください。

engineering.nature.global

作成したマクロは、3点リーダーメニューの Export to XML をタップして XML 形式でエクスポートし、スマートフォンのローカルストレージに保存します。

マクロのエクスポート

3. GitHub にマクロをアップロード

nRF Connect でエクスポートしたマクロ (XML) を GitHub にアップロードします。 作成したリポジトリに Web ブラウザでアクセスして、 Upload files でファイルをアップロードします。

マクロを GitHub にアップロード

ドラッグ&ドロップはできないので、choose your files から XML ファイルを選択します。

GitHub にアップロードするファイルを選択

のちほど、アップロードしたマクロの URL を使うので、スマートフォンもしくはホストPCのブラウザで GitHub リポジトリを開いたままにしておきましょう。

4. Nature Remo アプリで BLE デバイスを登録

ここからは Nature Remo アプリで BLE マクロを登録、利用していきます。 コントロール画面の「+」ボタンをタップして登録を開始します。

「+」ボタンをタップして登録開始

「新しい家電」画面で一番下にある BLE Macro を選択します。

新しい家電から BLE Macro を選択

「デバイスの選択」画面で BLE デバイスを登録する Remo を選択します。

BLE デバイスを登録する Remo を選択

ここで、Nature Remo 周辺に登録する BLE デバイスがあるかどうかをスキャンします。 スキャンは次のフィルターを設定できます。

  • ローカルネーム
  • Bluetooth Device アドレス
  • 条件なし (最大5件)

ローカルネームはアドバタイジングに乗っていない場合もあるので、確実な方法は Bluetooth Device アドレスを指定する方法となります。 以下ではスキャン対象がわかりやすいようにローカルネームが Hue ambiance lamp のデバイスをスキャンしています。 Scan BLE Devices with Filters ボタンをタップすると、Remo が周辺の BLE デバイスをスキャンします。

ローカルネームが Hue ambiance lamp のデバイスをスキャン


adb を利用する場合

フォーカスが BLE DEVICE LOCAL NAME のテキスト領域になっていることを確認して、ホストPCから次のコマンドを実行します。

$ adb shell input text "Hue\ ambiance\ lamp"

最大10秒ほどでスキャンが完了し、条件に一致したデバイス一覧が最大5件表示されます。 登録するデバイスをタップします。

スキャン結果

「新しい家電を確認する」で名前とアイコンを設定すると、登録完了です。

「次へ」で登録完了

登録するデバイスがペアリングを必要とする場合、ここでペアリングします。 Philips Hue もペアリングが必要なので、Philips Hue アプリからペアリング状態にしたあと、Pairing ボタンをタップします。 ペアリングが不要な場合は Skip ボタンをタップして次に進みます。

必要な場合はペアリングする

5. Nature Remo アプリで BLE デバイスにボタンを登録

次に登録した BLE デバイスにボタンを登録します。 コントロール画面から登録した BLE デバイスをタップすると、何もボタンがないコントロール画面に遷移します。 右上の「+」をタップして、ボタンの登録を開始します。

登録直後の BLE デバイスコントロール画面

次のようなボタン登録画面が表示されます。 PUBLIC GITHUB URL の部分に GitHub にアップロードしたマクロ (XML) の URL を入力してください。 URL は例えば次のようなものです (permalink でも大丈夫です) 。

https://github.com/tomoyuki-nakabayashi/blemacro_examples/blob/main/hue/blink.xml

Test ボタンをタップすると、マクロをテスト実行することができます。 テストが問題なければ Add ボタンをタップします。

ボタンの登録

ボタンを登録すると、BLE デバイスのコントロール画面にボタンが追加されていきます (現状、配置は自由に変えられません) 。

ボタン登録完了

6. Nature Remo アプリで BLE デバイスを操作

登録したボタンをタップすると、マクロが実行されます。

BLE マクロベータテスト実施中

もし本エントリを見て Nature Remo BLE マクロに興味を持った場合は、Nature Developer Community にてベータテストの様子を見ることができます。 ぜひ覗きにきてください。

discord.gg