新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于Android的3G手機網絡攝像機客戶端軟件設計

        基于Android的3G手機網絡攝像機客戶端軟件設計

        作者: 時間:2012-05-07 來源:網絡 收藏
        1 系統硬件組成與網絡架構

        攝像機硬件核心采用三星公司推出的基于ARM9架構的S3C2440A芯片,該處理器主頻達到400 MHz可以滿足實時壓縮,視頻流可以達到320×240分辨率25 fps的性能要求。外圍搭配64 MB SDRAM、256 MBNAND Flash,網絡功能由DM9000以太網MAC控制芯片負責,攝像頭模塊由USB控制器控制,系統供電由3片LM71117組成,分別輸出3.3 V、1.8 V、1.25 V電壓,輔助外圍接口構成攝像機硬件結構。S3C2440A系統硬件框圖如圖1所示。

        是互聯網上的TCP/IP設備,系統網絡拓撲圖如圖2所示。其中在家庭區域內根據安防的特點在大門走廊、客廳內、陽臺區域分別布置攝像機,再由網線連接到路由器,配置路由器參數映射每個攝像機獨立端口與IP地址,即完成Internet接入。遠端由固定位置的PC機,移動位置的3G筆記本和隨身攜帶的3G 手機組成,PC機可以通過WEB瀏覽器訪問與控制手機通過客戶端實現實時訪問?!?BR>

        2 系統軟件設計

        2.1 軟件設計

        搭建攝像機需要Linux系統環境,首先移植Bootloader,對Linux 2.6.32內核進行裁剪,加載Linux UVC(USB video device class)驅動及相關驅動,將編譯好的Linux系統鏡像燒寫到ARM板Nand Flash中,對Bootloader沒置啟動引導地址,即完成軟件運行環境搭建。

        分析網絡攝像機性能需求與拓展性,須滿足下列條件:

        ◆視頻監控實時性;
        ◆支持多客戶端同時連接;
        ◆圖像識別算法或預留接口;
        ◆功能模塊化滿足后期開發可擴展。
        因此,采用多線程架構與互斥鎖機制來保證實時性、模塊化的思想設計代碼結構。軟件程序主流程如圖3所示。


        其中主要實現如下功能。

        ①初始化Linux V4L2接口,必須按照V4L2標準結構初始化結構體,其中包括struct v412_capability cap;struct v412_format fmt;struct v412_buffer buf;struct v412_requestbuffers rb;struct v412_streamparm setfps。此外將視頻設備名、視頻寬度、視頻高度、幀率、視頻格式和抓取方法傳遞給函數init_videoIn(struct vdIn*vd,char*device,int width,intheight,int fps,int format,int grabmethod)實現初始化。值得注意的是眾多USB camera并不支持JPEG格式視頻流直接抓取,針對YUYV格式抓取卻有廣泛支持。后期進行圖像識別算法操作時直接分析YUYV原始圖像數據,將節省JPEG壓縮數據轉換為原始圖像數據的大量運算開銷,因此采用YUYV抓取模式。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 江陵县| 明星| 长沙县| 广宗县| 彩票| 天台县| 南投市| 鄢陵县| 清涧县| 吉木乃县| 铜川市| 乌鲁木齐县| 新龙县| 芒康县| 刚察县| 九寨沟县| 延长县| 太康县| 利辛县| 武清区| 历史| 泾川县| 绵竹市| 南乐县| 滦南县| 阿勒泰市| 盈江县| 芜湖县| 苗栗县| 兴宁市| 三江| 浠水县| 贡山| 鸡东县| 广宁县| 镇原县| 竹北市| 河曲县| 凤城市| 遂川县| 临沂市|