#なぜBluetooth?
わが家のポケットWifiではリモートデスクトップ接続が出来なかったので、Buletoothでの接続を試みました。
結論から言うとBluetoothは動作が遅く実用性は微妙ですが、
linuxの各種コマンドやBluetooth、VNC等の勉強になったので、
その点では良かったと思います。
※参考にさせて頂いた記事
・全般(下例ではtightvncserverを使用していますが、本稿ではデフォルトのRealVNC使用)
https://www.raspberrypirulo.net/entry/bluetooth
https://qiita.com/hirohiro77/items/d6ddf3abc805c48772c8
・SSHの有効化
https://qiita.com/deco1183/items/9546dd5ff7a97322c27b
#必要なもの
・Raspberry Pi本体(今回はRaspberry Pi3 ModelBを使用)
・Androidスマホ(今回はPixel 3aを使用、OSはAndroid10)
・表示用ディスプレイ(スマホと接続するまでの設定に必要です)
#手順
##①事前準備
・Bluetooth HCIが有効であることを確認
$ sudo hciconfig
→3行目が"UP RUNNING PSCAN"ならOK、"DOWN"だったら
$ sudo hciconfig hci0 up
を実行
・BluetoothのBlock解除確認
$ rfkill list
→1:hci0:Bluetoothの
soft blocked: no
ならOK
soft blocked: yesなら
$ sudo rfkill unblock bluetooth
を実行
・/boot/config.txtのBluetooth無効解除
「/boot/config.txt」を開き、
「# dtoverlay=pi3-disable-bt」
という記述があればコメントアウトして保存
・必要なパッケージのインストール
curl、wget、python-dbus、pulseaudio-module-bluetoothをインストールする
sudo apt install curl wget python-dbus pulseaudio-module-bluetooth
bt-panをダウンロードし、権限を実行可能に変更
cd ~
wget https://raw.githubusercontent.com/mk-fg/fgtk/master/bt-pan
chmod +x bt-pan
sudo chown root: bt-pan
sudo mv bt-pan /usr/bin/
##②SSHの有効化
・デスクトップ左上のプルダウンメニューから[設定]→[Raspberry Piの設定]にある[インターフェイス]→有効をチェック
・下記コマンドでbootフォルダ内にsshフォルダを作成
cd /boot
sudo mkdir ssh
##③スマホ側でBluetoothの設定
※スマホ側での操作です
(下記はPixel3aの画面例ですが、機種等により若干異なるはずです)
・スマホのBluetoothをONにする
・下記画面の手順で、BluetoothテザリングをONにする
設定ボタン
##④スマホとRaspberry PiのBluetoothペアリング
・スマホ側でペアリング探索
※スマホ側での操作です
③のBluetooth設定画面から、下図のペアリング設定画面に入る
※Pixel3aではこの画面にMacアドレスも書いてあります
・bluetoothctlを起動
※以降は基本的にRaspberry Pi側での操作がメインです
$ bluetoothctl
・Bluetoothデバイスをスキャン
power on
discoverable on
scan on
※この下に見つかったBluetoothの一覧が表示される
この画面でスマホのMacアドレスが出てくれば成功
・ペアリング
pair [スマホのMacアドレス]
スマホ側、RaspberryPi側共にパスキーの確認が出てくるので、どちらもYESの操作をする
"Pairing successful"が表示されれば成功
・接続
connect [スマホのMacアドレス]
"connection successful"が表示されれば成功
・Trust
trust [スマホのMacアドレス]
"trust succeeded"が表示されれば成功
・接続の確認
info
"connected on"&"trusted on"となっていれば成功
※一度接続が切れた後等にconnect等が失敗する場合、removeしてから上記ペアリング~Trustをやり直せば良い
remove [スマホのMacアドレス]
##⑤PAN接続
・前のコンソール画面を開いたまま、新たにコンソールを開く
・PAN接続
sudo bt-pan client AB:CD:EF:12:34:56
何もエラーが出なければ成功
(スマホ側でラズパイをオーディオと認識してエラーが出たりするが、何度か繰り返すと上手くいくことが多そう)
・ifconfigで接続確認
ifconfig
bnep0: flags=・・・・
eth0: flags=・・・・
上記のように、表示された内容に「bnep0:」が存在すれば成功
##⑥VNCServerを立ち上げ
・デスクトップ左上のプルダウンメニューから[設定]→[Raspberry Piの設定]にある[インターフェイス]→有効をチェック
・デスクトップ右上のVNCServerタブをクリックし、
記載されているIPをメモしておく
##⑦スマホからVNC接続
・スマホには予めVNC Viewerをインストールしておく
https://play.google.com/store/apps/details?id=com.realvnc.viewer.android&hl=ja
・Addressに⑥でメモしたIPを記載し、CREATE(Nameは空欄でOK)
・ユーザ名、パスワードを入力
(ユーザ名はデフォルトでは「pi」、パスワードはラズパイ初期インストール時に設定したパスワード)
画面が表示されれば成功です。
苦労して接続できたのに本末転倒なコメントですが、やはりBluetoothなので動作は非常にもっさりです。
素直にHDMIを使うのがよさそうだと思いました(笑)
#最後に
我が家のポケットWiFiでもネットワーク構築できるようになったので、
こちらを参考にWiFiでのリモートデスクトップも試してみました。
結果、Bluetoothとは比べ物にならない程サクサク動きました。
冗談じゃなく自転車と新幹線くらいの差があります。
結論:Bluetoothはリモートデスクトップには遅すぎる