The Fool In The Valleyの雑記帳

-- 好奇心いっぱいのおじいちゃんが綴るよしなし事 --

Raspberry Pi を屋外で使う

Raspberry Pi(以後RPiと略す)を室内の机の上で使うときは、ディスプレイをHDMIでつなぎ、キーボードマウスをUSBでつないで通常のコンピュータと同じように操作できますが、そこから離れた場所、例えば屋外で使うとなるとそうはいきません。別の入出力装置をつけることも考えられますが、小さなものだとソフトウェア開発といった作業をするのは困難でしょう。ある程度の大きさのもので、手持ちのものを利用して何とかしたいところです。

そこで考えたのがノートPCを使う方法です。ノートPCならディスプレイとキーボード・マウスがついているのでそれとRPiをVNCで接続して操作できれば問題が解決しそうです。WiFiのルータがあれば接続できそうなので、次の二つの方法を試してみました。

【モバイルルータを使う方法】

モバイルルータとして使ったのは、古くなって遊んでいたNEC製のWiMAXルータ、Aterm WM3500Rです。WiMAXの契約はもうしていないのでインターネットには接続できませんが、WiFiで接続できる機能は持っています。

(RPi)ディスプレイ、キーボードをつないだ状態で通常通りに起動し、右上のトレイ上にあるWiFiマークを右クリックして、Wireless & Wired Network SettingでSSIDaterm-3207af-gを選び、DHCPで接続されるようにアドレス指定は空にして、Automaticcally configure empty optionsにチェックをいれておきます。左クリックしaterm-3207af-gを選んで暗号化キーをセットします。一度WiFi接続をOffした後に再度接続をOnにして変更を反映させた後、シャットダウンします。

Aterm WM3500R) 電源をOnにしてしばらく待つとWiFi電波がでていることが表示されます。このSSIDaterm-3207af-gとなっていて、暗号化キーは固定でルータに記載されています。

f:id:tfitv:20220322105255j:image

(ノートPC) タスクトレイにあるWiFiのボタンからaterm-3207af-gの電波を見つけ、暗号化キーを入力して接続します。コマンドラインでipconfig を実行すると、ルータ自身のIPは192.168.0.1になっていて、ノートPCが192.168.0.3でつながっているのがわかります。このサブネットは固定で、接続要求してきた機器に192.168.0のサブネット内のIPを自動的にアサインして接続するようになっているようです。

f:id:tfitv:20220321201526p:plain

(RPi) 電源をオンして、LEDの点滅が落ち着くまでしばらく待ちます。確認しようがないのですが、これでaterm-3207af-gに接続されているはずです。

(ノートPC) Network Scanner を起動して192.168.0以下をスキャンすると、下のようになり、RPiが192.168.0.2でつながっているのがわかります。

f:id:tfitv:20220321201830p:plain

そこで、VNP viewerを起動して192.168.0.2を指定するとRPiにVNCで接続し、ID、P/Wを入れると下のようにRPiのデスクトップがノートPC上に表示されます。
下の例では、Thonny Python IDEPythonプログラムを編集し、実行させています。

f:id:tfitv:20220321202119p:plain

これでノートPCからRPiを自由に扱うことができるようになったので、下の写真のように、アウトドアでのRaspberry Pi を使ったシステム開発がやりやすくなりました。
ノートPCを接続するのはあくまでもシステム開発中のテストのためで、テストが完了したらそれは不要です。電源Onでプログラムが自動実行される独立したシステムの形にすることになりますが、それについては別の機会に書くことにします。

f:id:tfitv:20220322115129j:image

スマートフォンテザリングを使う方法】

スマートフォンWiFiテザリングをつかうと、複数の機器がそのスマートフォンWiFiで接続されるので、それらの機器間で通信できるかどうかも確かめてみました。スマートフォンとしてはGoogleのPixel 5aを使いました。SSID(アクセスポイント名)はPixel5aです。

(RPi)ディスプレイ、キーボードをつないだ状態で通常通りに起動し、右上のトレイから上WiFiマークを右クリックして、SSIDがPixel5aにDHCPで接続されるようにセットします。左クリックしPixel5aを選んでパスワードをセットします。その後、一旦WiFi接続をOffし、あたらめて接続をOnにして変更を反映させた後、シャットダウンします。

(Pixel 5a) アクセスポイントとテザリングで、WiFiアクセスポイントをONにします。

(ノートPC) タスクトレイにあるWiFiのアイコンを押すとPixel5aの電波が見つかるので、アクセスポイントのパスワードを入力して接続します。

(RPi) ディスプレイ、キーボードを接続しない状態で電源をオンしてLEDの点滅が落ち着くまでしばらく待ちます。

(ノートPC) コマンドラインでipconfigを実行すると、Pixel5aのIPは192.168.96.112で、ノートPCはそれと192.168.96.37でつながっているのがわかります。ただし、スマートフォンテザリングの場合、IPは固定されておらす、使っている時、場所に応じて変わる可能性があるので注意が必要です。このときは、192.168.96のサブネットにIPがアサインされていました。

f:id:tfitv:20220322095307j:plain

そこで、NetworkScanner を起動して192.168.96.1から192.168.96.255をスキャンすると、下のようになり、RPiが192.168.96.241でつながっているのがわかりました。

f:id:tfitv:20220322095434j:plain

そこで、VNP viewerで192.168.96.241を指定して接続するとVNCでRPiに接続し、ID、P/Wを入れるとモバイルルータの場合と同様にRPiのデスクトップがノートPC上に表示され操作できるようになります。