Raspberry Pi3(Raspbian Jessie)をアクセスポイント化してWiFiで動画配信する

Raspberry Pi3(Raspbian Jessie)をアクセスポイント化してWiFiで動画配信する

今回は「Raspberry Pi3(Raspbian Jessie)をアクセスポイント化してWiFiで動画配信する」方法について説明します。

最新のRaspbianはStretchですが、こちらのほうでは他の端末からWiFiに接続することができませんでした。また、他のサイトではJessieを使っている方が多いようですので、今回はOSをそちらのほうに入れ替えてアクセスポイント化を実施しました。

今回の環境

・OSには「NOOBS_v2_4_1」で「Raspbian Jessie」をインストール

Raspberry Pi3 Model Bを使用(※Raspberry Pi3 Model B+にもNOOBS_v2_4_1を入れようとしてみましたが、インストールできませんでした。よって、B+に上記のOSは入れられないかもしれません。。)

・アクセスポイント化するまではインターネット環境があること

アクセスポイント化の手順

アクセスポイント化するとWiFiでインターネットに接続することができなくなってしまいますので、先に必要な機能はダウンロードしておく必要があります。

MJPG-Streamerのインストールと設定

RaspberryPiにつないだWebカメラからの映像をWiFiから取得するために、先にMJPEG-Streamerをインストールしておきます。

RaspberryPiとMJPG-Streamerでライブストリーミングをする方法

参考にしたサイト

今回は以下のサイトに掲載してある手順でアクセスポイント化することができました。

Raspberry Pi 3のWIFIをAPモードにする方法

上記のサイトそのままですが、私が設定した手順は以下の通りになります。

ソフトウェアのインストール

sudo apt-get update
sudo apt-get install hostapd dnsmasq

WIFI側をDHCPクライアントから外す

sudo nano /etc/dhcpcd.conf

ファイルが開いたら一番下に以下を追加して保存します。

denyinterfaces wlan0

WIFI側のIPアドレス設定

sudo nano /etc/network/interfaces

ファイルが開いたら以下の部分を変更します。

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

このファイルを登録します。

sudo nano /etc/default/hostapd

これでファイルが開いたら以下の部分を変更して保存します。

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

dnsmasqでのDHCPサーバー設定

sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
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

ソフトの自動起動登録

sudo service hostapd start
sudo service dnsmasq start

リブート&接続確認

上記までの手順を実施してリブートするとWiFiで「Pi3-AP」が表示されますので、パスワードの「raspberry」を入力すると接続することができます。この段階で接続できない場合は手順が合っていない可能性があります。

WiFiに接続してWebカメラの映像を見る手順

上記までの手順でリブートするとアクセスポイントまでの手順は完了しているので、WebカメラをRaspberryPiに接続して「MJPG-Streamer」の方を起動しておきます。

コンソールを立ち上げて以下のフォルダに移動しておきます。このフォルダに移動しておかないと次の「MJPG-Streamer」の起動がうまくいかないのでご注意を。

cd mjpg-streamer-experimental

次に「MJPG-Streamer」を起動しておきます。

mjpg_streamer -i "/usr/local/lib/mjpg-streamer/input_uvc.so -d /dev/video0 -y  -r 320x240 -f 15" -o "/usr/local/lib/mjpg-streamer/output_http.so -p 8080 -w ./www"

これでブラウザからWebカメラの映像が見れる状態になっています。ブラウザを起動して「http://プライベートIPアドレス:8080」もしくは「http://localhost:8080」を入力して「Stream」のページに移動してみましょう。Webカメラの映像が出てたら成功です。

スマホやPCからRaspberryPiのWebカメラの映像を確認してみる

スマホやPCでRaspberryPiのWiFiに接続して映像が見れるか確認してみます。WiFiで「Pi3-AP」を選択して、パスワードの「raspberry」を入力します。これでエラーがでなければ接続することができています。

・PCの場合

・スマホの場合

スマホやPCでブラウザを立ち上げて「http://RaspberryPiのアドレス:8080」を入力します。するとRaspberryPiのWebカメラの映像がスマホやPCからも見ることができると思います。RaspberryPiのIPアドレスを確認したい場合は「ip a」と入力することで確認することができます。

・PCの場合

・スマホの場合

以上、今回はRaspberry Pi3(Raspbian Jessie)をアクセスポイント化してWiFiで動画配信する方法をご紹介させていただきました。他のサイトを見てもできなかった方々の参考になれば幸いです。

 

電子工作カテゴリの最新記事