LoginSignup
0
2

More than 5 years have passed since last update.

Bluetooth LE (BLE) SATECHI LED電球 を Raspberry Pi3 から 制御

Last updated at Posted at 2016-12-29

Overview

Bluetooth on Raspberry Pi3 with Ubuntu Mate 16.04 LTS で、ようやくRaspberry Pi3内蔵のBluetoothが動くようになったので、BLE deviceをhackしてみるために色々と遊んでみたのです。

なお、遊んだ結果をまとたscriptを以下に書いておきました。

Bluetoothの有効化

$ sudo rfkill unblock bluetooth
$ sudo hciconfig hci0 up

ほかは前の記事を見てください。

BLE devicesの列挙

$ sudo hcitool lescan
LE Scan ...
D0:5F:B8:XX:XX:XX SATECHILED-0

BLE deviceのserviceの列挙

$ sudo gatttool --device D0:5F:B8:XX:XX:XX --primary

BLEのcharacteristicsの列挙

$ sudo gatttool --device D0:5F:B8:XX:XX:XX --char-desc

ここから所望のUUIDのサービスのhandleを取得するには、

$ sudo gatttool --device D0:5F:B8:XX:XX:XX --char-desc | grep fff3
handle = 0x002b, uuid = 0000fff3-0000-1000-8000-00805f9b34fb

みたいにするとかが便利かもしれない。

例 : SATECHI LED Bulbの制御

色々と弄った結果。

bulb:On

# gatttool --device=D0:5F:B8:XX:XX:XX --char-write-req --handle=0x002b --value=0f0d0300ffffffc800c800c8000059ffff

bulb:off

# gatttool --device=D0:5F:B8:2F:AA:EC --char-write-req --handle=0x002b --value=0f0d0300ffffff0000c800c8000091ffff

で、面倒なので

$ ./bleBulbDriver.rb
Usage: listDevices|on|off|allOn|allOff
bleBulbDriver Copyright 2016 hidenorly
    -b, --target=                    Set target device's mac address
    -t, --type=                      Set device type (default:SATECHILED)
$ sudo ./bleBulbDriver.rb listdevices
D0:5F:B8:XX:XX:XX SATECHILED-0
$ sudo ./bleBulbDriver.rb allon
$ sudo ./bleBulbDriver.rb alloff
$ sudo ./bleBulbDriver.rb alltoggle
$ ./bleBulbDriver.rb on -b D0:5F:B8:XX:XX:XX
$ ./bleBulbDriver.rb off -b D0:5F:B8:XX:XX:XX
$ ./bleBulbDriver.rb toggle -b D0:5F:B8:XX:XX:XX

のようにできるようにしておきました。

これで、色々とできる!

0
2
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
0
2