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お出かけセットがまた増えた。