UECS Piファームウエアを自分用にカストマイズする③

今回は、UECS PiをWiFi(無縁LAN)で接続する方法を紹介します。
UECS PiがサポートするRaspberry Pi 2では無線LANは実装されませんが、Raspberry Pi 3以上では無線LANは標準装備です。無線LANを使えばLANケーブルの配線が不要になり設置の自由度が高くなります。もちろん有線LANの方が安心という考え方もありますが。まだテストはしていませんが、Raspbery Pi Zeroでも無線LAN付きモデルがあるので、使えるようになれば選択肢が増える可能性があります。
UECS Piファームウエアを自分用にカストマイズする①で紹介したように、UECS Piの画面では無線LANのIPアドレス設定はできません。また、無線LAN用のSSIDの定義も追加する必要がありますので、ここはRaspberry Piに直接ログインしてCUIで設定します。ステップとしては2つです。
  • 無線LAN用のインターフェース定義をする(/etc/network/interfacesを編集)
  • WiFiアクセスポイントの定義をする(/etc/wpa_supplicant/wpa_supplicant.confの編集)
始める前に。ネットでRaspberry Piの無線LAN接続の記事を調べるとdhcpcd.confに定義する方法が紹介されています。しかし、UECS PiのファームウエアではDHCPクライアント(dhcpcd)のサービスが使用されてないためか、dhcpcd.confに定義しても無線LANに接続できません。いろいろ試しましたがうまくいかないので/etc/network/interfacesに定義する方法をとりました。しかし、dhcpcd.confに定義する方法が推奨されているので、いずれそちらに移行する必要があるでしょう。

無線LANインターフェースの定義 /etc/network/interfaces

それでは、/etc/network/interfacesに無線LANインターフェースの定義をしましょう。
編集の仕方はUECS Piファームウエアを自分用にカストマイズする①で紹介したようにエディターのnanoで編集します。
/etc/network/interfacesの無線LAN用定義例
画面はWindowsのPCにファイル転送してサクラエディターで開いたものです。

8行目から17行目は有線LANのインターフェースeth0の定義をコメントアウトしたものです。19行目から26行目までが無線LAN用のインターフェースwlan0の定義です。eth0の定義をコピーして、eth0をwlan0に変更すれば簡単にできますね。もともとの定義ではwlan0は"iface wlan0 inet dhcp"のようにDHCPから動的に割り当てられたIPアドレスを使うようになっていますが、それではUECS Piの画面を表示するアドレスがわからなくなるので固定(static)で定義します。
 もう一つ重要なのが26行目です。ここで、無線LANのアクセスポイントのSSIDとパスワードを定義します。
有線LANと無線LANを切り替えるときに、コメントをいちいち消したりするのは面倒なので元のファイルを有線LAN用としてバックアップをとっておき、interfacesファイルにコピーして使うのも1つの方法です。

SSIDとパスワードの定義 wpa_supplicant.conf

名前が長いので端折ってしまいましたが、編集するのは下記のファイルです。
/etc/wpa_supplicant/wpa_supplicant.conf
/etc/wpa_supplicant/wpa_supplicant.confの定義例
画面はWindowsのPCにファイル転送してサクラエディターで開いたものです。

ssidの行にアクセスポイントのSSID、pskの行にパスワードを定義します。""で囲むのをお忘れなく。囲まないと暗号化されているとみなされてつながりません。暗号化する方法もありますが、キーを生成したりとか手順が複雑になるのでここでは平文にします。
networkを複数定義すれば、アクセスポイントを自動的に選んでくれますので可能性があるSSIDを定義しておきましょう。

確認

定義が終わったらrebootしましょう。確認方法は、ifconfigコマンドで確認できます。wlan0にIPアドレスが入ってたら一安心です。でもこれではどこのアクセスポイントにつながってるかわかりません。

iwconfigコマンドを使ってみましょう。これで接続されているSSID(ESSID)が表示されます。

ちなみに電波が届くSSIDをスキャンしたいときは、iwlist wlan0 scanと入力します。でもこれではたくさん情報が表示されるので、SSID(ESSID)だけを表示するためには次のコマンドを入力します。
 iwlist wlan0 scan | grep ESSID

"|"はパイプラインと言ってiwlistコマンドの結果をgrepコマンドの入力にします。
grep ESSIDはiwlistの出力結果からESSIDの文字列が入った部分を検索して表示させるものです。
Raspberry Pi 3では2.4GHzしかつながりませんので気を付けてください。5GHzがサポートされるのはRaspberry Pi 3+以降です。

次回は、WindowsからRaspberry Piの操作をする方法を紹介します。
*「UECS Pi」はアルスプラウト株式会社が提供する汎用DIY環境制御ソフトウェアです。https://www.arsprout.co.jp/products/others/uecs-pi/

*「UECS」は農業用のセンサー機器や制御機器用の通信・動作の共通仕様です。UECS研究会が公開しています。https://www.uecs.jp/outline/outline-index

関連リンク:EzITコンサルティング www.ezitc.dev


コメント

このブログの人気の投稿

Arsprout Piを使ってみた③ ーファームウエアのカストマイズ UECS Piとの相違点ー

Arsprout Piを使ってみた② ー構成定義を中心にUECS Piとの違いを考えるー

Arsprout Piを使ってみた① ーUECS Piからの変更点を中心にー