Elsaの技術日記(徒然なるままに)

主に自分で作ったアプリとかの報告・日記を記載

MENU

ラズパイの親機設定(APモード設定)手順と子機モードへの切り替え方法について

何番煎じなんだ!!っていう感じですが、、、
ラズパイでのAPモード設定手順についてまとめておこうと思います!!

以前、WIndows PCとラズパイをピアツーピアで接続してみましたが、あくまで前回の方法は
WIndows PC:親機
ラズパイ:子機
の構成になります。
elsammit-beginnerblg.hatenablog.com

今回はラズパイを親機に設定し、スマホwindows PCなどと設定する方法についてまとめていきます。



■事前準備

APモードにて動かすにあたり、無線LANIPアドレスを固定IPにする必要があります。
固定IPにするために/etc/dhcpcd.confを下記の通り編集(追記)。

interface wlan0
static ip_address=192.168.42.100/24

今回は固定IPとして、192.168.42.100を用います。
以降の手順についても192.168.42.100をベースにして記載していきます!!
別IPを使用する場合には適宜読み替えてください。

■APモード設定

まずはAPモード設定手順についてまとめていきます。
ラズパイでAPモードに設定するにあたり、APモード用のデーモンであるhostapdをインストールします。

sudo apt install hostapd

次にhostapdに対して設定ファイルを編集していきます。

sudo vim /etc/hostapd/hostapd.conf

にてファイルを開き、下記を記載します。

interface=wlan0
ssid=Pi3-AP
country_code=JP
hw_mode=g
channel=3
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_passphrase=r@spberry
rsn_pairwise=CCMP

ssidやwpa_passphraseは各自好きな設定を入力ください。
ここで、下記を記載している記事もあったのですが、スマホ(Android & iphoneどちらも)にて、
接続と切断を繰り返す現象が発生してしまったため、あえて削除しました。

ieee80211n=1
wmm_enabled=1
auth_algs=1
ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40]
macaddr_acl=0

さらに、/etc/default/hostapdファイルを下記の通り編集。

DAEMON_CONF="/etc/hostapd/hostapd.conf"

これでAPモードへの設定事前準備は完了です。

■APモードに切り替え

では、APを実行していきます!!
こちらを実行すればOK。

sudo hostapd /etc/hostapd/hostapd.conf

エラーが出力されていないようであれば、問題なく動作していることになります。

DHCPサーバ設定

次に子機としてスマホやPCなどが接続要求があった場合に自動でIPを割り振るためのDHCPサーバを設定していきます。
※とりあえずAPモードで動かしたいよ、っていう方はこちらの設定は不要です。

まずこちらにてdhcpサーバをインストール

sudo apt-get install isc-dhcp-server

そして、/etc/dhcp/dhcpd.confに下記を最下部に記載します。

subnet 192.168.42.0 netmask 255.255.255.0{
option routers 192.168.42.100;
range 192.168.42.100 192.168.42.200;
option broadcast-address 192.168.42.255;
option domain-name "local";
option domain-name-servers 8.8.8.8,8.8.4.4;
default-lease-time 600;
max-lease-time 7200;
}

ここで、routersやsubnet、broadcast-addressについては、
先ほど固定IPで設定したIPアドレスを元に設定してください。

セミコロンは必ず末尾に記載してください。。。。
 自分は付けていないことに気づかず、結構ハマってしまいました。。。

そして次に、/etc/default/isc-dhcp-serverを下記の通り編集します。

INTERFACES="wlan0"

これで設定は完了。

dhcpサーバ起動

ではDHCPサーバについても起動させてみます。
コマンドはこちらでOK。

sudo systemctl start isc-dhcp-server.service

■APモードと子機モードの切り替えは??

APモードと子機モードで切り替えについて、どうやればよいのか調べてみました。
が、、、
やはりこちらの記事に記載されているように、子機として使用するための設定とAPモードのための設定を切り替えるしかなさそうですね。
qiita.com

実施していることは
APモード:上記のような設定をするようにスクリプトをセット。
子機モード(記事中はClientモード):無線LANのIPをDHCPに変更の上、上記のようなデーモンを停止させる。

う~~ん、もう少し簡単な方法ないかしら🤔

とりあえず、当面は上記のような切り替えを実施していきます。

■最後に

今回はラズパイをAPモードへの切り替える手段についてまとめました。
また、APモード、子機モードへの切り替え方法についても簡単に記載させていただきました。

スクリプトっぽいのが見つからなかったけど、あったらみんな使用してくださるかな??
どうせ自分用に作る予定だけど、、、使いそうなら展開してみようかしら🤔