BlueTooth on RPi

投稿日:

Raspberry Pi(RPi)にBlueToothをsetupした。

利用したUSB BlueToothアダプタは、LogitecのLBT-UAN03C2BK8。
amazonで1,073円。

1. install package

apt-get でドライバやツールをinstallする。
$ sudo apt-get install bluetooth 


2. deviceの確認


hciツールを利用して、自機を調べる。

$ hcitool dev
Devices:
 hci0 00:XX:DD:XX:22:YY

自分のdevice名は、hci0とわかったので、詳細情報を取得。

$ hciconfig hci0 name
hci0:	Type: BR/EDR  Bus: USB
	BD Address: 00:XX:DD:XX:22:YY  ACL MTU: 1021:8  SCO MTU: 64:1
	Name: 'raspberrypi-0'

名前が「aspberrypi-0」だと長すぎるので、「RPi-BT」に変更する。

$ sudo hciconfig hci0 name RPi-BT

3. 周りにあるBlueTooth機器を検索

$ hcitool scan
Scanning …
 70:XX:CB:XX:5E:YY Mac mini
 1C:XX:A7:XX:A1:YY iPad
 00:XX:1D:XX:99:YY Nintendo RVL-CNT-01

Mac mini(BlueToothの設定で検索可能)とiPad(bluetoothのscanモード)、Wiiリモコンは1と2を同時押しで、機器発見。
サービス内容など詳しく知りたければ、hcitoolで調べることができる。

$ sudo hcitool info 1C:XX:A7:XX:A1:YY
Requesting information ...
	BD Address:  1C:XX:A7:XX:A1:YY
	Device Name: iPad
	LMP Version: 4.0 (0x6) LMP Subversion: 0x4103
	Manufacturer: Broadcom Corporation (15)
	Features page 0: 0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87
		<3-slot packets> <5-slot packets> <encryption> <slot offset> 
		<timing accuracy> <role switch> <sniff mode> <RSSI> 
		<channel quality> <SCO link> <HV2 packets> <HV3 packets> 
		<u-law log> <A-law log> <CVSD> <paging scheme> <power control> 
		<transparent SCO> <broadcast encrypt> <EDR ACL 2 Mbps> 
		<EDR ACL 3 Mbps> <enhanced iscan> <interlaced iscan> 
		<interlaced pscan> <inquiry with RSSI> <extended SCO> 
		<EV4 packets> <EV5 packets> <AFH cap. slave> 
		<AFH class. slave> <LE support> <3-slot EDR ACL> 
		<5-slot EDR ACL> <sniff subrating> <pause encryption> 
		<AFH cap. master> <AFH class. master> <EDR eSCO 2 Mbps> 
		<EDR eSCO 3 Mbps> <3-slot EDR eSCO> <extended inquiry> 
		<LE and BR/EDR> <simple pairing> <encapsulated PDU> 
		<err. data report> <non-flush flag> <LSTO> <inquiry TX power> 
		<EPC> <extended features> 
	Features page 1: 0x07 0x00 0x00 0x00 0x00 0x00 0x00 0x00

4. USBアダプタの最大消費電力確認

じつは、このBlueToothアダプタを利用するためにUSB HUB(エレコム U2H-EG4SWH)を購入した。 うすうすわかっていたけど、今回の調査でWifiのUSBアダプタが消費電力で既にオーバーしていたことがはっきりしたため。
$ usb-devices 
...
S:  Product=USB2.0 Hub
C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=100mA
...
P:  Vendor=2019 ProdID=ed17 Rev=02.00
S:  Manufacturer=GW-USValue-EZ
S:  Product=GW-USValue-EZ
C:  #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=500mA
...
S:  Manufacturer=Broadcom Corp
S:  Product=Broadcom Bluetooth V3.0 USB Device
C:  #Ifs= 4 Cfg#= 1 Atr=a0 MxPwr=100mA

RPi全体で最低700mA必要なのに、USBポートはWifiのGW-USValue-EZ 500mA、
BlueTooth 100mA。さらにGPIO関連で必要なので、やっぱ2Aはないと。

RPiお出かけセットがまた増えた。