路由器硬改+刷OpenWrt+挂载摄像头+U盘
作者:互联网
目录
路由器硬改+刷OpenWrt+挂载摄像头+U盘
标签:路由器 OpenWrt 摄像头
时间:2019-2-25 作者:梦幻之心星 347369787@QQ.com https://www.cnblogs.com/Sky-seeker/
第一步,硬件改造
- 根据型号查找推荐的DDR内存和闪存(https://oldwiki.archive.openwrt.org/toh/tp-link/tl-wr703n)
- 用拖焊法换Flash和Ram以及外置天线(注意检查有无短路和断路)
- 完善USB外围电路
- 引出串口接线端子
第二步,刷入引导加载器和固件
- 用编程器备份原厂固件
- 用编程器刷入对应主控型号的breed(https://breed.hackpascal.net/) [][breed目录]
- 通过breed控制台编程器固件更新刷入原厂固件,固件更新时勾选保留现有 Bootloader,取消勾选保留现有 ART,固件更新成功后即可恢复原厂ART(无线校准信息)
- 通过breed控制台常规固件更新刷入openwrt固件(https://downloads.openwrt.org/),备份ART
[][系统信息] [][固件更新]
第三步,安装相关驱动和软件
- 连接USB转串口与路由器串口之间的导线
- 使用SecureCRTPortable连接对应串口,取消流控下的勾选
[][串行选项设置] 连接成功后执行以下命令
opkg update opkg install luci-base luci luci-i18n-base-zh-cn opkg install kmod-usb-core kmod-usb-ohci kmod-scsi-core kmod-usb2 opkg install kmod-usb-video kmod-video-core opkg install kmod-video-uvc kmod-video-gspca-core kmod-video-gspca-zc3xx opkg install kmod-i2c-core kmod-input-core opkg install mjpg-streamer luci-app-mjpg-streamer luci-i18n-mjpg-streamer-zh-cn opkg install blkid usbutils libusb opkg install openssh-sftp-serve opkg install kmod-usb-storage kmod-usb-storage-extras block-mount kmod-fs-ntfs opkg install ntfs-3g kmod-fuse
luci-base 用于提供图形界面
openssh-sftp-serve 用于传输文件,可通过此方式访问设备文件系统,直接修改配置启用系统->管理权下的SSH访问
第四步,配置设备
lsusb
命令显示连接到系统的USB总线信息,执行lsusb命令获取设备的生产商和设备名以及设备ID,查找对应驱动root@LEDE:~# lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 002: ID 046d:08af Logitech, Inc. QuickCam Easy/Cool
Bus 001 : 设备连接到第1条总线;
Device 002 : 第2台连接到总线上的设备;
ID 046d:08af : 设备的ID为046d:08af;
Logitech, Inc. QuickCam Easy/Cool :生产商名为罗技,设备名为快看畅想- 如果设备不支持UVC免驱,安装对应驱动(gspca系列) [][gspca devices]
通过串口执行dmesg命令
dmesg | grep video
,检查驱动安装是否成功root@LEDE:~# dmesg | grep video [ 10.392647] Linux video capture interface: v2.00 [ 10.724687] usbcore: registered new interface driver uvcvideo
执行
ls /dev/
,如果存在video0或者video1、video2设备名称,说明已经正确识别
第五步,启动设备
- 进入luci界面->服务serivices->mjpg-streamer
- 勾选Enable MJPG-streamer,Input plugin选择UVC,Output plugin选择HTTP
- UVC input下的设备选择识别到的设备名video0,设置分辨率和fps,是否支持YUYV格式取决于设备
- HTTP output下的端口和WWW folder保持默认值,也可自定义
- 点击保存应用,看到后台有mjpg-streamer进程说明启动成功
第六步,优化设备配置
- 获取设备具体型号
1.1 通过外观获取型号
1.2 通过网络获取型号(官网、中关村在线、淘宝拍立淘、以图识图等)
1.3 通过命令获取型号 获取设备具体型号和参数
2.1 将摄像头连接到电脑,进入ubuntu系统
2.2 安装视频和摄像头软件v4l-utils(luvcview,spcaview,webcam,xawtv)
2.3 执行以下命令可获得设备分辨率、帧率等信息
[][摄像头参数]sudo apt-get install v4l-utils v4l2-ctl -d /dev/video0 --all
- 根据相关参数设置相关配置
[][mjpg-streamer设置] 点击应用并保存,设置界面出现图片,打开http://网关ip:8080,画面出现
[][摄像头画面]修改相关配置,设置openwrt摄像头自启动
/etc/init.d/mjpg-streamer enable //设置开机自动启动 /etc/init.d/mjpg-streamer disable //禁止开机自动启动 /etc/init.d/mjpg-streamer start //现在启动 /etc/init.d/mjpg-streamer restart //重启 /etc/init.d/mjpg-streamer stop //停止
---注意事项
- 资源占用高,CPU长期100%以上,内存占用20%左右,发热量较大,长期运行可能会导致硬件性损坏,必须注意散热
- 如果摄像头支持mjpg格式输出,mjpg-streamer只需要将得到jpeg格式的图片转发到HTTP服务器。但如果摄像头不支持mjpg格式输出,仅支持YUV格式,那mjpg-streamer需要将原始图片压缩成jpeg格式,因此需要消耗大量CPU资源
luvcview
命令可获得摄像头设备分辨率、帧率等信息blkid
命令查询设备上所采用文件系统类型。blkid
主要用来对系统的块设备(包括交换分区)所使用的文件系统类型、LABEL、UUID等信息进行查询。要使用这个命令必须安装e2fsprogs软件包。dmesg
命令用于检测和控制内核环缓冲,用来帮助用户了解系统的启动信息- 列出加载到内核中的所有驱动;
- 列出所有被检测到的硬件;
- 只输出dmesg命令的前20行日志;
- 只输出dmesg命令最后20行日志;
- 搜索包含特定字符串的被检测到的硬件;
- 清空dmesg缓冲区日志;
- 实时监控dmesg日志输出
- 高级定制可通过下载源码后进行自定义配置再编译固件文件
固件文件的解包和打包可使用firmware-mod-kit和binwalk工具
参考资料
TP-Link TL-WR703N硬件参数:http://wiki.openwrt.org/toh/tp-link/tl-wr703n.
openwrt下使用blkid获取U盘文件系统格式 https://www.openwrtdl.com/wordpress/openwrt-blkid-gets-u-file-system-format
openwrt摄像头选购指南 https://www.openwrtdl.com/wordpress/openwrt%E6%91%84%E5%83%8F%E5%A4%B4%E9%80%89%E8%B4%AD%E6%8C%87%E5%8D%97
openwrt挂载摄像头MJPG-streamer完全教程 https://www.openwrtdl.com/wordpress/openwrt%E6%8C%82%E8%BD%BD%E6%91%84%E5%83%8F%E5%A4%B4mjpg-streamer%E5%AE%8C%E5%85%A8%E6%95%99%E7%A8%8B
USB Video Support https://oldwiki.archive.openwrt.org/doc/howto/usb.video
Linux UVC driver and tools http://www.ideasonboard.org/uvc/
gspca devices https://linuxtv.org/wiki/index.php/Gspca_devices
USB挂载&U盘启动&Samba共享 https://www.cnblogs.com/sean-yao/p/8224174.html
OpenWrt编译 – 说明 https://openwrt.org/zh-cn/doc/howto/build
OpenWrt 固件的结构分析、如何逆向解包 https://blog.csdn.net/caofengtao1314/article/details/81252047
---
[breed目录]: http://m.qpic.cn/psb?/V10Ogl4t4NCm21/4lwMq0JdiCuRu9wBiBsOzroHiJ2YVHjg.N00EMzbYcg!/b/dIABAAAAAAAA&bo=WgO8A1oDvAMRCT4!&rf=viewer_4
[系统信息]: http://m.qpic.cn/psb?/V10Ogl4t4NCm21/MHzjBZMAm5TRM39qhvJbC4klfSAh4JrDQDjavR04f2A!/b/dN8AAAAAAAAA&bo=VQTEAlUExAIRGS4!&rf=viewer_4
[固件更新]: http://m.qpic.cn/psb?/V10Ogl4t4NCm21/.wPCJ1m3yUi4HEG08RDHqxVMGNtaJCmno4cEH3KMC0!/b/dA0BAAAAAAAA&bo=ZwThAmcE4QIRGS4!&rf=viewer_4
[串行选项设置]: http://m.qpic.cn/psb?/V10Ogl4t4NCm21/LvCzV01jY0qm8OgI0FySgVwnF4JPxdv1Fb.sV2H2VPU!/b/dG0BAAAAAAAA&bo=ngKaAp4CmgIRGS4!&rf=viewer_4
[gspca devices]: http://r.photo.store.qq.com/psb?/V10Ogl4t4NCm21/KtQIeaKpaWI1MmXpg1vKCrkVoTDdVBSyZG5Vb7JqY0!/r/dA0BAAAAAAAA
[摄像头参数]: http://m.qpic.cn/psb?/V10Ogl4t4NCm21/DP5jepQSrZxclXkdT.XaBSOOfM6HSfvKxC8WtFWLpu8!/b/dIUBAAAAAAAA&bo=hAS1A4QEtQMRGS4!&rf=viewer_4
[mjpg-streamer设置]: http://m.qpic.cn/psb?/V10Ogl4t4NCm21/gotFpOPmz8mC4lJEzGqcJXDuuxPAEHnnBmqwRukYE7I!/b/dOAAAAAAAAAA&bo=ngNqA54DagMRGS4!&rf=viewer_4
[摄像头画面]: http://m.qpic.cn/psb?/V10Ogl4t4NCm21/thoH6f7Ur9AqxRkDcFTvCCUkDpZwWwOIJ.iY0bhFKKQ!/b/dH4BAAAAAAAA&bo=SAN3AkgDdwIRGS4!&rf=viewer_4
[路由器硬件]: http://m.qpic.cn/psb?/V10Ogl4t4NCm21/hQueQnf*AQajUXYeVgkCMoPJ2FCnwkAi6L2D7scfYQ0!/b/dN8AAAAAAAAA&bo=WQOAA1kDgAMRGS4!&rf=viewer_4
标签:kmod,U盘,mjpg,摄像头,streamer,固件,设备,OpenWrt,硬改 来源: https://www.cnblogs.com/Sky-seeker/p/10434346.html