Open Live Writerが更新されてtagが入力しやすくなったので、記念にBLE記事を書いておこう。
今まで、Bluetooth Developer Studioの記事をいくつか書いたが、どれもnRF51822でPeripheralになるときの話だった。
しかし、Peripheralだけでは世の中が成り立たず、Centralが相手として存在してこそBLEの世界が成立するのだ。
だから、私もCentral側をBlueZで作ったりしたことがあった。
とはいえ、やはりBLEはスマホとお話しすることが多い。
だから、スマホのアプリを作った方が何かと便利がよい。
私はおしゃれなアプリを作ることもないので、とりあえず読み書きしてくれるだけでよい。
となると、Bluetooth Developer StudioでAndroidアプリを作る、というのが自然な流れだ。
Android Client Plugin 1.0 (2016/02/15)
これをダウンロードして、解凍して、Bluetooth Developer Studioのpluginsフォルダに放り込む。
うちのWindows7 64bitだと「C:\Program Files (x86)\Bluetooth SIG\Bluetooth Developer Studio\Plugins」だった。
名前の通り、これはClient側のプラグインだ。
今まで作ったのが、nRF51822がServerになるものだったのでちょうどよいのだが、AndroidをServerにする場合には、今回の記事は役に立たないだろう。
すまぬ。
注意点は1つ。
NAMESPACEだ。
nRF51822のときには使っていなかったけど、Androidアプリの場合にはこれがアプリのnamespaceと一致するようになっていた。
例えば、BDS側で「com.blogpost.hiro99ma.bdsclient01」という設定にしておくと、Android側でも「com.blogpost.hiro99ma.bdsclient01.MainActivity」のような配置になる。
あとからBDSのNAMESPACEを変更する方法がわからなかったので、私は直接BDSのプロジェクトファイルをテキストエディタで開いて、<namespace>のところだけ書き換えた。
とりあえず、そういうのでもよさそうだ。
そして、BDSで「TOOLS > GENERATE CODE」を選ぶ。
ダイアログが出るが、このときは「Server」になっているので、コンボボックスで「Client」を選ぶ。
そうすると、こんな感じでAndroid Client Pluginが出てくるので、選択して生成。
次は、Androidアプリの生成をする。
ここで必要なのは、プロジェクト設定ファイルだけのようだ。
なので、Android Studio(私はv1.5.1を使っている)を起動し、「Start a new Android Studio project」で新規生成し、Company Domainを「bdsclient01.hiro99ma.blogpost.com」として、あとはデフォルトで進めた。
- Phone and Tablet : API23 : Android 6.0 (Marshmallow)
- Blank Activity
なお、うちのAndroidはNexus5だ。
これで生成すると、画面などが開くが、Projectを閉じる。
開いておいてもいいのかもしれないけど、よくわからんので閉じた。
そして、BDSで生成したファイルに戻る。
この中に「copy_to_android_studio.bat」というファイルがある。
これをコマンドプロンプトで実行すればよいのだが、引数が必要。
その引数は、Android Studioで生成したプロジェクトのルートフォルダだ。
バッチファイルの中を見ると、コメントがあるから何となくわかると思う。
そして実行すると、ファイルがAndroid Studioのプロジェクトにコピーされる。
これで終わり。
あとは、またAndroid Studioに戻って、先ほどのプロジェクトを開く。
そうすると、layoutがどうのと警告が出るが、気にせずMakeしてやると、エラーも出ずにビルドでき、スマホに転送すると動いた。
「SCAN」を押すと、スキャンする。
対象のものだけ出てくるかは不明だが、そこまでフィルタリングはしないのではないか。
見つかったデバイス名をタップすると、こういう画面になった。
うむ、これは確かにBDSで作った内容だ。
CONNECTすれば、読み書きはこれでできそうだ。
まだ、CONNECTからDISCONNECTに戻す方法はわかってないのだけど、ベースがないよりもあった方がよいのだ。
おしゃれじゃない私は、これにボタンとかべたべた貼り付けて、動けばよかろうなのだ。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。