# 树莓派视频监控折腾记录

Source: https://blog.ferstar.org/posts/raspberry-pi-video-surveillance-setup/





检查更新
```
sudo apt-get install rpi-update
sudo rpi-update
```
默认的源在国外, 下载速度太慢, 所以需要修改默认源到国内, 试了好几个, 发现公司的网络访问阿里云的源速度不错
```
sudo vi /etc/apt/sources.list
deb http://mirrors.aliyun.com/raspbian/raspbian/ wheezy main non-free contrib
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ wheezy main non-free contrib
```
进行更新
```
sudo apt-get update
sudo apt-get upgrade
```

<!--more-->

`注: tf卡居然是4G的, 容量不太够, 需要弄个大点的, 暂时就这样省着点花, 先瘦瘦身
后来发现其实卡是16G的, 只是原版系统是直接写入的镜像, 有大片的空间没用到, 很浪费有没有, 赶紧用gparted把未使用空间划给/rootfs, 瞬间清净, 想咋整就咋整.`
```
sudo apt-get autoremove    #删除不需要的孤立包
sudo apt-get clean    # 删除deb包
```
更新操作完毕, 再次查看下更新有无问题
```
sudo apt-get install -f    # 如果有安装错误, 修复之
```
重启
`sudo reboot`
使用摄像头uv4l原生驱动(系统自带驱动不太给力)
http://www.ics.com/blog/raspberry-pi-camera-module
http://www.linux-projects.org/modules/sections/index.php?op=viewarticle&artid=14
`$ curl http://www.linux-projects.org/listing/uv4l_repo/lrkey.asc | sudo apt-key add -`
在/etc/apt/sources.list添加
`deb http://www.linux-projects.org/listing/uv4l_repo/raspbian/ wheezy main`
更新软件列表&安装摄像头驱动包
```
sudo apt-get update
sudo apt-get install uv4l uv4l-raspicam uv4l-raspicam-extras
```
着手编译mjpg-streamer
`CFLAGS+="-O2 -march=armv6 -mfpu=vfp -mfloat-abi=hard" make USE_LIBV4L2=true clean all`
from: https://github.com/ferstar/rpi-mjpg-streamer 当然是fork别人的了
mjpg-streamer编译后自带的sample页面比较挫, 把www里的内容换成rpi-mjpg-streamer/www里的
现在轮到测试了
```
./mjpg_streamer -i './input_uvc.so -d /dev/video0 -y -n -r 320x240 -f 24' -o './output_http.so -w ./www -p 8080'
    # -n 的作用仅仅是屏蔽掉一些乱七八糟的warning提示而已
    # -d /dev/video0 这里指定的是我们摄像头的挂载位置
    # -r 分辨率, 越低实时性越好, 但画质越渣
    # -f 帧率, 貌似最高支持到30
    # -w /www web根目录
    # -p 端口
    #
    # -y 指定视频采集格式为YUYV, 摄像头不支持mpeg格式
    # from http://stackoverflow.com/questions/13437244/mjpg-streaming-with-a-raspberry-pi-and-a-webcam
    #
```
正常终端显示如下:
```
MJPG Streamer Version: svn rev: 3:172M
 i: Using V4L2 device.: /dev/video0
 i: Desired Resolution: 320 x 240
 i: Frames Per Second.: 24
 i: Format............: YUV
 i: JPEG Quality......: 80
 o: www-folder-path...: ./www/
 o: HTTP TCP port.....: 8080
 o: username:password.: disabled
 o: commands..........: enabled
```
浏览器访问: http://your.pi's.ip:8080 即可看到监控视频流
当然也可以使用VLC播放器播放 http://your.pi's.ip:8080/?action=stream

接下来应该是折腾无线接入了
lsusb信息:
`Bus 001 Device 005: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter`
默认8192cu驱动会有电源管理自动休眠掉线问题, 需要关掉这个功能
```
vi /etc/modprobe.d/8192cu.conf
options 8192cu rtw_power_mgnt=0
```
检查下生效没有:
```
sudo rmmod 8192cu    # 卸载wifi驱动模块
sudo modprobe 8192cu    # 重新挂载
cat /sys/module/8192cu/parameters/rtw_power_mgnt    # 显示为0即表示关闭自动休眠(默认为1开启)
```
配置网络连接:
`sudo vi /etc/network/interfaces`
内容如下:
```
auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
iface wlan0 inet dhcp
wpa-ssid "xxx"    #ssid
wpa-psk "xxx"    #passwd
```
添加无线信息:
`sudo vi /etc/wpa_supplicant/wpa_supplicant.conf`
内容如下
```
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
        ssid="xxx"
        psk="xxx"
        proto=RSN
        key_mgmt=WPA-PSK
        pairwise=CCMP
        auth_alg=OPEN
}
```
然后启动wifi:
`sudo ifup wlan0`
查看wifi连接信息:
`ifconfig wlan0`
内容如下:
```
wlan0     Link encap:Ethernet  HWaddr e8:4e:06:29:0f:3b  
          inet addr:192.168.1.199  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2662 errors:0 dropped:1 overruns:0 frame:0
          TX packets:30 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:263097 (256.9 KiB)  TX bytes:3227 (3.1 KiB)
```
至此网络部分正常.

