今回使用したもの
- Nexus 7 (2013)
- Raspberry Pi Zero WH (Raspbian Stretch with desktop)
Raspbery Pi のうち、Bluetooth を標準装備しているものは BlueZ 等は導入済みであり、追加のパッケージは必要ない。
$ apt-cache show bluetooth
Package: bluetooth
Source: bluez
Version: 5.43-2+rpt2+deb9u2
(以下略)
VNC で接続するためには、Raspberry Pi 側に Bluetooth 経由でアクセスできる IPアドレス が必要になるが、これは Raspberry Pi からタブレットへ、Bluetooth テザリングで接続すれば済む。
■ Android 側での設定
- BluetoothをONにする
- BluetoothテザリングをONにする
- VNC互換のクライアントをインストール
VNC Viewer - RealVNC Limited
■ Raspberry Pi 側での設定
- VNCサーバを「有効」にする
Raspberry Pi のスタートメニュー > 設定 > Raspberry Pi の設定 > [インターフェース]タブ - BluetoothをONにする
- Bluetoothのペアリングを行い、タブレットの Bluetooth と接続する
- テザリングを開始する(下記)
まずは、Raspberry Pi でペアリングしたタブレットの Bluetooth デバイスアドレス(BD Address) を確認します。
$ bluetoothctl
以下は bluetoothctl のセッション
# devices
Device 00:00:00:00:00:00 nexus7(これがペアリングしたタブレットのBD Address)
# quit
Raspberry Pi のテザリングを開始するためには、Bluetooth PAN (Personal Area Network) の設定が必要です。GitHub で提供されている Bluetooth PAN のセットアップ スクリプトが使用できます。
https://github.com/mk-fg/fgtk#bt-pan
$ wget https://raw.githubusercontent.com/mk-fg/fgtk/master/bt-pan
$ chmod a+x bt-pan
$ sudo ./bt-pan client 00:00:00:00:00:00(上記 タブレットの BD Address を指定する)
$ ifconfig bnep0
bnep0: flags=4163
inet 192.168.xx.xx netmask 255.255.255.0 broadcast 192.168.xx.xx
(以下略)
これで Bluetooth PAN で使える IPアドレス(192.168.xx.xx) が有効になったので、タブレットの VNC クライアントからこのアドレスに接続すればOK
Raspberry Pi の起動時に、自動で Bluetooth PAN を開始するには、次の記事を参照
Raspberry Pi に、自動で開始するサービスを追加する