2015/05/17

汝の名はBlueZ - (11) : githubに置いた

BlueZ特集の最後だ。
初回が4月21日だから、1ヶ月近くやってたんだ・・・。

SensorTagに少し対応したgatttoolをgithubに置いた。
確認環境は、Raspberry Pi(2011.12) + BT-Micro4だ。
https://github.com/hirokuma/bluez-gatttool-sensortag

ソースはBlueZのattribフォルダがほぼそのまま。
違うのは、gatttool.cとinteractive.cくらい。
gatttool.cは、引数を打ち込むのが面倒なのでデフォルト値を付けただけ。
主にinteractive.cを変更している。

対応と言っても大したことはしておらず、以下を自動的にやるだけだ。

  • connect
  • primary
  • ボタンとIR TemperatureへのNotify許可
  • ボタンのNotificationを受けたら、ボタンがS2なのかS3なのかをコンソール出力

 

makeは、BlueZ 5.30で行っている。
BlueZのソースファイルからビルドしておかないと、makeできない。
というのも、BlueZのビルド時に生成される内部用ライブラリを2つほど使っているからだ。
makefile自体は、nRF51822で使われているものを流用した。
私はMakefile書くのが上手じゃないし、nRF51822のはクロスコンパイルもセルフコンパイルもどっちでもいけそうなので、テンプレートに仕立てたのだ。

makeすると、"gatttool"ではなく"gatool"ができる。
一応名前を分けておかないと、紛らわしいだろうと思ってね。
実行は、普通のgatttoolと同じようにできる。
引数を省略すると、gatttool.cのmain()に書いたデフォルト値が使われるので、書き換えると良いだろう。
インタラクティブモードで"st"というコマンドを追加していて、これを実行すると上記の自動でやることをやってくれる。

少々だったら、こんな感じで作っていけばCentral側として相手になってくれそうだ。
画面を出したいとか思ったら、やはりAndroidみたいなスマートフォンが手軽になりそうだけど、コンソールにいろいろ出せるとデバッグがしやすいので、これはこれでよいと思うのだよ。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。

注: コメントを投稿できるのは、このブログのメンバーだけです。