2018年7月8日日曜日

Raspberry Pi Zero Wのセッティング(無線LANにつなぐまで)

前回、Raspberry Pi ZeroIchigoJam BASIC RPiで動くようにしましたが、今回は、そのRPi Zeroに無線LANとBluetoothを組み込んだRaspberry Pi Zero WをRaspbianで動くようにセッティングしてみました。

まずは、Raspberry Piのサイトから、NOOBSをダウンロードします。現時点での最新バージョンは、2.8.1でした。例によってSD Formatterを使ってSDカード(今回は、8GBのものを使用)をフォーマットし直してから、NOOBS_v2_8_1.zipを解凍し、現れた「NOOBS_v2_8_1」フォルダの中身を全てSDカードにコピーしました。

後は、いつものようにRPi Zero WにSDカードを挿し込んで、電源を入れれば見慣れた初期設定(Raspbianのインストール)の儀式がスタートします。Raspbianのインストールと日本語とUSキーボード(ここは、それぞれの環境に合わせてください)を選択してインストール作業を開始しました。実を言うと、1回目はSDカードの相性問題に当たってしまったようで、全く反応してくれませんでした。そこで、メーカーのはっきりしたものに変えたところ、無事に動きました。(インストール作業は、かなり時間がかかるので、終わるまでは別のことをしながら気長に待ちました)

インストール作業が終わったら、デスクトップが表示されます。動作確認のため、いくつかのアプリケーションソフトを立ち上げてみました。ScratchやMinecraftは、問題なく動きましたが、中にはかなり重たくて動作がおかしいと感じるものがありました。

次に、ネットワークの設定をします。自宅の環境がステルスモードのSSID(アクセスポイント)なので、GUIでの設定はできませんでした。そこで、LXTerminalからCUIで設定を行いました。(ステルスでないSSIDへの接続は、GUIでサクサクできます。詳しくはWebで検索!)
#今回は、「第二回 Raspberry Pi 3をステルス機能が有効のアクセスポイントに接続させMacからSSHで接続する」と「ラズパイでステルスのSSIDへ内蔵WiFiで接続する」を参考にしました。

「wpa_passphrase」を使って、SSIDとパスワードを設定します。これを行うことで、パスワードの暗号化が行われるようです。

$ wpa_passphrase “(接続したいSSID)” “(SSIDのパスワード)”
これにより、暗号化された「psk=」以下を使いますので、画面上から消さないようにしてください。続いて、viで「wpa_supplicant.conf」を編集します。
$ sudo vi /etc/wpa_supplicant/wpa_supplicant.conf

wpa_supplicant.confファイルを開くと、先程設定したSSIDとパスワードが書き込まれていることがわかります。「psk=」以下を先程のwpa_passphraseで暗号化されたものと書き換えます。(コピペすれば良い)
#viの使い方をすっかり忘れていたので、「viエディタの使い方」を参考にしました。

さらに、以下のように設定を書き込んでから、「:wq」で変更した内容を保存してviを終了します。

(前略)
network={
ssid="(接続したいSSID)"
psk=(wpa_passphraseで暗号化されたもの)
scan_ssid=1
proto=RSN
key_mgmt=WPA-PSK
}

これで再起動すると、無事に無線LANにつながるようになりました。続けて、IPアドレスなどの設定を行います。タスクバー内の無線LANアイコン上で右クリックすると「Wireless & Wired Network Settings」というメニューが現れますので、これを選択します。「Configure」から「SSID」を選択して、隣のプルダウンメニューから設定したSSIDを選択します。後は、IPv4のアドレスと、Router、DNS Serverのアドレスを設定して「適用」を押せば完了です。すかさず再起動します。他に設定した後でしたら、余計な設定は「Clear」しておくと良いと思います。
#実は、DHCPサーバに頼ってみようかとも思ったのですが、うまく設定ができませんでした。

これで、無事にネットに繋がりました。しかし、やはり非力なZeroシリーズだけあって、遅いですね。どこまで実用的かは、いろいろ試してみないとわからない感じがしました。ちなみに、Scratch 1.4WeDoのモーターが動きましたので、ネットに繋がなくても利用価値は高いと思いました。WebアプリのScratch 2.0は、Flashベースなのでそのままでは動きませんでした。(ブラウザーがChromiumですからね)

最後に、更新されたプログラムのインストールと使わなくなったプログラムの削除を行いました。

$ sudo apt-get update && sudo apt-get upgrade
$ sudo apt autoremove

時間はかかりますが、大事な作業ですので。(「apt-get」は、「apt」でも良いのか?)

【追記】久しぶりに動かしてみたところ、いくつか不具合があったので起動SDカードの作り直しからやってみました。「Raspberry Pi Imager」で起動SDカードを作ってRPi Zero Wに挿して起動してみました。ネットワーク設定はほぼ同じでしたが、wpa_passphraseコマンドを使った後、wpa_supplicant.confファイルを開いたところ、ほぼ空の状態でした。先述の「network=[…」以下の記述は、全てそのまま書き込んで「:wq」で保存して再起動(reboot)しました。すると、DHCPから自動的にIPアドレスを取得できるようになっていました。(2020.6.27)