小R科技-WIFI机器人网·机器人创意工作室

标题: 解决703N和WIFI模块视频传送不稳定问题和人为插拔摄像头后自动重启视频 [打印本页]

作者: liuviking    时间: 2012-5-8 20:57
标题: 解决703N和WIFI模块视频传送不稳定问题和人为插拔摄像头后自动重启视频
(这个问题为老问题,现在的WIFI板均不存在这个问题了,请升级我们最新的固件)
之前有车友报告703N的视频传输不如DB120的稳定,有时会发生掉线情况,结果就导致画面卡住,需要重启路由或者手动在PUTTY下输入重启视频命令。
当然,我们之前的WIFI板继承了这个“问题”,后来经过我们仔细检查,发现是视频驱动软件mjpg-streamer这个程序的问题,这个程序非常脆弱,比如USB线接触不良,或者小车动作瞬间的电流变化可能影响到路由的稳定性,继而发生掉帧,一旦掉帧,这个mjpg-streamer就挂掉了····
在Openwrt官方还没有改进这个BUG之前,我们只能自力更生,为此,工作室发布了这个补丁,可以保证一旦出现意外视频掉线,或者人为拔出USB摄像头后,能自动重新恢复视频。

操作方法如下:
1、下载并解压附件中的“checkprom.sh”文件
2、用winscp登陆WIFI板,把这个文件放到/etc/init.d/目录下
如图
(, 下载次数: 78)
3、用winscp登陆WIFI板,到/etc目录下,找到rc.local文件,双击打开,然后把下面的文字复制到exit0前面的位置。


cd /etc/init.d/
./checkprom.sh &
cd -

保存即可。
这一步也可以在192.168.1.1路由管理界面的“启动项”这一栏里,直接粘贴进去并保存。


如图:
(, 下载次数: 71)

4、重启板子即可。如果有兴趣可以用putty登陆路由,输入ps -l  回车,查看是否有checkprom.sh这个进程,如果有,则说明随机启动起作用了。


OK,从此WIFI板或703就不用担心掉线后麻烦的操作了,一旦发生视频掉线,板子会自动侦测到,并在5秒内重启视频,你只需要刷新一下卡住的界面即可。
(, 下载次数: 237) (301摄像头专用)
(, 下载次数: 276) (UVC摄像头专用,注意执行命令时文件名,自己要变通一下)




作者: duocoo    时间: 2012-5-8 21:05
沙发沙发   
作者: 零用钱    时间: 2012-5-8 22:08
用winscp也能改权限啊   
作者: 零用钱    时间: 2012-5-8 22:09
这样的话就可以省去用putty了
作者: liweili201    时间: 2012-5-8 22:57
强帖
顶顶顶
楼主!
作者: ttzaio    时间: 2012-5-9 00:07
楼主强,顶顶
作者: robotStudio    时间: 2012-5-9 13:36
问题终于解决了
作者: liweili201    时间: 2012-5-9 22:18
试了好多办法也启动不了checkprom.sh
(, 下载次数: 54)


作者: 梦醒时分bin    时间: 2012-5-16 23:03
liweili201 发表于 2012-5-9 22:18
试了好多办法也启动不了checkprom.sh

我也是遇到这种问题,但是我搞定了,原来那个文件还要改权限
作者: zhujunsq    时间: 2012-5-16 23:22
试了好多方法,只能运行一次,开机自运行总是不行。。。
作者: robotStudio    时间: 2012-5-17 09:12
梦醒时分bin 发表于 2012-5-16 23:03
我也是遇到这种问题,但是我搞定了,原来那个文件还要改权限

我也遇到了随机无法启动的问题,如何该权限?

作者: 梦醒时分bin    时间: 2012-5-17 11:23
robotStudio 发表于 2012-5-17 09:12
我也遇到了随机无法启动的问题,如何该权限?

把文件用winscp上传后加多这一步:右键文件,点击属性,在弹出的窗口把权限改为rwxr-xr-x,或者把八进制表那个空改为0755,点确定就好了。
作者: robotStudio    时间: 2012-5-21 10:54
梦醒时分bin 发表于 2012-5-17 11:23
把文件用winscp上传后加多这一步:右键文件,点击属性,在弹出的窗口把权限改为rwxr-xr-x,或者把八进制表 ...

我是执行了一条这样的命令:chmod 777 /etc/init.d/checkprom.sh 好像也可以了,但是突然给703n断电,703n就挂了。我测试了6个703n,挂了一个不知道是什么问题,晚上在去试试你的方法,看看能不能行,谢了。
作者: lzcaiyi    时间: 2012-8-14 17:08
终于有解决办法出来了,不过貌似操作有点复杂,不知道能不能搞得定
作者: lzlday    时间: 2012-8-14 17:52
很好,谢谢。。。
作者: ~V~shrimp@@@    时间: 2012-9-29 22:19
好东西 先留着了
作者: sj14ha69    时间: 2012-10-2 10:17
新人是從零開始來學習,請大家多多指教.

作者: ttzaio    时间: 2012-11-11 23:22
:):)学习
作者: 六弦、黯消魂    时间: 2014-2-18 20:34
新来的,虽然不太懂,还是顶顶顶
作者: LIAO    时间: 2014-8-27 08:19
厉害。。。。。。。。。。
作者: dcs530    时间: 2014-9-18 19:44
求那个登录的账号密码是多少
作者: liuviking    时间: 2014-9-18 21:32
dcs530 发表于 2014-9-18 19:44
求那个登录的账号密码是多少

root  admin
作者: kelvinbing    时间: 2014-12-5 15:02
谢谢分享.............
作者: wsgwz1000    时间: 2015-6-7 18:17
楼主请赐教啊:我照这个办法做了,第一次很顺利的成功启动并发生作用的。可是后来在另外一个703N上也是这么照样做了,却死活启动不起来(固件、配置、动作全部跟前一个是一样的),试了N次了 ,还请大侠楼主赐教啊!先叩谢啦


作者: wsgwz1000    时间: 2015-6-7 18:45
在浏览器上打开可看到这个脚本文件,但状态是禁用的,且改不过来。“  
作者: liuviking    时间: 2015-6-7 18:49
wsgwz1000 发表于 2015-6-7 18:45
在浏览器上打开可看到这个脚本文件,但状态是禁用的,且改不过来。“

检查一下你的这个脚本的权限是否可执行
作者: wsgwz1000    时间: 2015-6-7 22:39
回楼主:脚本权限肯定是设置可执行的了的{:soso_e101:}

作者: wsgwz1000    时间: 2015-6-7 22:46
这是在winscp上的截图
作者: wsgwz1000    时间: 2015-6-7 22:51
还有这个截图一并请楼主赐教哈
作者: wsgwz1000    时间: 2015-6-8 15:07
我今天又重新下载了这个脚本文件试验,发现在SecureCRT里ls 可以看到此脚本文件,用命令行赋予执行权限也正常,但是在命令行下执行时却显示找不到文件。我自己编个小脚本测试,执行是正常的。很奇怪,我知道肯定是有原因的,但真不知道原因再哪里?恳请楼主大侠赐教,谢谢

作者: wsgwz1000    时间: 2015-6-8 21:08
回楼主:问题解决了,谢谢。事情是这样的:我后来发现我自己在secureCRT窗口编制几个小脚本程序测试都能够正常运行,为何我从网上下载来再传到系统里就不认识文件呢?而且也丝毫看不出有什么不同?难道是一定要在现场现编?显然说不过去的。然后在一次我再次secureCRT把文件传到系统里时发现点击上传后弹出的窗口里的文件格式默认的是“二进制”,我忽然想起脚本文件应该是文本格式的,是不是因为我误把它作为二进制格式传到系统里了,所以,系统不认为它是个脚本文件(尽管看起来没什么区别)。随即把文件格式选择“文本”格式传到系统里,设置好文件权限(其实权限也是可以在传文件时那个弹出的窗口里设置好的),运行正常, 重启路由器后ps,可以看到此进程已经启动了。至此,几天来的困顿和百思不得其解豁然开朗!由此,也想到像我等之前没摸过linux系统的菜鸟来说,那些对老手来说不是问题的东西对菜鸟来说没有高手可请教情况下可是很伤脑筋的,很希望能有手把手式的教程啊!

作者: wsgwz1000    时间: 2015-6-8 21:15
刚才有个地方错了,本人是用winscp软件来传文件的,不是用secureCRT软件传的。

作者: cqgdlq    时间: 2015-6-16 14:10
新来的,虽然不太懂,还是顶顶顶
作者: wsgwz1000    时间: 2015-7-11 14:17
求教楼主:本人在运行脚本文件中这个语句的时候发现一个问题:stillRunning=$(ps -ef |grep "mjpg_streamer" |grep -v "grep"),这一句在实际执行中返回的永远是空的。后来在命令行下直接键入这个命令行显示的也是空的,然后把ps 后的参数 -ef 去掉,再在命令行下键入就可以正确显示搜索到的mjpg_streamer  进程信息了。随后,我在脚本文件中也去掉了这个 -ef 参数。可是,发现在运行这个脚本文件时,这个命令行返回的还是空。问题1:是不是在operwrt中ps命令加 -ef 参数是不支持的?问题2:为何同样的命令和参数,在命令行下可正常执行,为何放在脚本文件中就不能正常执行了?试验了好久没搞懂,还请大侠赐教!谢谢!
作者: clarkzheng    时间: 2015-8-22 16:05
本帖最后由 clarkzheng 于 2015-8-22 16:09 编辑

权限改了,突然发现我的路由器好像没有sh。我的路由器的源都不知道哪里找wr703n,求助

-ash: ./checkprom_uvc: not found

问题解决了:果然文件格式的问题,winscp还是挺坑人的。我用scp就好了。 - -!





欢迎光临 小R科技-WIFI机器人网·机器人创意工作室 (http://www.wifi-robots.com/) Powered by Discuz! X3.4