HOME
  Security
   Software
    Hardware
  
FPGA
  CPU
   Android
    Raspberry Pi
  
nLite
  Xcode
   etc.
    ALL
  
LINK
BACK
 

2017/08/17

Raspberry Pi 3の gatttoolのコマンドラインで TIの SensorTagを直接操作する方法 Raspberry Pi 3の gatttoolのコマンドラインで TIの SensorTagを直接操作する方法

(ラズパイ3と gatttoolのコマンドラインで TIの SensorTagに直接接続して gatttoolの使い方を覚える)

Tags: [Raspberry Pi], [電子工作]





● Raspberry Pi 3 Model Bを遂に購入

 Raspberry Pi3 Model B RPI2 RPI3

 大人気の CPUボードの Raspberry Piに WiFiと Bluetoothが搭載されたモデルが新発売となりました。
 以前から Raspberry Pi 2を買おうかどうか迷っていましたが、Raspberry Pi 3 Model Bの発売を機に購入を決意してラズベリアンになる事にしました。

 ※ ラズパイの OS Raspbianはバージョンが上がる毎に過去の版と OSの内部の作りが変わり、過去に書かれた製作記事(例えば Raspbian Wheezyの時代の記事)がそのままではエラーが出たりして動かない事が有ります。
 ※ 当方のホームページのラズパイ記事は全て Raspberry Pi 3 Model Bと Raspbian Jessieの組み合わせで動作確認をしております。
(ただし、将来的に新しい Raspbian OSが出た場合に、当方の Raspbian Jessieを基にした内容がそのままでは動かない可能性が有ります。)
 ※ 2017/08/16から Raspbian OSは Raspbian Jessieから Raspbian Stretchに変わりました。
 ※ 2019/06/20から Raspbian OSは Raspbian Stretchから Raspbian Busterに変わりました。

Download Raspbian for Raspberry Pi

ちなみに、歴代のバージョンと名称は
Debianコードネーム年月備考(参考)Ubuntuでの該当名称
Debian 11Bullseye2021/08/14~2021/11からラズパイにリリースFocal Fossa 20.04 LTS ?
Debian 10Buster2019/06/20~2019/06からラズパイ4対応Bionic 18.04 LTS
Debian 9Stretch2017/08/16~2018/03からラズパイ3B+対応Xenial 16.04 LTS
Debian 8Jessie2015~2016/02からラズパイ3対応Trusty 14.04 LTS
Debian 7Wheezy2013~2016
Debian 6.0Squeeze2011~2014
Debian GNU/Linux 5.0Lenny2009~2012


●ラズパイ3 gatttoolのコマンドラインで SensorTagを直接いじくる方法。

 gatttoolコマンドで BLEのペリフェラルを直接操作する方法を覚えて、BLE関係で何か問題が有った場合に原因の切り分けができる様にします。

 gatttoolコマンドを問題発生時の原因調査の便利ツールとして利用できる様にします。


●使用した Raspbian OSのバージョン

・ uname -aで環境を確認する。
 (RASPBIAN STRETCH WITH DESKTOP Release date:2017-08-16)
 使用した Raspbian OSのバージョン
$ uname -a
Linux raspberrypi 4.9.41-v7+ #1023 SMP Tue Aug 8 16:00:15 BST 2017 armv7l GNU/Linux

$ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 9.1 (stretch)
Release:        9.1
Codename:       stretch


●接続に使用する TI SensorTag キット。

 TIのページから直接 $29で PayPal支払いで簡単に購入できます。
IoT を容易に実現 - TI SensorTag キット

2014/08/01
TIの 8051マイコン内蔵の BLE CC2540/CC2541を使ってみる
TIの 8051マイコン内蔵の BLE CC2540/CC2541を使ってみる

  Bluetooth Low Energyの SensorTagや iBeacon、CC Debuggerの使い方など

 GATT Characteristicsの一覧表。Bluetooth SIGで決めた決まりきった UUIDの一覧表。
GATT Characteristics - Bluetooth SIG

 SensorTag User Guide CC2541DK SENSORの UUIDの一覧表。
SensorTag User Guide


● gatttoolのコマンドラインで SensorTagを直接いじくる方法。

 gatttoolコマンドで BLEのペリフェラルを直接操作する方法を覚えて、BLE関係で何か問題が有った場合に原因の切り分けができる様にします。

 gatttoolコマンドはラズパイの Raspbian OSに標準で入っています。(別途インストール作業は不要)

● gatttoolコマンド

$ gatttool
Usage:
  gatttool [OPTION...]

Help Options:
  -h, --help                                Show help options
  --help-all                                Show all help options
  --help-gatt                               Show all GATT commands
  --help-params                             Show all Primary Services/Characteristics arguments
  --help-char-read-write                    Show all Characteristics Value/Descriptor Read/Write arguments

Application Options:
  -i, --adapter=hciX                        Specify local adapter interface
  -b, --device=MAC                          Specify remote Bluetooth address
  -t, --addr-type=[public | random]         Set LE address type. Default: public
  -m, --mtu=MTU                             Specify the MTU size
  -p, --psm=PSM                             Specify the PSM for GATT/ATT over BR/EDR
  -l, --sec-level=[low | medium | high]     Set security level. Default: low
  -I, --interactive                         Use interactive mode

● gatttoolで BLEデバイスに接続する

export TARGET_BLE=BC:6A:29:11:22:33
echo $TARGET_BLE
gatttool -I -b $TARGET_BLE

[BC:6A:29:11:22:33][LE]> help
help                                           Show this help
exit                                           Exit interactive mode
quit                                           Exit interactive mode
connect         [address [address type]]       Connect to a remote device
disconnect                                     Disconnect from a remote device
primary         [UUID]                         Primary Service Discovery
included        [start hnd [end hnd]]          Find Included Services
characteristics [start hnd [end hnd [UUID]]]   Characteristics Discovery
char-desc       [start hnd] [end hnd]          Characteristics Descriptor Discovery
char-read-hnd   <handle>                       Characteristics Value/Descriptor Read by handle
char-read-uuid  <UUID> [start hnd] [end hnd]   Characteristics Value/Descriptor Read by UUID
char-write-req  <handle> <new value>           Characteristic Value Write (Write Request)
char-write-cmd  <handle> <new value>           Characteristic Value Write (No response)
sec-level       [low | medium | high]          Set security level. Default: low
mtu             <value>                        Exchange MTU for GATT/ATT

# SensorTagの BLEアドレス
export TARGET_BLE=BC:6A:29:11:22:33
echo $TARGET_BLE
# BC:6A:29:11:22:33

# -Iでインタラクティブモードで gatttoolを起動します。
gatttool -I -b $TARGET_BLE

# connectで SensorTagデバイスに接続します。
# SensorTag側はあらかじめ側面のボタンを押して接続待ち状態にしておく事。
[BC:6A:29:11:22:33][LE]> connect
Attempting to connect to BC:6A:29:11:22:33
Connection successful

# primaryで SensorTagの サービス UUIDの一覧を取得して表示します。
[BC:6A:29:11:22:33][LE]> primary
attr handle: 0x0001, end grp handle: 0x000b uuid: 00001800-0000-1000-8000-00805f9b34fb
attr handle: 0x000c, end grp handle: 0x000f uuid: 00001801-0000-1000-8000-00805f9b34fb
attr handle: 0x0010, end grp handle: 0x0022 uuid: 0000180a-0000-1000-8000-00805f9b34fb
attr handle: 0x0023, end grp handle: 0x002d uuid: f000aa00-0451-4000-b000-000000000000
attr handle: 0x002e, end grp handle: 0x0038 uuid: f000aa10-0451-4000-b000-000000000000
attr handle: 0x0039, end grp handle: 0x0043 uuid: f000aa20-0451-4000-b000-000000000000
attr handle: 0x0044, end grp handle: 0x004e uuid: f000aa30-0451-4000-b000-000000000000
attr handle: 0x004f, end grp handle: 0x005d uuid: f000aa40-0451-4000-b000-000000000000
attr handle: 0x005e, end grp handle: 0x0068 uuid: f000aa50-0451-4000-b000-000000000000
attr handle: 0x0069, end grp handle: 0x006d uuid: 0000ffe0-0000-1000-8000-00805f9b34fb
attr handle: 0x006e, end grp handle: 0x0074 uuid: f000aa60-0451-4000-b000-000000000000
attr handle: 0x0075, end grp handle: 0x007f uuid: f000ccc0-0451-4000-b000-000000000000
attr handle: 0x0080, end grp handle: 0xffff uuid: f000ffc0-0451-4000-b000-000000000000

# characteristicsで SensorTagの キャラクタリスティック UUIDの一覧を取得して表示します。
[BC:6A:29:11:22:33][LE]> characteristics
handle: 0x0002, char properties: 0x02, char value handle: 0x0003, uuid: 00002a00-0000-1000-8000-00805f9b34fb
handle: 0x0004, char properties: 0x02, char value handle: 0x0005, uuid: 00002a01-0000-1000-8000-00805f9b34fb
handle: 0x0006, char properties: 0x0a, char value handle: 0x0007, uuid: 00002a02-0000-1000-8000-00805f9b34fb
handle: 0x0008, char properties: 0x08, char value handle: 0x0009, uuid: 00002a03-0000-1000-8000-00805f9b34fb
handle: 0x000a, char properties: 0x02, char value handle: 0x000b, uuid: 00002a04-0000-1000-8000-00805f9b34fb
handle: 0x000d, char properties: 0x20, char value handle: 0x000e, uuid: 00002a05-0000-1000-8000-00805f9b34fb
handle: 0x0011, char properties: 0x02, char value handle: 0x0012, uuid: 00002a23-0000-1000-8000-00805f9b34fb
handle: 0x0013, char properties: 0x02, char value handle: 0x0014, uuid: 00002a24-0000-1000-8000-00805f9b34fb
handle: 0x0015, char properties: 0x02, char value handle: 0x0016, uuid: 00002a25-0000-1000-8000-00805f9b34fb
handle: 0x0017, char properties: 0x02, char value handle: 0x0018, uuid: 00002a26-0000-1000-8000-00805f9b34fb
handle: 0x0019, char properties: 0x02, char value handle: 0x001a, uuid: 00002a27-0000-1000-8000-00805f9b34fb
handle: 0x001b, char properties: 0x02, char value handle: 0x001c, uuid: 00002a28-0000-1000-8000-00805f9b34fb
handle: 0x001d, char properties: 0x02, char value handle: 0x001e, uuid: 00002a29-0000-1000-8000-00805f9b34fb
handle: 0x001f, char properties: 0x02, char value handle: 0x0020, uuid: 00002a2a-0000-1000-8000-00805f9b34fb
handle: 0x0021, char properties: 0x02, char value handle: 0x0022, uuid: 00002a50-0000-1000-8000-00805f9b34fb
handle: 0x0024, char properties: 0x12, char value handle: 0x0025, uuid: f000aa01-0451-4000-b000-000000000000
handle: 0x0028, char properties: 0x0a, char value handle: 0x0029, uuid: f000aa02-0451-4000-b000-000000000000
handle: 0x002b, char properties: 0x0a, char value handle: 0x002c, uuid: f000aa03-0451-4000-b000-000000000000
handle: 0x002f, char properties: 0x12, char value handle: 0x0030, uuid: f000aa11-0451-4000-b000-000000000000
handle: 0x0033, char properties: 0x0a, char value handle: 0x0034, uuid: f000aa12-0451-4000-b000-000000000000
handle: 0x0036, char properties: 0x0a, char value handle: 0x0037, uuid: f000aa13-0451-4000-b000-000000000000
handle: 0x003a, char properties: 0x12, char value handle: 0x003b, uuid: f000aa21-0451-4000-b000-000000000000
handle: 0x003e, char properties: 0x0a, char value handle: 0x003f, uuid: f000aa22-0451-4000-b000-000000000000
handle: 0x0041, char properties: 0x0a, char value handle: 0x0042, uuid: f000aa23-0451-4000-b000-000000000000
handle: 0x0045, char properties: 0x12, char value handle: 0x0046, uuid: f000aa31-0451-4000-b000-000000000000
handle: 0x0049, char properties: 0x0a, char value handle: 0x004a, uuid: f000aa32-0451-4000-b000-000000000000
handle: 0x004c, char properties: 0x0a, char value handle: 0x004d, uuid: f000aa33-0451-4000-b000-000000000000
handle: 0x0050, char properties: 0x12, char value handle: 0x0051, uuid: f000aa41-0451-4000-b000-000000000000
handle: 0x0054, char properties: 0x0a, char value handle: 0x0055, uuid: f000aa42-0451-4000-b000-000000000000
handle: 0x0057, char properties: 0x0a, char value handle: 0x0058, uuid: f000aa44-0451-4000-b000-000000000000
handle: 0x005a, char properties: 0x02, char value handle: 0x005b, uuid: f000aa43-0451-4000-b000-000000000000
handle: 0x005f, char properties: 0x12, char value handle: 0x0060, uuid: f000aa51-0451-4000-b000-000000000000
handle: 0x0063, char properties: 0x0a, char value handle: 0x0064, uuid: f000aa52-0451-4000-b000-000000000000
handle: 0x0066, char properties: 0x0a, char value handle: 0x0067, uuid: f000aa53-0451-4000-b000-000000000000
handle: 0x006a, char properties: 0x10, char value handle: 0x006b, uuid: 0000ffe1-0000-1000-8000-00805f9b34fb
handle: 0x006f, char properties: 0x02, char value handle: 0x0070, uuid: f000aa61-0451-4000-b000-000000000000
handle: 0x0072, char properties: 0x0a, char value handle: 0x0073, uuid: f000aa62-0451-4000-b000-000000000000
handle: 0x0076, char properties: 0x12, char value handle: 0x0077, uuid: f000ccc1-0451-4000-b000-000000000000
handle: 0x007a, char properties: 0x08, char value handle: 0x007b, uuid: f000ccc2-0451-4000-b000-000000000000
handle: 0x007d, char properties: 0x08, char value handle: 0x007e, uuid: f000ccc3-0451-4000-b000-000000000000
handle: 0x0081, char properties: 0x1c, char value handle: 0x0082, uuid: f000ffc1-0451-4000-b000-000000000000
handle: 0x0085, char properties: 0x1c, char value handle: 0x0086, uuid: f000ffc2-0451-4000-b000-000000000000

# SensorTagの押しボタンサービスの ffe0の char-descの一覧を取得します。
# attr handle: 0x0069, end grp handle: 0x006d uuid: 0000ffe0-0000-1000-8000-00805f9b34fb
[BC:6A:29:11:22:33][LE]> char-desc 0x0069 0x006d
handle: 0x0069, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x006a, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x006b, uuid: 0000ffe1-0000-1000-8000-00805f9b34fb
handle: 0x006c, uuid: 00002902-0000-1000-8000-00805f9b34fb
handle: 0x006d, uuid: 00002901-0000-1000-8000-00805f9b34fb

# handleの 0x0069から 0x006dまでを読み込んでみます。
[BC:6A:29:11:22:33][LE]> char-read-hnd 0x69
Characteristic value/descriptor: e0 ff

[BC:6A:29:11:22:33][LE]> char-read-hnd 0x6a
Characteristic value/descriptor: 10 6b 00 e1 ff

[BC:6A:29:11:22:33][LE]> char-read-hnd 0x6b
Error: Characteristic value/descriptor read failed: Attribute can't be read

[BC:6A:29:11:22:33][LE]> char-read-hnd 0x6c
Characteristic value/descriptor: 00 00

# handle: 0x006d, uuid: 00002901-0000-1000-8000-00805f9b34fb
# 0000ffe0-0000-1000-8000-00805f9b34fbの押しボタンのサービス名称  "Key Press State"
[BC:6A:29:11:22:33][LE]> char-read-hnd 0x6d
Characteristic value/descriptor: 4b 65 79 20 50 72 65 73 73 20 53 74 61 74 65
 "Key Press State"

# UUIDから char-read-uuidをしてみます。
[BC:6A:29:11:22:33][LE]> char-read-uuid 2800
handle: 0x0001   value: 00 18
handle: 0x000c   value: 01 18
handle: 0x0010   value: 0a 18

[BC:6A:29:11:22:33][LE]> char-read-uuid 2803
handle: 0x0002   value: 02 03 00 00 2a
handle: 0x0004   value: 02 05 00 01 2a
handle: 0x0006   value: 0a 07 00 02 2a

[BC:6A:29:11:22:33][LE]> char-read-uuid ffe1
Error: Read characteristics by UUID failed: Attribute can't be read

[BC:6A:29:11:22:33][LE]> char-read-uuid 2902
handle: 0x000f   value: 00 00
handle: 0x0026   value: 00 00
handle: 0x0031   value: 00 00
handle: 0x003c   value: 00 00
handle: 0x0047   value: 00 00

# UUID 2901は押しボタンのサービス名称  "Key Press State"
[BC:6A:29:11:22:33][LE]> char-read-uuid 2901
handle: 0x0027   value: 54 65 6d 70 2e 20 44 61 74 61
 "Key Press State"

# 押しボタンの Notifyを有効にして、ボタン押下毎にイベント通知をして貰います。
# 0x006bは間違い
[BC:6A:29:11:22:33][LE]> char-write-req 0x006b 0100
Error: Characteristic Write Request failed: Attribute can't be written

# 0x006cに 0x0100を書き込むと Notify通知が有効になる。
# ボタン押下毎に Notification表示をします。
[BC:6A:29:11:22:33][LE]> char-write-req 0x006c 0100
Characteristic value was written successfully
Notification handle = 0x006b value: 02
Notification handle = 0x006b value: 00
Notification handle = 0x006b value: 01
Notification handle = 0x006b value: 00

# 0x006cに 0x0000を書き込むと Notify通知が無効(停止)になる。
[BC:6A:29:11:22:33][LE]> char-write-req 0x006c 0000
Characteristic value was written successfully

# char-write-reqでも char-write-cmdでも同じ
[BC:6A:29:11:22:33][LE]> char-write-cmd 0x006c 0100
Notification handle = 0x006b value: 02
Notification handle = 0x006b value: 00
Notification handle = 0x006b value: 01
Notification handle = 0x006b value: 00

[BC:6A:29:11:22:33][LE]> char-write-cmd 0x006c 0000


# UUID f000aa10は Accelerometer Sensor(加速度センサ) Kionix KXTJ9 3-axis
# Kionix KXTJ9 Data sheet.
# http://www.kionix.com/product/KXTJ9-1007

# <Data>  F000AA11  Read/Notify  X : Y : Z (3 bytes)
[BC:6A:29:11:22:33][LE]> char-read-uuid f000aa11-0451-4000-b000-000000000000
handle: 0x0030   value: 00 00 00

# <Configuration>  F000AA12  R/W  1 byte
[BC:6A:29:11:22:33][LE]> char-read-uuid f000aa12-0451-4000-b000-000000000000
handle: 0x0034   value: 00

# X : Y : Z (3 bytes)
[BC:6A:29:11:22:33][LE]> char-read-hnd 30
Characteristic value/descriptor: 00 00 00

# Configuration
[BC:6A:29:11:22:33][LE]> char-read-hnd 34
Characteristic value/descriptor: 00

# Configuration 07 enable sensor
[BC:6A:29:11:22:33][LE]> char-write-cmd 34 07

# X : Y : Z (3 bytes)
[BC:6A:29:11:22:33][LE]> char-read-hnd 30
Characteristic value/descriptor: ff 01 10
[BC:6A:29:11:22:33][LE]> char-read-hnd 30
Characteristic value/descriptor: 0c f8 07
[BC:6A:29:11:22:33][LE]> char-read-hnd 30
Characteristic value/descriptor: 05 f3 0b
[BC:6A:29:11:22:33][LE]> char-read-hnd 30
Characteristic value/descriptor: 01 f6 0d
[BC:6A:29:11:22:33][LE]> char-read-hnd 30
Characteristic value/descriptor: f9 fc 04
[BC:6A:29:11:22:33][LE]> char-read-hnd 30
Characteristic value/descriptor: f1 02 fe

# <Data Notification> Enable Data Notification
[BC:6A:29:11:22:33][LE]> char-write-cmd 31 0100
Notification handle = 0x0030 value: ff 01 10
Notification handle = 0x0030 value: ff 01 0f
Notification handle = 0x0030 value: 02 02 f8
Notification handle = 0x0030 value: f6 06 fe
Notification handle = 0x0030 value: 06 f4 03
Notification handle = 0x0030 value: 0c f9 0a
Notification handle = 0x0030 value: f7 fe f5

# <Data Notification> Disable Data Notification
[BC:6A:29:11:22:33][LE]> char-write-cmd 31 0000

# UUID f000aa10-0451-4000-b000-000000000000
[BC:6A:29:11:22:33][LE]> char-desc 2E 38
handle: 0x002e, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x002f, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0030, uuid: f000aa11-0451-4000-b000-000000000000
handle: 0x0031, uuid: 00002902-0000-1000-8000-00805f9b34fb
handle: 0x0032, uuid: 00002901-0000-1000-8000-00805f9b34fb
handle: 0x0033, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0034, uuid: f000aa12-0451-4000-b000-000000000000
handle: 0x0035, uuid: 00002901-0000-1000-8000-00805f9b34fb
handle: 0x0036, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0037, uuid: f000aa13-0451-4000-b000-000000000000
handle: 0x0038, uuid: 00002901-0000-1000-8000-00805f9b34fb

# "Accel. Data"
[BC:6A:29:11:22:33][LE]> char-read-hnd 32
Characteristic value/descriptor: 41 63 63 65 6c 2e 20 44 61 74 61

# "Accel. Conf."
[BC:6A:29:11:22:33][LE]> char-read-hnd 35
Characteristic value/descriptor: 41 63 63 65 6c 2e 20 43 6f 6e 66 2e

# "Accel. Period"
[BC:6A:29:11:22:33][LE]> char-read-hnd 38
Characteristic value/descriptor: 41 63 63 65 6c 2e 20 50 65 72 69 6f 64

# "Temp. Data"
[BC:6A:29:11:22:33][LE]> char-read-uuid 2901
handle: 0x0027   value: 54 65 6d 70 2e 20 44 61 74 61

# "Accel. Data"
[BC:6A:29:11:22:33][LE]> char-read-uuid 2901 30 50
handle: 0x0032   value: 41 63 63 65 6c 2e 20 44 61 74 61

# disconnectで接続を解除
[BC:6A:29:11:22:33][LE]> disconnect

(gatttool:4769): GLib-WARNING **: Invalid file descriptor.

# quitで gatttoolを終了(exitでも終了できる)
[BC:6A:29:11:22:33][LE]> quit

pi@raspberrypi:~ $



Tags: [Raspberry Pi], [電子工作]

●関連するコンテンツ(この記事を読んだ人は、次の記事も読んでいます)

TIの 8051マイコン内蔵の BLE CC2540/CC2541を使ってみる
TIの 8051マイコン内蔵の BLE CC2540/CC2541を使ってみる

  Bluetooth Low Energyの SensorTagや iBeacon、CC Debuggerの使い方など

Raspberry Pi 3の Bluetooth BLEで TI SensorTagと接続してセンサーの測定値を読み取る方法
Raspberry Pi 3の Bluetooth BLEで TI SensorTagと接続してセンサーの測定値を読み取る方法

  ラズパイ3の BLEと Node.jsで、TIの SensorTag CC2541DKに接続してセンサーの状態を取得

Raspberry Pi 3に Nodejs blenoをインストールして Bluetooth BLEのペリフェラルを作成する
Raspberry Pi 3に Nodejs blenoをインストールして Bluetooth BLEのペリフェラルを作成する

  ラズパイ3と Node.js blenoで Bluetooth BLEの周辺機器機能を実装する

Raspberry Pi 3の Nodejs blenoで BLE接続して GPIOで Lチカ制御やボタン状態を読み取る
Raspberry Pi 3の Nodejs blenoで BLE接続して GPIOで Lチカ制御やボタン状態を読み取る

  ラズパイ3と Node.js blenoで BLEの周辺機器機能を実装する GPIO編

Raspberry Pi 3の Python BLE pygattlibライブラリで TIの SensorTagに接続して制御する方法
Raspberry Pi 3の Python BLE pygattlibライブラリで TIの SensorTagに接続して制御する方法

  ラズパイ3と Python BLE pygattlibで TIの SensorTagのセンサーの値を取得とボタン状態の通知を受信する

Raspberry Pi 3に Bluetooth BlueZ Version 5.42 BLE
Raspberry Pi 3に Bluetooth BlueZ Version 5.42 BLE

  ラズパイで Bluetooth 4.0の BLE gatt通信を行なう TIの SensorTagや iBeacon実験など

Amazon Dash Buttonをハックして IoTボタンとして使う方法を解説
Amazon Dash Buttonをハックして IoTボタンとして使う方法を解説

  Amazon Dash Buttonをハック。ARP要求を監視、DNSハック、IPアドレスハック等。

Raspberry Piで Amazon Dash Buttonを自在にハックする方法。node-dash-button方法
Raspberry Piで Amazon Dash Buttonを自在にハックする方法。node-dash-button方法

  ラズパイ + Node.jsで Amazon Dash Buttonをハックして IoTボタンとして使う方法を解説

Raspberry Piで Amazon Dash Buttonを自在にハックする方法。tcpdump libpcap方法
Raspberry Piで Amazon Dash Buttonを自在にハックする方法。tcpdump libpcap方法

  ラズパイ + libpcap Packet Capture libraryで Amazon Dash Buttonをハックして IoTする

Raspberry Piで Amazon Dash Buttonを自在にハックする方法。Python Scapyライブラリ方法
Raspberry Piで Amazon Dash Buttonを自在にハックする方法。Python Scapyライブラリ方法

  ラズパイ + Python Scapyライブラリで ARPパケット検出からの Amazon Dash Buttonをハック

Raspberry Piで Amazon Dash Buttonを自在にハックする方法。Node.js Dasher方法
Raspberry Piで Amazon Dash Buttonを自在にハックする方法。Node.js Dasher方法

  ラズパイ + Node.js Dasherライブラリで ARPパケット検出からの Amazon Dash Buttonをハック

Raspberry Pi 3で安定して使える相性の無い最適な microSDカードの種類のまとめ
Raspberry Pi 3で安定して使える相性の無い最適な microSDカードの種類のまとめ

  ラズパイ3で安定して使える microSDカードを購入する Teamと SanDiskは絶対に買わない

Raspberry Pi 3の Linuxコンソール上で使用する各種コマンドまとめ
Raspberry Pi 3の Linuxコンソール上で使用する各種コマンドまとめ

  ラズパイの Raspbian OSのコマンドラインで使用する便利コマンド、負荷試験や CPUシリアル番号の確認方法等も

Raspberry Pi 3で GPIO端子の I2C機能を有効化する方法
Raspberry Pi 3で GPIO端子の I2C機能を有効化する方法

  ラズパイ3の GPIO端子の I2C機能を有効にして各種センサーを繋げる方法まとめ




[HOME] | [BACK]
リンクフリー(連絡不要、ただしトップページ以外は Web構成の変更で移動する場合があります)
Copyright (c) 2017 FREE WING,Y.Sakamoto
Powered by 猫屋敷工房 & HTML Generator

http://www.neko.ne.jp/~freewing/raspberry_pi/raspberry_pi_ble_gatttool/