纯工程师一名,历经一段时间的摸索,搞定了基于海思3518E方案的IPC摄像头, 研发摄像头需要掌握的知识点还挺多的,没法通过三言两语讲述清楚.
先上图, 最后完成的作品如下:
研发一款摄像头需要掌握的基本流程与知识点
1: 搭建linux 嵌入式虚拟机, ARM交叉编译环境, 如下图是我搭建的ubuntu的编译环境
同时还需要仔细读海思的 Hi3518A/Hi3518C/Hi3516C Linux开发环境 用户指南.pdf ,这个是入门的第1步。
其中需要注意的一个大坑,就是linux的shell系统,ubuntu默认是无法执行 用户指南中的 指令。需要把ubuntu的shell系统改掉
2: 编译Linux内核与制作ROOTFS
嵌入式研发工程师都懂的呀,如果不懂,请参考海思提供的文档 Linux开发环境 用户指南.pdf,同时结合网上的嵌入式研发入门教程。也可以QQ联系我,我教你!
3:通过UBOOT引导烧写内核与根文件系统
烧写内核
set serverip 192.168.1.199; //你的NFS服务器IP,什么是NFS Server请自己搜索
mw.b 0x82000000 0xFF 0x100000;
tftp 0x82000000 wuImage; //编译出来的内核文件,精简后的linux内核为1M大小
sf probe 0;
sf erase 0x40000 0x100000;
sf write 0x82000000 0x40000 0x100000
烧写rootfs文件系统
mw.b 0x82000000 0xFF 0x600000;
tftp 0x82000000 rootfs-ov9712-8188.jffs2; //跟文件系统,里边包含了基本的驱动
sf probe 0;
sf erase 0x140000 0x680000;
sf write 0x82000000 0x140000 0x680000
4: 编写自己的IPC程序
这个是重点,参阅《HiMPP 媒体处理软件开发参考.pdf 》,你不需要看每个函数,但是最重要的是结合HISI提供的例子Sample。
在例子里,其中sensor和硬件配套的CMOS型号一定要匹配,不然会出现
get venc stream time out, exit thread
5:让摄像头支持P2P访问
无须搭建云服务器,在任何地方都可以随时视频摄像头。
目前这块技术已经有第三方的公司做的比较久了,建议直接整合,没必要自己研发,主要是成本高,我采用的是 TUTK的P2P平台,只需要购买他们的ID号,配置到摄像头里就可以让摄像头在任何地方随时视频,整合也比较简单.
6: 手机APP视频播放
手机解码还是有一定难度,参考我的另外一篇文章:
http://blog.youkuaiyun.com/imlsq/article/details/48158143
如有技术问题需要咨询,可以联系我,QQ13012608