見出し画像

80. Raspberry Pi を Wi-Fi Spot 化する

前回の記事

はじめに

75回の記事から続けてきた、

IoT 機器を Wi-Fi で初期設定する

という構成に関する記事の最後の投稿です。今回は、Raspberry Pi の Wi-Fi Spot 化を試します。

やること

Raspberry Pi の Wi-Fi Spot 化は、オープンソースで公開されている hostapd を使います。また、スマートフォン等が、この Wi-Fi Spot に接続した際に、IP Address が必要になるので、DHCP Server の設定も行います。こちらは、DNS と DHCP Server が一体化している dnsmasq を使います。
これらのインストール・設定方法は、
Raspberry PiをWiFiアクセスポイント化してスタンドアロン運用 - みかんのゆるふわ技術ブログ (mikan-tech.net)
を参考にさせていただきました。
なお、初期化設定が終わったら、Wi-Fi Spot と DHCP Server 機能は停止します。

dnsmasq のインストール

Raspberry Pi は、有線LAN と Wi-Fi の両方が装備されているのはご存じですよね。インストール設定等は、Raspberry Pi を有線 LAN でローカルネットに接続し、Wi-Fi は未接続にして、ネットワーク越しに作業用 PC から RSH でリモート接続して作業を進めます。ちなみに、

pi@raspi-taruto:~ $ ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether d8:3a:dd:a8:2d:c5 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.35/24 brd 192.168.0.255 scope global dynamic noprefixroute eth0
       valid_lft 2236sec preferred_lft 2236sec
    inet6 fe80::b992:78fe:179f:7b7b/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether d8:3a:dd:a8:2d:c6 brd ff:ff:ff:ff:ff:ff
    inet 192.168.68.59/22 brd 192.168.71.255 scope global dynamic noprefixroute wlan0
       valid_lft 5838sec preferred_lft 5838sec
    inet6 fe80::c404:cc2d:5eb9:fec4/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

こんな感じ。あ、Wi-Fi もつながってますね(笑)

早速インストールを行います。

$ sudo apt-get install dnsmasq

Wi-Fi spot 化するのは、Wi-Fi 側なので、/etc/dnsmasq.conf の一番最後に以下の記述を行います。

interface=wlan0
dhcp-range=192.168.200.10,192.168.200.20,255.255.255.0,12h

ip address で三番目に表示されていたのが、Wi-Fi 用ネットワークで、wlan0 となります。二行目は、DHCP Server の設定で、192.168.200.10~20 の範囲で割り当てるよという設定です。

次に、wlan0 の IP アドレスを固定指定に変更します。192.160.200.2 とします。意味は特にありません。/etc/dhcp/dhcpd.conf の最後に以下の記述を行います。

interface wlan0
static ip_address=192.168.200.2/24

以上で、完了

hostapd のインストール

次に、hostapd をインストールします。

$ sudo apt-get install hostapd

インストールが終わったら、Wi-Fi Spot の設定を行います。
SSID は ”IoT<<MAC Address >>”とし、パスワードは”123456”とします。MAC Address は、先ほど ip address コマンドを実行した際に表示されていた値を使います。

3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether d8:3a:dd:a8:2d:c6 brd ff:ff:ff:ff:ff:ff
    inet 192.168.68.59/22 brd 192.168.71.255 scope global dynamic noprefixroute wlan0
       valid_lft 5838sec preferred_lft 5838sec
    inet6 fe80::c404:cc2d:5eb9:fec4/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

この二行目に表示された D83ADDA82DC6 を使います。
/etc/hostapd/hostapd.conf というファイルを作成し、以下の内容を記述します。

ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
interface=wlan0
driver=nl80211
ssid=IoTD83ADDA83DC6
hw_mode=g
country_code=JP
channel=11
ieee80211d=1
wmm_enabled=0
macaddr_acl=0
auth_algs=1
wpa=2
wpa_passphrase=123456
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP

設定の詳細は、Raspberry PiをWiFiアクセスポイント化してスタンドアロン運用 - みかんのゆるふわ技術ブログ (mikan-tech.net) の説明を読んでくださいね。(丸投げ:笑)

設定が終わったので、hostapd を有効化します。

$ sudo systemctl unmask hostapd.service
$ sudo systemctl enable hostapd.service

おや?

ここから先は

7,149字

2022年3月にマイクロソフトの中の人から外の人になった Embedded D. George が、現時点で持っている知識に加えて、頻繁に…

この記事が気に入ったらサポートをしてみませんか?