落絮飞雁的个人网站

顺流而下,把梦做完

用旧摄像头和开发板搭建监控平台

一个旧摄像头的奋斗

前阵子母上的行车记录仪坏了。拆开之后发现摄像头还是能用的。但现在主流笔电都自带摄像头,手机更不必多说。想来想去,不如挂到开发板上做个视频直播或者智能监控。

一开始想到是挂到Arduino上,因为家里有块Arduino开发板。但估计实现起来难度太大:摄像头的驱动问题,视频解码,还要卡考虑网络通信问题……还是用块带操作系统的板子(树莓派一类)比较方便。

最后选择了现成的WR703n,板子用的是AR9331方案,如图。可以运行OpenWRT发行版。

图片来自OpenWRT wiki

材料:

  • WR703n裸板一块
  • 某不知名摄像头一枚
  • 摄像头模组一个
  • USB线缆一条
  • 网线一条、电源线一条

硬件改造:

拆开行车记录仪,慢慢取下摄像头,发现摄像头并没有标注出任何型号或信息。我以为主控芯片是在塑料壳里面的,就作死把摄像头后面打开了,结果露出了感光元件和镜片……

记录仪的板子上印着L600_MB_V1.0-20140409。上网一搜看看这是什么型号,结果直接把板子的pcb文件找出来了,晕死,得来全不费功夫。(为避嫌,不公布链接。需要pcb文件的同学请自行百度云,友情提示:艾莱卡机种资料/L系列/L600/L600_V1.0-20140409生产资料/PCB/L600_MB_V1.0-20140409.pcb)。

行车记录仪主板

 

为了让摄像头工作,需要一个对应的摄像头模组(我使用的是CNFB_129)。取下摄像时请小心,以免伤到排线。

做一条PIN口转USB的线缆(具体接线方法请自行搜索,不同模组对应PIN口数不同,接线方法也不一),直接连接到电脑上,测试一下工作是否正常。

效果图

摄像头工作正常,这里可以记下摄像头分辨率、FPS以及支持的格式等信息,方便之后配置mjpg-streamer时使用。(Linux可以通过luvcview软件来获取上述相关信息。)

至此,摄像头部分改造完毕。

系统编译:

拉取一份OpenWRT源码(我使用的是15.05分支Chaos Calmer),本机安装好编译工具及相关依赖即可。

注意:如果换过(WR703n)板子的FLASH,需要修改这里的两处配置文件:

  • target/linux/ar71xx/image/Makefile
  • tools/firmware-utils/src/mktplinkfw.c

具体请参见OpenWRT的wiki:https://wiki.openwrt.org/toh/tp-link/tl-wr703n#mb_flash_mod

添加对应驱动和mjpg_streamer等。因为板子内存比较小,估计装好驱动之后剩不下太多空间了,所以其他软件能不装就不装。

make world……

找到编译好的固件,烧写到板子上即可。

连接到开发板,看了一下可用空间……果不其然只剩下145kb。

配置mjpg-streamer:

lsusb,可以看到开发板已经正确识别出摄像头设备。开始配置mjpg-streamer。

把之前调试时的相关信息填入mjpg-streamer配置文件,重启服务。

接着访问开发板的8080端口,不出意外的话应该可以看到画面了。

 

至此,已经在本地搭建了一个监控&&直播平台。

参考:


原文转自:用旧摄像头和开发板搭建监控平台|落絮飞雁的个人网站
授权协议:创作共用 署名-非商业性使用 2.5 中国大陆
除注明外,本站文章均为原创;转载时请保留上述链接。