Raspberry Pi & Python 開発ブログ ☆彡

Raspberry PiとPythonの基本的な使い方をわかりやすく解説。初心者、入門者必見!!

無線アクセスポイントとして使用する方法

今回はRaspberry Piを無線アクセスポイントとして使用する方法を紹介します。Raspberry Piオンボード無線LANを使用しますので、無線アクセスポイントの設定をしておけば、ノートPC(無線LAN搭載)だけで、Raspberry Piをコントロールすることができるようになります。それでは手順を紹介します。

hostapdモジュールをインストール

無線アクセスポイント化に必要なモジュールです。下記コマンドでインストールします。

sudo apt-get install hostapd

設定ファイルのひな型を取得

無線アクセスポイント化するためには、ssidやpassword等の各種パラメータを設定するための設定ファイルを作成する必要があります。下記のサイトから設定ファイルのひな型をダウンロードし、編集してきます。まず、/etc/hostapdフォルダに移動します。

cd /etc/hostapd/

その後、hostapd.confをダウンロードします。

sudo wget https://w1.fi/cgit/hostap/plain/hostapd/hostapd.conf

hostapd.confファイルの編集

下記コマンドでhostapd.confファイルを開きます。

nano /etc/hostapd/hostapd.conf

かなり行数が多く、見つけにくいと思いますが、エディターの検索機能を使って下記のパラメータを設定していきます。ssidとwpa_passphraseは、Raspberry Piのアクセスポイント化後に接続する際のssidとパスワードになりますので、任意に設定して頂いて問題ありません。

interface=wlan0
driver=nl80211
ssid=testap
country_code=JP
hw_mode=g
channel=1
#rts_threshold=-1
#fragm_threshold=-1
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
ieee80211n=1
wpa=2
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP

Raspberry Piのオンボード無線LANの設定

今回はDHCP等は使わず、設定が簡単な固定IP設定にします。/etc/network/interfacesに書かれているwlan0の設定を下記のように編集します。下記コマンドでinterfacesを開きます。

sudo nano /etc/network/interfaces

下記のように編集します。固定IPは192.168.0.10としています。

auto lo
iface lo inet loopback

iface eth0 inet manual

allow-hotplug wlan0
iface wlan0 inet static
    address 192.168.0.10
    netmask 255.255.255.0

無線アクセスポイントの有効化

上記の設定が終わったら、一度再起動をし、下記のコマンドを実行します。

sudo hostapd /etc/hostapd/hostapd.conf

※再起動後は、無線接続ができなくなりSSHでの操作が不可能になります。シリアルコンソールで接続するか、モニタを接続しておいてください。もしくは下記で説明する自動起動設定を行っておいてください。

※Operation Errorが発生していても、無線アクセスポイントとして正常に動作しているようです。

動作確認

ノートPC(無線搭載)やスマホから無線アクセスポイントの自動検索を行ってください。hostapd.confで設定したssidが表示されているはずです。選択するとパスワードを要求されますので、hostapd.confで設定したwpa_passphraseの文字列を入力します。これで、接続が可能となります。ノートPC(無線搭載)やスマホIPアドレスを192.168.0.11等に設定後、teratermで接続できるようになります。

自動起動の設定

下記コマンドでファイルを開きます。

sudo nano /etc/default/hostapd

DAEMON_CONFのところにhostapd.confのパスを記入します。

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

これでラズパイ起動時に、自動的にアクセスポイントが有効になっているはずです。ノートPCしかない環境でも、Raspberry Piを制御できるようになりました。