ブログ

Armadillo-X1/IoT(G3/G3L):USBカメラの画像を無線LAN経由で見る方法

at_kazutaka.bito
2019年1月21日 13時10分

Armadillo-X1/IoT(G3/G3L)に接続したUSBカメラの画像を無線LAN経由で見る方法です。

ポイント
・Armadillo-X1/IoT(G3/G3L)は、無線LANアクセスポイントにします。
・Armadillo-X1/IoT(G3/G3L)は、USBカメラの画像をmjpeg-streamerでストリーミングします。
・PC、スマホからArmadillo-X1/IoT(G3/G3L)に無線LANで接続して、Webブラウザで画像を閲覧します。

1.用意するもの

・Armadillo-X1/IoT(G3/G3L)(WLAN+BTコンボ搭載、および、アンテナセット付属品)
・USBカメラ(Armadillo-X1/IoT(G3/G3L)に接続します)
・PC、スマホ(無線LAN、Webブラウザが動くもの)

2.Armadillo-X1/IoT(G3/G3L)に必要なソフトをインストール

Armadillo-X1/IoT(G3/G3L)をインターネットに接続可能なネットワークに接続します。

パッケージ情報のアップデートとアップグレードを行います。

root@armadillo:~# apt-get update
root@armadillo:~# apt-get upgrade


無線LANアクセスポイントのためのパッケージをインストールします。

apt-get install hostapd
apt-get install isc-dhcp-server


Armadillo-X1:USBカメラの画像をmjpg-streamerを使って、ネットワーク経由でPCのWebブラウザで見る方法
の手順で、mjpg-streamerをインストールします。

3.無線LANアクセスポイント用の設定

NetworkManagerの管理対象から無線LANを外します。
/etc/NetworkManager/NetworkManager.conf
の末尾に

[keyfile]
unmanaged-devices=interface-name:wlan0

を追加して、NetworkManagerをリスタートします。

service NetworkManager restart


無線LANアクセスポイントの設定を行います。
ここでは、
 SSID:g3-wlan-ap
 パスフレーズ:password
となるように設定します。

/etc/hostapd/hostapd.conf
の内容を下記のように記述します。

interface=wlan0
driver=nl80211
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
ssid=g3-wlan-ap
country_code=JP
hw_mode=g
channel=10
beacon_int=100
dtim_period=2
max_num_sta=255
macaddr_acl=0
auth_algs=3
ignore_broadcast_ssid=0
wmm_enabled=1
wmm_ac_bk_cwmin=4
wmm_ac_bk_cwmax=10
wmm_ac_bk_aifs=7
wmm_ac_bk_txop_limit=0
wmm_ac_bk_acm=0
wmm_ac_be_aifs=3
wmm_ac_be_cwmin=4
wmm_ac_be_cwmax=10
wmm_ac_be_txop_limit=0
wmm_ac_be_acm=0
wmm_ac_vi_aifs=2
wmm_ac_vi_cwmin=3
wmm_ac_vi_cwmax=4
wmm_ac_vi_txop_limit=94
wmm_ac_vi_acm=0
wmm_ac_vo_aifs=2
wmm_ac_vo_cwmin=2
wmm_ac_vo_cwmax=3
wmm_ac_vo_txop_limit=47
wmm_ac_vo_acm=0
ieee80211n=0
eapol_key_index_workaround=0
eap_server=0
own_ip_addr=127.0.0.1
wpa=2
wpa_passphrase=password
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
rsn_pairwise=CCMP


/etc/default/hostapd
に下記の行を追加します。

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


DHCPサーバーの機能を持たせます。
ここでは、
 Armadillo-X1/IoT(G3/G3L)のIPアドレス:192.168.100.1
 DHCPクライアントに割り当てるIPアドレス:192.168.100.2~192.168.100.254
となるように設定します。

/etc/dhcp/dhcpd.conf
の末尾に下記の内容を追加します。

subnet 192.168.100.0 netmask 255.255.255.0 {
     option routers 192.168.100.1;
     option subnet-mask 255.255.255.0;
     range dynamic-bootp 192.168.100.2 192.168.100.254;
}


4.無線LANアクセスポイントの起動

Armadillo-X1/IoT(G3/G3L)を無線LANアクセスポイントとして動作させるために下記のコマンドを実行します。

root@armadillo:~# ifconfig wlan0 192.168.100.1 netmask 255.255.255.0 up
root@armadillo:~# service isc-dhcp-server start
root@armadillo:~# service hostapd start


5.mjpg-streamerの起動

USBカメラの画像をmjpg-streamerでストリーミングします。
以下は、USBカメラのデバイスファイルが"/dev/video0"の場合の実行例です。

root@armadillo:~# mjpg_streamer \
> -i "/usr/local/lib/input_uvc.so --device /dev/video0 --yuv --resolution VGA --fps 30" \
> -o "/usr/local/lib/output_http.so --www /usr/local/www"


6.PC、スマホでUSBカメラの画像を確認

PC、スマホの無線LANを
 SSID:g3-wlan-ap
 パスフレーズ:password
に接続します。

PC、スマホのWebブラウザで

http://192.168.100.1:8080

を指定すると、mjpg-streamerの画面が開くので、左帯のStreamを選択すると、動画として見えます。