【Raspberry Pi Zero 2 W】やっと買えたのでアクセスポイント化してみる

概要

ついに買えました【Raspberry Pi Zero 2 W】

やっと入手できました「Raspberry Pi Zero 2 W」。
品薄なのはわかっていたけどこんなにタイミング合わないとは思わなかった。

入荷するたびにメール通知は受け取っていたけども気づかなかったり仕事中だったりとすれ違い。
そんなこんなしている間に Raspberry Pi5 も発表されているし。

こちらは技適もまだなので販売時期が決まったら考えよう。
【発売日/価格未定】Raspberry Pi 5 / 8GB — スイッチサイエンス

Raspberry Pi Zero 2 W を普段の Wifi 使用出来る状態のままアクセスポイント化したい

ひとまず旧 ZERO で構築していた簡易タイムラプス撮影機を ZERO2 に移行したいと思います。

単純に CRON で 20 秒おきくらいに撮影するだけのものです。
電源入れて放置するだけで良いのでお手軽に面白いタイムラプスが撮れたりします。

で、そのプレビューというか画像を確認するのに Android から ZERO に繋いで直接画像見たりしてるのですが通常使っている wlan0 で繋いでいたので家の Wifi に繋ぐにはまた設定し直す手間があって不便だったのでそこを解消します。

今現在、家の Wifi に繋がっている設定はそのままに仮想 Wifi を設定してアクセスポイント化も行うようにします。
こうすることで外出先でもプレビュー画像見えるし家に帰ってきても Wifi につながるので作業し易いという形です。

参考にしたのはこちらのサイト様です。

ちなみに、使用 OS はBullseyeとなっていますのでカメラの制御はlibcameta-stillコマンドでやってます。
この辺まだ良くわかってなくて、RPi-Cam-Web-Interfaceとかはまだ使えない・・であってるのかな・・。

レガシーカメラであればこのアプリ使うのが一番楽で良いです。

早速設定する

参考にしたページ通りに進めば特に問題なく作業は完了します。
でもまぁ、自分用のメモとして簡単な流れをメモっておきます。

MAC アドレスを確認しておく

最初にiw コマンドで自分の MAC アドレスを確認しておきます。
すでにわかっている場合はこの工程は必要ありません。

1iw dev

Wifi インターフェースを起動時に作成する様に設定

rules ファイルを作成します。

1sudo vi /etc/udev/rules.d/99-ap0.rules

作成したら下記を記入。
先程確認した MAC アドレス の所は先程確認した MAC アドレスを記入。

1SUBSYSTEM=="ieee80211", ACTION=="add|change", ATTR{macaddress}=="先程確認したMACアドレス", KERNEL=="phy0", \
2  RUN+="/sbin/iw phy phy0 interface add ap0 type __ap", \
3  RUN+="/bin/ip link set ap0 address 先程確認したMACアドレス"

hostapd と dnsmasq をインストール

1sudo apt install hostapd dnsmasq

dnsmasp の設定

設定ファイルを開きます。

1sudo vi /etc/dnsmasq.conf

下記の内容をファイルの最後に追記

1interface=ap0
2dhcp-range=192.168.249.50,192.168.249.150,255.255.255.0,12h

dhcdcd の設定

設定ファイルを開きます。

1sudo vi /etc/dhcpcd.conf

下記の内容をファイルの最後に追記

1interface ap0
2static ip_address=192.168.249.1/24
3nohook wpa_supplicant

あ、IP 変えたかったりしたら適宜変更してください。
私はそのままでやっています(繋がればいいので)。

hostapd の設定

設定ファイルを作成。

1sudo vi /etc/hostapd/hostapd.conf

ファイルの内容は下記とします。

 1ctrl_interface=/var/run/hostapd
 2ctrl_interface_group=0
 3interface=ap0
 4driver=nl80211
 5ssid=好きなSSIDを入力
 6hw_mode=g
 7country_code=JP
 8channel=11
 9ieee80211d=1
10wmm_enabled=0
11macaddr_acl=0
12auth_algs=1
13wpa=2
14wpa_passphrase=接続に使用するパスワード
15wpa_key_mgmt=WPA-PSK
16rsn_pairwise=CCMP

最後に自動起動の設定を行います。

1sudo systemctl unmask hostapd.service
2sudo systemctl enable hostapd.service

完了です。

Wifi の有効化

すでに Wifi を有効にしている状態で設定していたのでこの処理は行っていないですが、必要であれば有効にしておきます。

設定ファイルを開きます。

1sudo vi /etc/wpa_supplicant/wpa_supplicant.conf

下記を追加。

1country=JP

最後に次のコマンドで Wifi を有効にします。

1sudo rfkill unblock wifi

Rasberry Pi Imager を使用すれば Wifi 有効にした状態で OS インストール出来るのでそっちの方が楽。

最後まで設定したら再起動書けてスマホの Wifi 検索で自分が設定した SSID 表示されているか見てみましょう。

以上、簡単ではあるけどこの通りやれば既存の Wifi 繋ぐ設定のままアクセスポイント化できます。

使用している STL ファイル

Raspberry Pi ZERO 用のケースです。 特にネジ穴等はなく、パチンとハマったりしないので私は ↓ こちらのテープで周囲を囲っています。

三脚用データです。
出力したもの以外に 1/4 インチのネジが必要だったりしますが、なかなか使い勝手の良い三脚。

私は ABS で出力していますが、一眼カメラでも使用できています。
ただ、重量の問題があるのであくまで軽ければの話です。

とりとめのないまとめ

ZERO2、パフォーマンスが上がったので ZERO の時よりもストレスなく使えています。
代わりに消費電力も上がっているのでバッテリーによる連続稼働時間など目的によっては ZERO の方がいい場合もあるはず。(と入っても全然省電力だけども)

使い勝手がいいので今後もう少し普通に買えるようになると嬉しい・・・。

翻訳: