Koshian 5をBluetooth Mesh経由で制御するデモンストレーションアプリのリポジトリです。
- Bluetooth 5 以降で搭載されたメッシュネットワーク通信機能です。
- 量産製品での活用事例としては、無線で連動する照明器具などに使われています。製品での活用については、これから盛り上がっていくことが期待されている技術です。
- Bluetooth Mesh ネットワークはノードが受信したパケットを再度送信(
Relay
)することでネットワーク全体に行き渡らせる flood型のネットワークです。 - 典型的なスマートフォンからのBLE通信であるGATTテーブルに基づくやり取りと、Meshネットワーク上のやり取りとを仲介するノードを
Proxy
と呼びます。 - Meshネットワークにノードを追加する操作はパケットを解読するための鍵を渡すことで実現され、
Provisioning
と呼ばれます。 - Koshian 5 は
Proxy
およびRelay
の役割を有効化することができます。 - 本アプリでは、
Proxy
ノードを経由してメッシュネットワーク上の各ノードに対してGPIO指令を行うことで、LEDやモーターなどKoshian 5の外につないだデバイスを制御します。
アプリの機能は主に3つあります。
-
- Meshネットワークの構築操作(Provisioning)
-
- ノードの一覧表示
-
- ノードに対する操作
- Kariya Micro Maker Faire 2024にて、Koshian 5のBluetooth Mesh機能のデモとして株式会社マクニカが展示を行いました。
- 展示においてはGPIO出力をタミヤ「ぷるぷる・テントウムシ(振動移動タイプ)」および外部LEDに接続する専用基板を用意し、Mesh経由でテントウムシのモーターを駆動したり、ノードの状態をLEDで表示したりするデモを行いました。
- Koshian 5をkonashi 5 ベースボードに搭載して用いる場合、アプリの緑のLEDボタンが基板上のLED1(赤色)に対応します。
- Android Studioを入手します。
- 推奨バージョン 2023.1.1
- FVM (Flutter Version Manager) を入手します。 (参考)
- 本リポジトリをcloneします。
- ※ Submodulesのcloneを忘れずに行ってください:
git clone [email protected]:YUKAI/koshian5_tentomushi_mesh.git --recursive cd koshian5_tentomushi_mesh
- ※ Submodulesのcloneを忘れずに行ってください:
- Flutter SDKを取得します。
- 本リポジトリのフォルダ直下で以下を実行してください。
fvm use
- 本リポジトリのフォルダ直下で以下を実行してください。
- 本リポジトリのルートフォルダをAndroid Studioで開きます。
- メインメニューから
File
>Open
> {本フォルダ} を開きます。
- メインメニューから
- Android Studio 上で
lib/main.dart
ファイルを開きます。 - エディタ上部にリンクが出現したら
Install Dart plugin
を実行します。 - エディタ上部にリンクが出現したら
Download Dart SDK
をタップします。- https://dart.dev/get-dart に飛ぶので記載の手順に従いDart SDKをインストールします。
- Android Studioの右上の
⚙
または↑
から、SDK Manager...
をタップします。- サイドメニュー
Languages & Frameworks
からAndroid SDK
から- Android SDK が入っていなければ、インストール対象の端末に合わせてSDKをインストールします。
Dart
からEnable Dart Support for the project ...
をチェックします。Dart SDK Path
を設定します。...
ボタンから本フォルダ以下の.fvm/flutter_sdk/bin/cache/dart-sdk
を選択します。- ※ OS X で隠しフォルダが表示されない場合は
⌘ + ⇧ + G
でパスをテキスト入力します。
- ※ OS X で隠しフォルダが表示されない場合は
Enable Dart support for the following modules:
から、Project 'koshian5_...'
にチェックを入れます。
OK
で SDK Manager を閉じます。
- サイドメニュー
- Android Studioの右上の
⚙
または↑
から、Plugins...
をタップします。- 表示されたプラグインから
Flutter
をインストールします。 Restart IDE
で Android Studio を再起動します。
- 表示されたプラグインから
- Android Studioの右上の
⚙
または↑
から、SDK Manager...
をタップします。- サイドメニュー
Languages & Frameworks
からFlutter
からFlutter SDK Path
を設定します。...
ボタンから本フォルダ以下の.fvm/flutter_sdk
を選択します。
OK
で SDK Manager を閉じます。
- サイドメニュー
- Android Studioのメインメニューから
Build
>Flutter
>Build APK
でビルドします。- 以下のように出力されればビルド成功です。
✓ Built build/app/outputs/flutter-apk/app-release.apk (xx.xMB). Process finished with exit code 0
- 以下のように出力されればビルド成功です。
- デバッグ対象の端末で開発者オプションを有効化します。
- Google Pixelの例)
設定
>デバイス情報
>ビルド番号
を数回連続してタップしてPINナンバーを入力して有効化します。
- Google Pixelの例)
- USBデバッグを有効化します。
設定
>システム
>開発者向けオプション
>USB デバッグ
をON
- PCに接続します。
- 端末に
USB デバッグを許可しますか?
と出るので許可します。
- 端末に
- Android Studioで
▶
実行ボタンをタップします。- (ここは時間がかかります)
- 無事に実行できると
Koshianテントウムシ
というアプリがインストールされます。