純工程師一名,歷經一段時間的摸索,搞定了基於海思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.csdn.net/imlsq/article/details/48158143
如有技術問題需要諮詢,可以聯繫我,QQ13012608