$sudo sh -c 'wpa_passphrase SSID PASSPHRASE >> /etc/wpa_supplicant/wpa_supplicant.conf'
pi@raspberrypi:~ $ sudo ifconfig wlan0 down
pi@raspberrypi:~ $ sudo ifconfig wlan0 up
pi@raspberrypi:~ $ sudo ifconfig wlan0
(接続情報でIPが出てれば成功)
固定IPを下記の条件で振る
IP: 192.168.0.100
ネットマスク: 255.255.255.0
デフォルトGW: 192.168.0.1
/etc/dhcpcd.confを変更する。
pi@raspberrypi:~ $ sudo vi /etc/dhcpcd/conf
最下部に下記を追加する。
interface wlan0
static ip_address=192.168.0.100/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1
できなかった場合は、/etc/network/interfacesを下記のように変更する。
※有線LANの設定がjessie以降はdhcpcd.confでやるようになっているっぽいので、前者のほうがおすすめ。
(省略)
auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
##追加ここから address/netmask/gatewayを記述する
address 192.168.0.100
netmask 255.255.255.0
gateway 192.168.0.1
##追加ここまで
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
(省略)
UV4L のインストール
インストレーションはこちらの手順で行います
1.UV4L のパッケージを認証
wget http://www.linux-projects.org/listing/uv4l_repo/lrkey.asc && sudo apt-key add ./lrkey.asc
そして、nano で /etc/apt/sources.list を開いて
sudo nano /etc/apt/sources.list
末尾に下記を追加します。
deb http://www.linux-projects.org/listing/uv4l_repo/raspbian/ wheezy main
2.インストール
sudo apt-get update
sudo apt-get install uv4l uv4l-raspicam
sudo apt-get install uv4l-raspicam-extras
sudo apt-get update
sudo apt-get upgrade
sudo rpi-update
を実行したら、
rpi-updateなんてないよ
というエラーが発生したので、その時の対応メモ
1. wgetで取ってくる
wget https://raw.githubusercontent.com/Hexxeh/rpi-update/master/rpi-update
2. /usr/bin配下に移動
mv ./rpi-update /usr/bin/rpi-update
3. 実行権限を付与
sudo chmod +x /usr/bin/rpi-update
これで実行できた。
sudo rpi-update
sudo rpi-update
sudo apt-get install uv4l-server
sudo apt-get install uv4l-uvc
sudo apt-get install uv4l-xscreen
sudo apt-get install uv4l-mjpegstream
中継の開始
以下のように起動します
uv4l --auto-video_nr --driver raspicam --encoding mjpeg --server-option '--port=9000'
ブラウザで http://RaspberPiのアドレス:9000/stream/ にアクセスすると中継が始まっています。
ただ、これでは画角が大きく遅延が大きいのと、カメラを逆向きに付けたいので、--driver raspicam でさらに raspicam のオプションを追加して以下のように起動すると、この検証動画のように0.2秒程度の遅延で中継ができます
uv4l --auto-video_nr --driver raspicam --encoding mjpeg --server-option '--port=9000' --driver raspicam --rotation 180 --width 352 --height 288
中継の停止は
pkill uv4l
でOK です
ipv6の無効
いろいろ悪さしそうなipv6を切ります。
$ sudo vi /etc/modprobe.d/ipv6.conf
【2行目コメントアウト】#alias net-pf-10 off
【最下行に追記】install ipv6 /sbin/modprobe -n -i ipv6
ネットワークの設定
$ sudo wpa_passphrase ESSID パスフレーズ | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf
wpa_supplicant.confの生パスフレーズ部分を削除
$ sudo nano /etc/dhcpcd.conf
interface wlan0
inform 192.168.24.202
static routers=192.168.24.1
static domain_name_servers=192.168.24.1
$ sudo shutdown -r now
アップデート
TDKのSDカードはrpi-updateが成功する
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get clean
autocleanは使ってないパッケージのキャッシュ削除なのでcleanのほうが効果が高い
$ sudo apt-get autoremove
autoremoveは使っていない依存パッケージの削除
$ sudo apt-get install rpi-update
Jessie liteはrpi-updateが入っていない
$ sudo rpi-update
$ sudo shutdown -r now
isc-dhcp-serverが自動起動しない不具合は/etc/init.d/isc-dhcp-serverに待ち時間(sleep 5)を入れて対策
ソースを表示印刷?
case "$1" in
start)
test_config
log_daemon_msg "Starting $DESC" "$NAME"
sleep 5
start-stop-daemon --start --quiet --pidfile "$DHCPD_PID" \
--exec /usr/sbin/dhcpd -- \
-q $OPTIONS -cf "$DHCPD_CONF" -pf "$DHCPD_PID" $INTERFACES
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=<your SSID name>
# Bridge Interface Name
bridge=br0
# Use the 2.4GHz band
hw_mode=g
# Use channel 6
channel=[1-14]
# 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 # 1にしてもステルスにならない...
# Use WPA2
wpa=2
# Use a pre-shared key
wpa_key_mgmt=WPA-PSK
# The network passphrase
wpa_passphrase=<your SSID password>
# Use AES, instead of TKIP
rsn_pairwise=CCMP
必要なパッケージをインストールする
# apt-get update
# apt-get install bridge-utils hostapd
NICの設定をする(ブリッジ接続のためのインターフェイスを追加する)
ポイントとしては、bridge_ports でブリッジ設定することと、wlan0の設定をmanualにすること
$ sudo emacs /etc/network/interfaces
auto br0
iface br0 inet static
address 192.168.1.20 # 重複しない任意のアドレス
netmask 255.255.255.0 # 無線LANルーターが見えるマスク
gateway 192.168.1.1 # 無線LANルーターのアドレスを指定する
bridge_ports wlan0 eth0
auto wlan0
allow-hotplug wlan0
iface wlan0 inet manual