はじめての産業用ラズパイでWi-Fiを設定する方法

はじめまして。非エンジニアでも楽しく扱えるRaspberry Pi 情報サイト(raspida.com)で発信しているラズパイダと申します。
PiLink株式会社のWebサイトにお邪魔しています。
今回、PL-R4をお借りする機会をいただきました。

10年ほどRaspberry Pi を触ってきた経験から、産業用のラズパイって何が違うのだろうと思っていました。

しばらくの間、産業用ラズパイを触りながら、いつものようにラズパイダ風にご紹介していきます。
導入されている方、またはこれから検討される方の参考になれば幸いです。
どうぞ最後までお付き合いください。

産業用途はComputeModule

ご存じの方も多いと思いますが、産業用に使われるラズパイの多くは、いつものラズパイではなく「ComputeModule」(以下RPI CM)が使用されることがほとんどです。
用途によって接続するインターフェイスの種類や数が必要になるため、キャリアボードに繋げて利用するのが一般的です。

RPI CMはとても小さいため、収納するエンクロージャーケースもまた小さい部類です。

産業用とはいえ、OSレベルなら誰もが手にするいつものラズパイとさほど変わりません。
PL-R4のように、Raspberry Pi OSを動作させる前提なら、ホビーユースと同じように扱うことができます。

普段使っているプログラムやアプリケーションも同じように動作します。

記事で使用している写真画像は、内部が分かるようにわざと開けていますが、製品版はちゃんとケースに収められている状態です。

PL-R4 BASIC RJ Plus IP20 (標準仕様)

Wi-Fiの設定

お借りしてから早速、Wi-Fiの設定から始めました。

環境はRaspberry Pi CM4、OSはRaspberry Pi OS bullseye 64bitです。
PL-R4に搭載されているCM4は、eMMCとWi-Fiを装備しているモデルになります。

$ lsb_release -a

Distributor ID:    Debian
Description:    Debian GNU/Linux 11 (bullseye)
Release:    11
Codename:    bullseye

$ getconf LONG_BIT
64

記事執筆時点でRaspberry Pi 5、OSバージョンはbookwormが最新モデルです。
bookwormからネットワーク設定はdhcpcdではなくNetworkManagerがデフォルトになりました。

今回はRPI CM4で使用するOSのバージョンはbullseye(Legacy)です。
そのためネットワークはdhcpcdで設定する方法です。

通常のRaspberry Pi 4でも設定方法は同じです。ホビーユースの方も参考にしてください。

事前の設定

Raspberry Pi で日本語表示、日本語入力が可能な状態で進めています。
Wi-Fi機能は、国名(JP)が設定されていないと有効になりません。忘れずに設定しましょう。

デスクトップ画面から設定(GUI)

メインメニューにある「Raspberry Piの設定」から設定できます。

ローカライゼーションタブにある4つのボタンからそれぞれ設定を選んでいく形式です。

ロケールさえ設定されていれば最低限はOKです。確認を兼ねてすべて表示して設定しておきました。
再起動を促され立ち上がれば変更されています。

コマンドで行う(CUI)

コマンドならGUIで行った操作をたった3行の実行でOKです。

sudo raspi-config nonint do_change_locale ja_JP.UTF-8
sudo raspi-config nonint do_change_timezone Asia/Tokyo
sudo raspi-config nonint do_wifi_country JP

こちらも再起動すれば反映されます。

デスクトップ画面でWi-Fiの接続設定をする(GUI)

この例では、先に有線LANケーブルで接続後にWi-Fiの接続を設定しました。

いつものRaspberry Pi 4と異なるのは、外部アンテナが付いている点です。
RPI CM4にあるWi-Fiだと、金属ケースに収納する分だけ電波が減衰します。

この外部アンテナで通信させたいため、/boot/config.txtで有効にする設定をします。

sudo nano /boot/config.txt

Pi4セクションにあるパラメータがコメントアウトされているのを有効にします。

[pi4]
# Switch to external antenna. ant1:internal ant2:external noant:Disable both antennas
dtparam=ant2

ant2が外部アンテナを表します。
RPI CM4のケースが対応していれば、本体基板からケーブルで引き出せるのです。

外観はなんだがラズパイとは思えない雰囲気ですね。
外部アンテナが頼もしく映ります。

設定は上部バーアイコンから

デスクトップ画面右上部にあるネットワークのアイコンを左クリックすると、SSID名がズラッと表示されると思います。
Wi-Fiの接続になるとアイコンが扇形のアイコンに変わります。

接続したいSSID名をクリックすることでパスワードの入力を促されます。
認証できれば接続できた状態になりチェックが付きます。

今はマウス操作で簡単にWi-Fiへ接続できます。

固定IPアドレス化

今回の製品PL-R4では、予めインストールされているRaspberry Pi OSのIPアドレスは設定されています。
E0と表示された接続ポートに繋いだ有線LANケーブルは、eth0を表し192.168.0.10に設定されています。E1は192.168.1.1です。

IP :192.168.0.10
Mask:255.255.255.0
GW:192.168.0.1

IPアドレスをDHCPサーバから自動ではなく決め打ちしたい場合、ネットワークアイコンを右クリックしてWireless & Wired Network Settingsから変更します。

Wi-Fi接続後は扇形の信号アイコン、接続前は↑↓アイコンで表示されています。

右上のプルダウンメニューからインターフェイス名を選びます。
有線LANケーブルで接続しているならeth0です。

手動で指定したいため、Automatically configure empty optionsのチェックを外します。
すると、グレーアウトしていたテキストボックスに記入できるようになります。

指定したいIPアドレスとルーターのIPアドレスを入力すればOKです。

eth0とwlan0でそれぞれ設定できます。

wlan0も同じようにAutomatically configure empty optionsのチェックを外し任意のIPアドレスに変更できます。

interface項目をSSIDに変更し、接続したいSSID名毎でも設定ができます。通常はwlan0だけで構いません。

コマンドでWi-Fiの接続設定(CUI)

次はモニター画面がない状態でも設定できる方法です。
コマンドをターミナルで実行していきます。

モニター画面を見ながら、またはVNCに接続して実行でも構いません。

dhcpcdでWi-Fiの接続設定をするのに必要なファイルは主に2つです。

それぞれ/etc以下にあります。

/etc/wpa_supplicant/wpa_supplicant.conf
/etc/dhcpcd.conf

Wi-Fiの接続情報の設定はwpa_supplicant.conf

ターミナルからwpa_supplicant.confを編集します。一度中身を見てみましょう。

catコマンドは、ファイルの中身をターミナル内に表示してくれます。

sudo cat /etc/wpa_supplicant/wpa_supplicant.conf

テキストエディタ(nano等)で編集します。

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

必要になる最低限の記述は次の通りです。

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP

network={
        ssid="SSID名"
        psk="平文のパスワード"
}

ネットワーク環境によっては暗号化方式を指定します。
GUIで設定した場合は自動的に記入されているハズです。

WPA2-PSK(AES)の場合

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP

network={
        ssid="SSID名"
        psk="平文のパスワード"
        key_mgmt=WPA-PSK
}

WPA3-SAEの場合

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP

network={
        ssid="Wi-FiのアクセスポイントSSID名"
        sae_password="平文のパスワード"
        key_mgmt=SAE
        ieee80211w=2
}

key_mgmt=WPA-PSKの部分は、暗号化方式により異なります。
使用しているWi-Fiルーターの暗号化方式に合わせてください。

WPA-PSKのWPAはWi-Fi Protected Accessの略で、PSKはPre-Shared Keyの略です。日本語だと事前共有鍵となります。
WPAにはいくつかあり、WPA、WPA2、WPA3などです。

ルーターによってはWPA2-PSK(AES)/WPA-PSK(AES)とAES表記されいても暗号化の強度としては同じです。ちなみにAESはAdvanced Encryption Standardの略です。

これまで一般的には、自宅で使う規模のルーターはWPA2-Personalに準じているものが多く、WPA2-PSK(AES)の暗号化方式が多いでしょう。
この場合、パスフレーズは8文字から63文字で設定します。(または16進数で64桁)

最近のルーターではWPA3-Personalを選べる製品もあります。WPA3やPSKではなくSAEという仕組みが使われています。WPA2-PSKより強固なセキュリティです。

企業だとWPA2/WPA3-EAPといったエンタープライズモードもあったりと複雑に感じますね。
どちらにしても、ルーターが対応しており、ルーターで設定してある必要があります。

パスワードの暗号化

セキュリティを高めるためにWi-Fi接続のパスワードを暗号化させておきます。
実行するコマンドはwpa_passphraseです。

wpa_passphrase 接続するSSID 平文のパスワード

以下のように、実行するとターミナルに暗号化されたパスワードが表示されます。
これを先程のconfファイルに記述すればOKです。

network={
    ssid="SSID名"
    #psk="平文のパスワード"
    psk=f932c09ef574eda8c239a07b46661ac8f9a17ef13beb8b2d9429d27be89119f2
}

暗号化されたパスワードは16進数で64桁になり、ダブルコーテーションで括りません。
コメントアウトされている平文のパスワード行は削除します。

固定IPアドレス化

コマンドでIPアドレスを固定化するには、dhcpdc.confに記述をすることで設定できます。
同じ記述が無ければ最下段に追記してください。

sudo nano /etc/dhcpcd.conf

有線ケーブル接続(eth0)

interface eth0
static routers=192.168.0.1
static ip_address=192.168.0.10/24
static domain_name_servers=
static domain_search=

Wi-Fi接続(wlan0)

interface wlan0
static ip_address=192.168.0.12/24
static routers=192.168.0.1
static domain_name_servers=
static domain_search=

関連するコマンド

ご参考までに、Raspberry Pi OSで使うネットワーク関連のコマンドを並べてみました。
全て必ず使う必要はありません。確認しながら進められると安心しますからお薦めです。

Wi-Fiの状態を確認するコマンド1

wpa_cli -i wlan0 status

Wi-Fiの状態を確認するコマンド2

ifconfig wlan0

Wi-Fiの設定内容を再構築するコマンド

wpa_cli -i wlan0 reconfigure

Wi-Fiのパスワードを暗号化

wpa_passphrase 接続するSSID 平文のパスワード

IPアドレスの確認

ip a

他のPCからデバイスのIPアドレスとMACアドレスを確認

arp -a

PL-R4はじめての産業用ラズパイに触れて

最後までお読みいただきましてありがとうございます。

産業用ラズパイはRaspberry Pi の愛好家でも滅多に触る機会はありません。
eMMCが搭載されたRPI CM4を使うのも初めてでした。

PL-R4をPiLink株式会社が販売する場合、機材を出荷される時点でeMMCにRaspberry Pi OSがデフォルトで書き込まれています。

eMMCは書き換えが可能ですから、別にOSイメージファイルから書き込むことができます。
製品としてRaspberry Pi(Legacy)や通常のRaspberry Pi OS(32/64-bit)、Ubuntu OSに対応しています。

Raspberry Pi は既に情報が多くあります。私も発信し続けています。
私はホビーユースに留まりますが、産業用途で使うにしても、知っている・知られているデバイスの方が安心感がありますね。

外観は全く違うRaspberry Pi に見えますが、中身はいつものRaspberry Pi 4と何も変わりません。
逆にキャリアボードで様々な拡張がされていて驚きです。

現場でRaspberry Pi を使うなら、堅牢なケースや接続インターフェイスが必須です。
どうしても長時間に渡り駆動させるため、OSもmicroSDカード起動より耐久性も欲しいところです。

想像通り、PL-R4も産業用ラズパイとしてよく考えられて作られている印象でした。