LoginSignup
33
35

More than 5 years have passed since last update.

Raspberry PI(Raspbian)でbluezインストール、SensorTagに接続してみる

Last updated at Posted at 2014-03-05

raspberry piからSensorTagへ接続、データの取得を試してみた。

OSはraspbian
bluetoothのドングルはplanexのBT-Micro4
※ネットで調べるとラズパイで割と使ってる人が多く実績がありそうだったのでこれを購入。
SensorTagはもちろんTIのもの。

raspbianにbluezをインストール

# apt-get install libusb-dev libdbus-1-dev libglib2.0-dev libudev-dev libical-dev libreadline6-dev
# wget http://www.kernel.org/pub/linux/bluetooth/bluez-5.15.tar.xz
# tar xvJf bluez-5.15.tar.xz
# cd bluez-5.15
# ./configure --disable-systemd --enable-library
# make

ここまでやって調べていたところ、
http://ohwhsmm7.blog28.fc2.com/blog-entry-390.html
のように
割とapt-get install bluetooth bluezutilとかやってるのがみつかったのでここでやめた。
※が、後からわかったのはbluetoothキーボードなどのLEでないデバイスとの接続には問題ないようだが、
今回はソースからビルドしたほうがよさげ。

SensorTagへの接続

ここ
http://joost.damad.be/2013/08/experiments-with-bluetooth-low-energy.html
を参考にしたが、connectのところで何故かtimeout.

下記を参考にしたところ、
http://www.zephyr-labs.com/?p=87
hcitool leccが足りなかったらしい。

まず
# lsusb
でbluetoothデバイス確認。

SensorTagの横のスイッチを押してアドバタイズ状態にし、
# hcitool lescan
これでmacアドレスを確認。※ctrl-cで止める。
さらに

# hcitool lecc XX:XX:XX:XX:XX:XX
# gatttool -b XX:XX:XX:XX:XX:XX -I
[   ][XX:XX:XX:XX:XX:XX][LE]> connect
Attempting to connect to XX:XX:XX:XX:XX:XX
Connection successful
[CON][XX:XX:XX:XX:XX:XX][LE]> 
[CON][XX:XX:XX:XX:XX:XX][LE]> char-read-hnd 0×25
[CON][XX:XX:XX:XX:XX:XX][LE]> 
Characteristic value/descriptor: 00 00 00 00

ここまではよかったが

[CON][XX:XX:XX:XX:XX:XX][LE]> char-write-cmd 0×29 01
A valid handle is required

となってうまくいかない。

http://mike.saunby.net/2013/04/raspberry-pi-and-ti-cc2541-sensortag.html
によると、
IF you get 'A valid handle is required' when you try to enable the sensor, you need to update your gatttool by building bluez from scratch.

やはり、当初のソースコードからビルドしたほうがよかったのかも。

というわけで当初ビルドしたソースツリーを探すとattribディレクトリの中にgatttoolがあった。
このバイナリを使って上記をもう一度試したところ、無事データが返ってきた。

遅くなったので今回はここまで。
次回は何らかプログラム(cかjava,python?)を作成してデータ取得できるようにする予定。

参考

33
35
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
33
35