はじめに
本書の最終章において、Raspberry Piを搭載したキャタピラ式の模型を作成し、PCやスマートフォンから操作するという演習を行ないました。その際、Raspberry Piとスマートフォンの間の通信は、下図のようにルーター機器(典型的にはWifiルーター)を介しました。
本ページでは、そのような場合の対処法を記します。いくつか方法はあるのですが、実現が簡単な方法を紹介します。
方法1~ポータブルWifiルーターを用いる
まず、最も簡単なのは、上図の「ルーター機器」を「ポータブルWifiルーター」にそのまま置き換えることです。これにより、「キャタピラ式模型」、「スマートフォン」、「ポータブルWifiルーター」の3点を持ち出せば、外出先でキャタピラ式模型の操作ができます。ただし、多くの場合、これはdocomoなどの通信業者との契約が必要なので、既に「ポータブルWifiルーター」をお持ちの方向けの方法となるでしょう。
方法2~スマートフォンのテザリング機能を用いる
2つめの方法は、上図の「ルーター機器」の機能をスマートフォンに肩代わりさせる方法です。図で示すと下図のようになるでしょう。図から分かるとおり、据置きのルーター機器が不要になり、構成がシンプルになるのがメリットです。ただし、スマートフォンの電池の消費が速くなるという欠点もあります。
Androidスマートフォンではこの機能は「Wi-Fiテザリング」や「ポータブルWi-Fiアクセスポイント」などと呼ばれます。iPhoneでは「インターネット共有機能」と呼ばれます。
- テザリング機能に対応した機種をもち、さらに対応した契約をしていること。なお、以下に各通信会社へのリンクを貼りますが、これらの契約についての質問には答えられませんのでご了承ください。
- docomoの場合:テザリング
- auの場合:テザリングオプション
- SoftBankの場合:テザリング
- SIM契約のないiPadの場合、この機能は利用できません(私のiPad mini Wi-Fiでは利用できませんでした)
まず、Wi-Fiアクセスポイントの初期設定を行なう必要があります。
- ネットワーク名(任意。下図ではspnetとしています)
- パスワード(任意。8文字以上)
を入力して保存します。この設定は一度行なえば二度目は必要ありません。
設定が終わったら、右図のようにポータブルアクセスポイントを有効にします。やはり機種やOSのバージョンにより異なりますが、通知領域にポータブルアクセスポイントが有効であることを示すアイコンが現れるでしょう。
この状態で、Raspberry PiにてWifiの設定を行い、スマートフォンによるネットワークに接続します。その際、ネットワーク名は上で設定したものを選択し、パスワードも上で決めたパスワードを入力します。この操作は通常のルーターに接続する場合と同じです。
なお、キャタピラ式模型の操作が終わったら、「ポータブルアクセスポイントをOFFにする」ことを忘れないでください。OFFにしないとスマートフォンの電池の消費が速くなりますので、必要なときのみ有効にする、という使い方をします。
なお、iPhoneにおける設定はAppleによる「インターネット共有」の解説をご覧ください。私のSIM契約のないiPad miniでは、インターネット共有機能を利用できず、解説を作成できないためです。iPhoneによるインターネット共有でうまく動作した、という方はお知らせいただけると幸いです。
方法3~Raspberry Pi側にルーター機能を持たせる
最後の方法は、スマートフォンにではなくRaspberry Pi側にルーター機能を持たせるという方法です。しかし、今回のようにキャタピラ式模型を動かすという目的では、この方法には以下の欠点があります。
- 初期設定が複雑である
- アクセスポイント化したRaspberry PiにスマートフォンをWifi接続すると、その間スマートフォンがインターネットに接続できなくなる
そのため、本ページではこの方法の解説は省略します。興味のある方はコメント欄に少し情報を記しましたのでご覧ください。
いつも楽しく拝読させていただいております。
返信削除公園や車の中などのように、wifiルーターの無い環境でmacからRaspberry Piにssh接続したいと思っています。
テザリングだとスマホの電池消耗とデータ通信の容量が気になるので、方法3の解説をリクエストします。(後者についてはRaspberry Piからインターネットにアクセスしなければ問題ないかもしれませんが)
wifiルーターの無い環境でリモートログインする方法として、シリアルコンソールからBluetooth経由で入る方法もあるようです。
いろいろ調べて何度かトライしてみたのですが、どうもうまくいきませんでした。(/devの下にRaspberry PiとペアリングしたBluetoothデバイスが見えない)
こちらのやり方についても、もしわかるようでしたら解説していただけると嬉しいです。
Raspberry Pi 3B+、Raspbian GNU/Linux 9.8 (stretch)を使用しています。
よろしくお願いします。
macについて書き忘れていました。
削除MacBook Proで、OSはmacOS Mojave 10.14.4を使用しています。
既に沢山の方がPi 3のアクセスポイント化を解説したページを作成していますので、
削除私が新たに解説ページをつくるよりも、既にあるページを参考にされた方が
良いと思います。
例えば、
「Raspberry Pi 3 Model B+でWiFi Access Pointを設定した話」
https://qiita.com/kekedadamama/items/f2a2d4a9c8ea9b4ffd73
に従ってみます。
対象はPi 3および Pi 3 Model B+です。
NOOBSは2019-04-08の3.0.1を用いました。
なお、以下の手順に従うと、途中でPi 3のWifiが無効になります。
途中でWifiがアクセスポイントモードになるためです。
ですので、以下の手順はRaspberry Piにディスプレイなどを接続した状態で実行すべきです。
まず、以下のコマンドでスクリプトをダウンロードします(長いですが一行です)
wget https://gist.githubusercontent.com/khronos227/63c6f32baf218ab9563072d07977dba2/raw/cac7d475f61066d8702965d2d3f2a80038204d7e/rpi-wifi-setup.sh
そして、ダウンロードしたスクリプトを実行します。
sudo bash rpi-wifi-setup.sh raspberry pi-wifi
これは、ネットワーク名(SSID)をpi-wifi、
パスワードをraspberryと設定するためのコマンドですので
適宜変更します。
ソフトのインストールが行われるので、終了まで数分かかります。
また、上で述べたように、Wifi接続をしていたならば
このWifiが無効になって接続が切れてしまいますのでご注意ください。
Rapsberry Piにはディスプレイで接続しているものとして、
上記スクリプトの実行が終わったら下記の2コマンドを順に実行します
sudo systemctl unmask hostapd
sudo systemctl enable hostapd
以上が終わったら、Raspberry Piを再起動します。
すると、Raspberry Piがアクセスポイントモードで動作するようになっています。
MacやPCでネットワークpi-wifiを見つけ、
パスワードraspberry でWifi接続してください。
なお、Raspberry Piを有線接続しておけば、
PC->Raspberry Pi->インターネット
とネット接続できます。有線接続がなければ
PCはRaspberry Piとしか通信できません。
Raspberry Piにssh接続するには
ssh 172.24.1.1
としてください(172.24.1.1は固定です)
以上で、Raspberry Pi 3/3+のアクセスポイント化は終了です。
これを元に戻すには、やはりRaspberry Piをディスプレイに接続した状態で
まず下記3コマンドを順に実行します。
sudo systemctl disable hostapd
sudo systemctl disable dnsmasq
sudo mv /etc/network/interfaces.d/wlan0 ~/
さらに、下記コマンドで/etc/dhcpcd.confを編集できる状態とし…、
sudo leafpad /etc/dhcpcd.conf
ファイル末尾の
denyinterfaces wlan0
という行を
#denyinterfaces wlan0
として無効にして保存、終了します。
ここでRaspberry Piを再起動すれば通常のWifi利用に戻っています。
この後さらにアクセスポイントモードに戻すにはその逆を実行します。
すなわち、
/etc/dhcpcd.conf末尾の
#denyinterfaces wlan0
を有効にし、下記3コマンドを実行、です。
sudo mv ~/wlan0 /etc/network/interfaces.d/
sudo systemctl enable dnsmasq
sudo systemctl enable hostapd
なお、本ページは「据置きのルーター機器を介さずキャタピラ式模型を操作」することを
目的としたページです。
シリアルコンソールからBluetooth経由でログインする方法では
「キャタピラ式模型を操作」することはできませんので、
その方法の解説はご容赦ください。
(キャタピラ式模型の操作にはPCとRaspberry Piのネットワーク接続が必要なためです)
念のため記しますが、上で記した作業は全てRaspberry Pi上で行うものです。
削除PCまたはMacで必要な作業は
「WifiでPi 3に接続する」「ssh で172.24.1.1に接続する」の
2点のみです。ご注意ください。
丁寧な回答ありがとうございます。
削除トライしてみようと思います。