路由器硬改+刷OpenWrt+挂载摄像头+U盘
标题: 路由器硬改+刷OpenWrt+挂载摄像头+U盘
作者: 梦幻之心星 347369787@QQ.com
标签: [路由器, OpenWrt, 摄像头, 固件]
目录: 路由器
日期: 2019-2-25
第一步,硬件改造
- 根据型号查找推荐的DDR内存和闪存(https://oldwiki.archive.openwrt.org/toh/tp-link/tl-wr703n)
- 用拖焊法换Flash和Ram以及外置天线(注意检查有无短路和断路)
- 完善USB外围电路
- 引出串口接线端子
第二步,刷入引导加载器和固件
- 用编程器备份原厂固件
- 用编程器刷入对应主控型号的breed(https://breed.hackpascal.net/)
- 通过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系列)
通过串口执行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进程说明启动成功
第六步,优化设备配置
获取设备具体型号
- 通过外观获取型号
- 通过网络获取型号(官网、中关村在线、淘宝拍立淘、以图识图等)
- 通过命令获取型号
获取设备具体型号和参数
将摄像头连接到电脑,进入ubuntu系统
安装视频和摄像头软件v4l-utils(luvcview,spcaview,webcam,xawtv)
执行以下命令可获得设备分辨率、帧率等信息
sudo apt-get install v4l-utils
v4l2-ctl -d /dev/video0 --all
根据相关参数设置相关配置
点击应用并保存,设置界面出现图片,打开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摄像头选购指南
- openwrt挂载摄像头MJPG-streamer完全教程 https://www.openwrtdl.com/wordpress/openwrt挂载摄像头mjpg-streamer完全教程
- 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
路由器硬改+刷OpenWrt+挂载摄像头+U盘的更多相关文章
- 第五章703N 刷openwrt 挂载u盘
感谢原文 http://blog.csdn.net/qinpeng_zbdx/article/details/8577212 http://arch.pconline.com.cn//pcjob/sy ...
- openwrt挂载摄像头及视频保存
一.编译选项的选择: -> Utilities ->usbutils (这个里面包含lsusb的命令,是查看你的摄像头型号的) -> Kernel modules -> I2C ...
- 7620N路由器刷openwrt系统并配置***
之前一直用goAgent***,主要用gmail.逛逛twitter.youtube.维基百科.加速stackoverflow等等.但goAgent只能PC使用,手机.iPad都不能用,直到我拿到了一 ...
- [无线路由] “免费”斐讯K2路由器刷OpenWRT(实战MWAN多宽带网速叠加)
(阿财首发于什么值得买)斐讯K2可以算是一个非常另类的跨界数码产品,其产品完全的醉翁之意不在酒.最多值99元的 MT7260硬件架构和用料,售价399元,金额激活K码后自动转入合作理财P2P平台,等待 ...
- 360路由器刷openwrt后设置wifi中继
上一篇文章(360路由器刷openwrt.不死uboot.双系统 .wifi中继 - 飞鸿影~ - 博客园)讲了如何在360路由器C301上安装openwrt以及安装双系统.这篇文章讲如何设置无线中继 ...
- 360路由器刷openwrt、不死uboot、双系统 、wifi中继
该类教程网上有很多,但是很多不全,给小白用户造成了很多困扰.我也是按照网上的教程刷了半天,才熟悉了是怎么个回事.这里整理成教程. 注意: 请看教程步骤走,不要跳跃性刷机.不懂的术语.软件,若本文无介绍 ...
- TP-LINK WR841N V8刷OpenWRT
在某宝上淘了一个TP-LINK WR841N V8,已经硬改为8M闪存和64M内存,还刷好了Uboot.但是卖家刷好的系统是第三方定制过的OpenWRT,集成了很多不需要用到的软件,所以我要刷回官方原 ...
- 史上最全面的Buffalo WHR-G300N CH v2 刷OpenWrt教程
Buffalo WHR-G300N CH v2 刷OpenWrt.有两种办法.一种是Windows下刷.一种是在linux下使用tftp刷.Buffalo WHR-G300N-CH v2的openwr ...
- 网络|N1盒子做旁路由刷OpenWRT系统(小白专用)
N1盒子做旁路由刷OpenWRT系统(小白专用) 为什么要用N1盒子 现如今新上市的路由器,市面上能买到的300元以内的路由器大多数都是双频(5G Hz和2.4G Hz)和几年前相比无论是速度还是性能 ...
随机推荐
- 题目分享T
题意:蛐蛐国里现在共有n只蚯蚓(n为正整数).每只蚯蚓拥有长度,我们设第i只蚯蚓的长度为a_i(i=1,2,...,n),并保证所有的长度都是非负整数(即:可 能存在长度为0的蚯蚓).每一秒,神刀手会 ...
- SpringBoot上传文件大小限制
SpringBoot默认上传文件大小不能超过1MB,超过之后会报以下异常: org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSize ...
- 支付宝小程序云开发serverless----获取用户的user_id
支付宝小程序云开发serverless----获取用户的user_id 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 开通云调 ...
- Boosting算法总结(ada boosting、GBDT、XGBoost)
把之前学习xgb过程中查找的资料整理分享出来,方便有需要的朋友查看,求大家点赞支持,哈哈哈 作者:tangg, qq:577305810 一.Boosting算法 boosting算法有许多种具体算法 ...
- vue路由元之进入路由需要用户登录权限功能
为什么需要路由元呢??? 博猪最近开发刚刚好遇到一个情况,就是有个路由页面里面包含了客户的信息,客户想进这个路由页面的话, 就可以通过请求数据获取该信息,但是如果客户没有登录的话,是不能进到该页面的, ...
- 仿真FFT(quartus安装)
软件下载:http://dl.altera.com/13.1/?edition=subscription 安装步骤: 接下来,仿真FFT: http://www.openhw.org/article/ ...
- [hdu5319]二进制表示,简单模拟
题意:给一个矩形,矩形里面画了4种符号,'.'表示没画线,'R'表示画了红线,'B'表示画了蓝线,'G'表示红线和蓝线同时画了,并且矩形主对角线上只能画红线,副对角线上只能画蓝线,问最少画多少条线才能 ...
- Two Operations Gym - 102263M 优先队列水题
Two Operations Gym - 102263M Ayoub has a string SS consists of only lower case Latin letters, and he ...
- 微信小程序开发实战(1):使用滚动视图
本文主要介绍了滚动视图组件(scroll-view)的各种常用功能,例如,垂直和水平滚动.滚动事件等,并通过例子代码来演示这些功能的使用方法. 1. 垂直滚动视图 scroll-view是容器组件 ...
- java8 新特性Stream流的应用
作为一个合格的程序员,如何让代码更简洁明了,提升编码速度尼. 今天跟着我一起来学习下java 8 stream 流的应用吧. 废话不多说,直入正题. 考虑以下业务场景,有四个人员信息,我们需要根据性 ...