Raspberry Pi 3のWIFIをAPモードにする方法
Pi 3 のオンボードWIFIをAPモードで動作させると有線LANやWIFIの親機が無くてもRaspberryPiにアクセス可能になります。
追記===> 2018年版はこちら
<< Pi 3 単独でスマホとWIFI通信 >>
Pi 3をWIFIで使うとき、通常は、家のWIFIルーターへ接続して、スマホやパソコンなどとは子機間通信させることが多いと思いますが、Pi 3自体をAP(アクセスポイント)にすることで別途親機を用意する必要がなくなります。
こういう使い方をするのは少し特殊な例ではありますが、WIFIルーターがない屋外や車の中などで使う場合などには便利です。
今回は音楽プレイヤーをスマホからコントロールするためにAPモードを使いました。
※Volumio2やMoode、RuneAudioには実装済みの機能です。 ここでは標準のRaspbianに組み込む方法を説明いたします。
では早速セットアップ方法です。
ソフトウェアのインストール
avahi、hostapd、dnsmasqという3つのソフトウェアを使って実現します。 avahiはRaspbianに最初から入っているので、残り2つをインストール&設定していきます。
sshでログイン後のコマンドです。ピンク文字がコマンド。青文字はファイル編集内容です。コピペしてください。
sudo apt-get update
sudo apt-get install hostapd dnsmasq
インストールしますか? と出るので y と答えてインストールします。
hostapdは、アクセスポイントのソフト。
dnsmasqは、ホスト名とIPアドレスを覚えるDNSサーバソフトですが、今回は簡易的なDHCPサーバとして使用しています。ホスト名など覚えません。 つまり本来のDNSの機能を使っていません。。。
WIFI側をDHCPクライアントから外す
sudo nano /etc/dhcpcd.conf で開いて下の1行を追記します。 一番下でOKです。
denyinterfaces wlan0
ctrl+oで保存。 ctrl+x で閉じます。
WIFI側のIPアドレス設定
sudo nano /etc/network/interfaces で開いて wlan0セクションを下記へ書き換えます。
allow-hotplug wlan0
iface wlan0 inet static
address 172.24.1.1
netmask 255.255.255.0
network 172.24.1.0
broadcast 172.24.1.255
保存して閉じます。
hostapdの設定(AP設定)
sudo nano /etc/hostapd/hostapd.conf で新規ファイルを作って下記を書き込みます。
# This is the name of the WiFi interface we configured above
interface=wlan0
# Use the nl80211 driver with the brcmfmac driver
driver=nl80211
# This is the name of the network
ssid=Pi3-AP
# Use the 2.4GHz band
hw_mode=g
# Use channel 6
channel=6
# Enable 802.11n
ieee80211n=1
# Enable WMM
wmm_enabled=1
# Enable 40MHz channels with 20ns guard interval
ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40]
# Accept all MAC addresses
macaddr_acl=0
# Use WPA authentication
auth_algs=1
# Require clients to know the network name
ignore_broadcast_ssid=0
# Use WPA2
wpa=2
# Use a pre-shared key
wpa_key_mgmt=WPA-PSK
# The network passphrase
wpa_passphrase=raspberry
# Use AES, instead of TKIP
rsn_pairwise=CCMP
以上、ここまでです。 保存して閉じます。
SSIDやパスフレーズ(8文字以上)は任意で変更することが出来ます。
この設定ファイルをhostapdに登録します。
sudo nano /etc/default/hostapd で開いて下記の1行を追記します。
DAEMON_CONF="/etc/hostapd/hostapd.conf"
dnsmasqでのDHCPサーバー設定
sudo nano /etc/dnsmasq.conf で下記を書き込みます。
interface=wlan0 # Use interface wlan0
listen-address=172.24.1.1 # Explicitly specify the address to listen on
bind-interfaces # Bind to the interface to make sure we aren't sending things elsewhere
server=8.8.8.8 # Forward DNS requests to Google DNS
domain-needed # Don't forward short names
bogus-priv # Never forward addresses in the non-routed address spaces.
dhcp-range=172.24.1.50,172.24.1.150,12h # Assign IP addresses between 172.24.1.50 and 172.24.1.150 with a 12 hour lease time
ここまで、一気にコピペしてください。 保存して閉じます。
172.24.1.50 から 172.24.1.150 までのアドレスをDHCP用として登録しています。 100個もいらないかもしれないですね。
ソフトの自動起動登録
sudo service hostapd start
sudo service dnsmasq start
sudo reboot
これで、再起動後にSSIDとパスフレーズでPi3のAPに接続可能です。 dhcpサーバソフトは別のソフトウェアを使っても良いみたいです。 参考にしたサイト様がdnsmasqを使っていましたのでこのような方法としました。
こちらで作成した軽量MPDディストロのAPモード対応版は上記の設定を行なっています。
参考にしたサイト様
https://frillip.com/using-your-raspberry-pi-3-as-a-wifi-access-point-with-hostapd/
こちらではちゃんと名前解決もして、有線LAN側とも通信しています。
にほんブログ村
ブログランキングに参加中です。 めざせ1位!
もしよろしければ「ぽちっと」お願いします。
« RaspberryPiにympdをインストールする方法 | トップページ | Stereo誌 2017 今年も付録はメタルコーンらしい。 しかも・・・ »
「Raspberry Pi」カテゴリの記事
- MotionEyeと余っているラズパイで監視カメラ(2024.11.21)
- 秋の夜長にはRaspberryPi5 RT-linux セルフビルド(2024.10.13)
- 秋の夜長にはRaspberryPi5 64bit版 Sabreberry32 ドライバコンパイル(2024.10.10)
- RaspberryPi 5 の公式OSは32bit版でも64bit?(2024.10.09)
- 秋の夜長にはRaspberry Pi5 64bit カーネル・セフル・ビルド (2024.10.07)
コメント
« RaspberryPiにympdをインストールする方法 | トップページ | Stereo誌 2017 今年も付録はメタルコーンらしい。 しかも・・・ »
なるほど、APモードですか。 Pi1の時にこれを狙ってAdhocモードにしようとしてうまくいかず、あきらめてしまったことがあります。
投稿: 天 麩羅夫 | 2017年7月 5日 (水) 20時35分
天 麩羅夫 さん
アドホックは、PCでもうまく動作しなかったりと、敷居が高いですね。 APなら、スマホ側はWIFIルーターへ接続するのとなんら変わらないセットアップ方法でOKです。
Pi3のオンボードWIFIの電波の飛距離はあまり長くないのですが、同じ部屋のなか(2~3m程度)であれば問題にならないと思います。
投稿: たかじん | 2017年7月 5日 (水) 23時45分
ご無沙汰しています
iPhoneなら、テザリングモードで割り振られるIPアドレスはクライアントごとに172.20.10.1から20までしかないので、RaspPi3をONにして、設定からインターネット共有モードにしておけば、wifiで繋がりますので、あとは1から20までを打っていけばすぐに繋がります。一旦IPが判れば、後は常に同じIPが割り振られますので、20台まではOKです。
私は、これを利用してRPi3+SabreBerry32で「超高音質ポータブルプレーヤー」を作り、楽しんでいます。BBG+B4もドングルを刺して同じ様に楽しんでいます。
投稿: きゅう | 2017年7月 6日 (木) 22時37分
在籍してた会社では、提供する機能は全部正しく機能するようしてたので、オープンソースものではよく苦労してました(笑)
投稿: 天 麩羅夫 | 2017年7月 7日 (金) 14時47分
きゅうさん
なるほど、20個しかないのでしたら探せるし、手軽ですね。
上記の方法はPCやWIFI専用ipadなど3G/LTE回線を持っていない機器も繋げられるという特徴があります。
天 麩羅夫さん
仕事でオープンソースのものを使うときは、かなり慎重にならざるを得ないですね。 機能全部を追うのはかなり大変そうです。
投稿: たかじん | 2017年7月 7日 (金) 20時34分