【コラボ企画】Raspberry Pi 愛に溢れるラズパイダのご訪問者に向けて新型Raspberry Pi 4Bのセット品をプレゼント!——クリックして特集記事へ

スマホのテザリングでRaspberryPi ZeroWをネット接続

speaker-phat インストールと設定
この記事は約6分で読めます。

Raspberry Pi をスマホ経由でネットに繋げる方法としてBluetoothでテザリングしてみました。

今回は特殊な環境です。

  • Raspberry Pi Zero W/WH
  • OSにVolumio

OSが通常のRaspbianであれば、BluetoothはGUI画面(デスクトップ)で簡単にペアリングが可能です。その場合はBT-PANから読み進めてください)

 

なお、設定の操作は自宅Wi-Fi内においてSSH経由で行いましたが、スマホとテザリングした時点でSSHでは操作ができなくなります。

Volumioのように画面もない場合は、操作系を別に用意しないとなりません。

Raspberry Pi Zero Wを直接操作するインターフェイス(モニター、キーボード)が必須になります。また、ネットワークを任意で切り替えられるボタンや制御プログラムがあればそれも可能と思われます。

また、VolumioのSSHは、デフォルトID、デフォルトパスワードは共に「volumio」です。また、以下の例ではホスト名を「volumio-bt-pan.local」と設定しています。

スポンサーリンク

Bluetoothの設定

Bluetoothパッケージのインストール

VolumioではBluetooth関連のパッケージが入っていません。現在は2つを指定しインストールします。(すると関連パッケージも追加してくれます)

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install -y bluetooth pi-bluetooth

ここで一旦再起動します。

reboot

起動したら、スマホと接続(ペアリング)するために設定します。

スキャン

bluetoothctl

以下のような記述でRaspberry Pi Zero WのBluetoothコントローラーが検出されます。

[NEW] Controller B8:27:EB:XX:XX:XX volumio-bt-pan [default]

スマホのインターネット共有(テザリング)を有効にさせスキャンします。(今回はiPhone5se)

[bluetooth]# scan on

Discovery started
[CHG] Controller B8:27:EB:XX:XX:XX Discovering: yes
[NEW] Device XX:XX:XX:XX:XX:XX ラズパイダのiPhone5se
[CHG] Device 6C:96:CF:D9:B7:C2 RSSI: -43
[CHG] Device 5B:DE:6E:B6:4E:F4 RSSI: -43
[CHG] Device 4B:DB:27:7B:FC:4F RSSI: -59
[CHG] Device 6C:96:CF:D9:B7:C2 RSSI: -56

検出されたデバイスのMACアドレスをコピーしておきます。

このままではスキャンが続くのでコマンドでオフにします。

[bluetooth]# scan off

ペアリングとトラスト

先程コピーしたMACアドレスを指定してスマホとペアリングをします。

[bluetooth]# pair ラズパイダのiPhone5seのMACアドレスをコピペ

画面には以下のようにパスキーが表示されるのでyesと入力します。

[agent] Confirm passkey 888117 (yes/no): yes

Pairing successful

このままでは毎回繋がないとなりませんので、トラスト(信頼)させます。

[bluetooth]# trust ラズパイダのiPhone5seのMACアドレスをコピペ

スマホの画面にペアリング許可のダイアログが出ますので、スマホの画面で許可のボタンを押します。

[CHG] Device ラズパイダのiPhone5seのMACアドレスをコピペ Trusted: yes
Changing ラズパイダのiPhone5seのMACアドレスをコピペ trust succeeded

これで完了です。exitコマンドでBluetooth操作から抜けます。

[bluetooth]# exit

テザリングの設定

スマホとペアリングできた段階でインターネットをスマホ経由で行えるようPAN(パーソナルエリアネットワーク)にできるアプリケーションをインストールします。

bt-panのインストールと接続

bt-panをダウンロードし、ルートとフルアクセス権限を与える。

sudo apt install python-dbus

sudo curl -L https://raw.githubusercontent.com/mk-fg/fgtk/master/bt-pan -o /usr/bin/bt-pan
sudo chown root.root /usr/bin/bt-pan
sudo chmod 777 /usr/bin/bt-pan

※python-dbusは環境によって必要無い場合もあるようです。

スマホと接続する

bt-pan 接続するコマンド

sudo bt-pan client XX:XX:XX:XX:XX:XX (スマホorタブレットのMacアドレス)

これでOKです。

IPアドレスを確認する場合

いつものようにコマンドで確認したとき、PAN接続ですので確認する箇所はbnep0になります。

ifconfig -a

起動時に接続するよう設定する

このままでは毎起動時に接続するコマンドが必要です。不便なので自動起動するように設定します。

sudo nano /etc/rc.local

/etc/rc.localを開き、コマンドを追記します。

sudo bt-pan client iPhone5seのMACアドレスをコピペ

これでRaspberry Pi を起動後、スマホのテザリングが有効になっていれば接続可能です。

注意するのは、テザリングした後にこのままではRaspberry Pi の操作ができなくなります。モニターとキーボードを繋いだ環境ではない場合、スイッチやミニディスプレイなど操作インターフェイスを別に用意しましょう。

最後に

少し特殊な環境でbt-panを設定してみました。改めて他のサイトの方が詳しいかと思います。(Qiitaとか)間違っている箇所があればコメント欄にてお知らせください。

 

Volumioを外出先で手軽に使いたいと思いトライしましたが、やはり操作系がないと詰みます・・・。

bt-panは1対1の通信です。繋いだスマホ側から制御できるかと思ったら、VolumioのWEBインターフェイスは表示されるものの、レイアウトが崩れ操作できませんでした。(記事執筆時点で当環境の実体験)

画面があるか、もしくは見えなくてもボタン類で操作できるRaspberry Pi Zero Wであれば、Volumioのウェブラジオも再生できるかと思います。

 

同じネットワーク内に居ないとなりませんので、Raspberry Pi Zero Wをルーターとしたらいけるか?と考えましたが、そもそもテザリングは1対1の通信なので、そのままでは通らないと思い辞めました・・・。

そこまでするなら、Wi-FiルーターにRaspberry Pi もスマホも繋げた方が楽です。

Bluetoothのテザリングは接続させるデバイスを直接操作できないと意味がありませんね。

 

今回はイレギュラーな環境であまり参考にならないかも知れません。但し、Bluetoothのペアリングは最新のVolumioとbt-panで改めて実行しましたので、ペアリングとPANの部分は参考にしてみてください。

以上、小難しくしてしまったネットワークの現場からお届けしました。

Twitter、フォーラム、メールで購読
それぞれ更新情報をお伝えしています。
皆様のフォローをお待ちしています!
\ FOLLOW ME /
/ 最新記事をお知らせしています! \
インストールと設定
スポンサーリンク
特集ラズパイ4
フォローをお願いします——ラズパイダ
スポンサーリンク
こちらの記事もよく読まれています♪
ラズパイダ

コメント

  1. お世話になっております、以前WiFi関係について質問したものです。
    記事の更新待ってました!

    こちらの記事の通りに設定したら、無事自分が試してみたいことを実現することができました。
    知人も最近購入してこちらのサイトの通り初期設定したら、スムーズに設定でき喜んでいました。
    これからも記事の更新楽しみに待っています(*^_^*)

    • わざわざコメントありがとうございます! お役に立てて何よりです。記事は古い情報もあります。なるべく更新していますが上手くいかなかったらまたコメントください。待ってます。