【寵物遠程監控DIY】openwrt+rt5350+mjpg攝像頭

1.辦公雲+VPN

從辦公雲拉取文件

scp xxx@xxx:/Volumes/C/RT5350/Ralink-RT5350-SDK4.1.2/MTK_Ralink_ApSoC_SDK_4120_20120607.tar.bz2 ./

scp ./root_uImage xxx@xxx:/Volumes/C/RT5350/ 

~/ralink/RT288x_SDK/source/

sudo cp *so*  ~/ralink/RT288x_SDK/source/romfs/lib -d

sudo cp mjpg_streamer ~/ralink/RT288x_SDK/source/romfs/bin/

mjpg_streamer -i "./input_uvc.so -r 320x240 -m -f 30" -o "./output_http.so -w ./www"


2.常識問題

wan與lan

LAN,全稱Local Area Network,中文名叫做局域網

WAN:接外部 IP 地址用,通常指的是出口,轉發來自內部 LAN 接口的 IP 數據包。基本每個路由器都有WAN口,當然也有路由貓這種特例。

VLAN(Virtual Local Area Network)的中文名爲"虛擬局域網"。

查看網口分配: /cat etc/config/network 


3.安裝OPENWRT

sudo apt-get install subversion

sudo apt-get install git-core

sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils ncurses-term zlib1g-dev libncurses5-dev gawk

獲取openwrt源碼。在當前用戶主目錄下執行

git clone git://git.openwrt.org/openwrt.git

配置軟件源。進入openwrt目錄,執行

./scripts/feeds update -a

./scripts/feeds install -a

4.檢查編譯環境是否完整:

make defconfig

make prereq

make menuconfig

make V=99

5.下載OPENWRT

scp -r xxx@xxx:/Users/xxx/OP/openwrt ./

編譯完成通過share文件放到TFTP的文件夾中,插上USB網口開始下載


6.加載LUCI頁面

中繼網橋配置方法

https://www.douban.com/note/402967507/

同時添加SSH支持

7.OPENWRT安裝mjpeg驅動

1、配置內核加入攝像頭驅動
Kernel modules --->Video Support --->kmod-video-core --->kmod-video-uvc

2、配置內核加入 MJPEG 視頻流 Multimedia --->mjpg-streamer

3、重新編譯,燒寫鏡像

openwrt-ramips-rt305x-mpr-a2-squashfs-sysupgrade.bin 重啓後既可以看到已經有 mjpg-streamer 的命令。

4、配置攝像頭的幀率、分辨率等

config mjpg-streamer 'core' option enabled '1' option input 'uvc'

option output 'http'
option device '/dev/video0' option resolution '640x480' option fps '30'
option www '/www/webcam' option port '8080'

修改/etc/init.d/mjpg-streamer 這個腳本,增加 –m
mjpg_streamer -i "input_uvc.so -d /dev/video0 -n -m -r 640x480 -f 30" -o "output_http.so -p 8080 -w ./www"

啓動 mjpg-streamer: /etc/init.d/mjpg-streamer start 

視頻圖像:192.168.1.1:8080/?action=stream

靜態圖像:192.168.1.1:8080/?action=snapshot 

8.設置IP地址和路由的虛擬服務器端口,保準外網可以接入openwrt同事brlan與wlan不能在一個網段

設置方式:

Interfaces:br-lan

Wireless Network: STA

Interfaces:br-lan

Wireless Network: STA

不行重啓!

防火牆

端口轉發

在路由器上設置:DMZ主機加openwrt的ip地址即可!



9.設置程序運行優先級

kill -9 $(ps |grep mjpg|grep -v grep|awk '{print $1}')

mjpg_streamer -i "input_uvc.so -d /dev/video0 -r 640x480 -f 20 " -o "output_http.so -p 8088 -w /www" &

mjpg_streamer -i "input_uvc.so -d /dev/video0 -r 320x240 -f 20 " -o "output_http.so -p 8082 -w /www"


   

eth0

eth0是一塊物理網卡。eth0.1 eth0.2都是從此設備上虛擬出來的。

eth0.1 是vlan1分出的lan口。

eth0.2 是vlan分出的wan口。

rao raio

這兩個是成對出現,一看就知道是無線設備,它們各自對應一個SSID,分別是2.4G和5G。

br-lan

br-lan 虛擬設備,用於LAN口設備橋接,可以用brctl show查看使用情況。

br-lan = eth0.1 (lan)+ rai0 + ra0,即將有線LAN口和無線網統一劃分爲 LAN,便於管理!

lo lo 虛擬設備,自身的迴環網設備。
pppoe-wan 虛擬設備,他就是常見的撥號寬帶上網,需要有ISP提供的用戶名密碼,連接後方可激此接口!



編譯問題彙總:

1.問題:/opt/buildroot-gcc342/bin/mipsel-linux-gcc: No such file or directory

@versamodule Are you running a 64-bit system? For some reason vendors like shipping around 32-bit binaries that don't work without a 32-bit libc. You might need to do something like: "dpkg --add-architecture i386", then "apt-get update", and then "apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386" before you can run their ancient toolchain.


2.問題:collect2: ld returned 1 exit status make[1]: *** [scripts/kconfig/mconf] Error 1 make: *** [menuconfig] Error 2

apt-get install libncurses5-dev


3.問題:ERROR opening V4L interface: No such file or directory

menuconfig 

Multimedia --->mjpg-streamer libv4l2

Kernel modules --->Video Support dwc2 storage usb2

USB2

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章