那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

教你用ARM嵌入式設(shè)計視頻監(jiān)控系統(tǒng)

電子設(shè)計 ? 作者:電子設(shè)計 ? 2018-09-03 08:39 ? 次閱讀

目前,嵌入式系統(tǒng)視頻監(jiān)控中的應(yīng)用越來越廣泛。伴隨著網(wǎng)絡(luò)的強(qiáng)大功能,視頻監(jiān)控更側(cè)重網(wǎng)絡(luò)監(jiān)控方案,要求體積小、遠(yuǎn)程化、成本低、功耗小、操作界面人性化等。本系統(tǒng)基于嵌入式Linux 平臺上利用USB 攝像頭采集視頻圖像,通過視頻圖像壓縮及結(jié)合網(wǎng)絡(luò)進(jìn)行視頻圖像傳輸,使遠(yuǎn)程監(jiān)控成為可能。

1 系統(tǒng)概述

視頻圖像監(jiān)控系統(tǒng)由4 部分組成, 分別為視頻圖像采集、視頻圖像處理、視頻圖像傳輸、視頻圖像顯示。視頻圖像采集部分由數(shù)字?jǐn)z像頭、USB 通道和嵌入式處理器構(gòu)成、視頻圖像處理主要是視頻圖像壓縮,由算法實現(xiàn)、視頻圖像傳輸主要利用視頻服務(wù)器來實現(xiàn)、視頻圖像顯示主要是在遠(yuǎn)程的主機(jī)上實現(xiàn)視頻圖像的瀏覽、保存和處理等,Linux 主機(jī)上由應(yīng)用程序?qū)崿F(xiàn),Windows 主機(jī)上通過瀏覽器上的JAVA 程序?qū)崿F(xiàn)。系統(tǒng)原理框圖如圖1 所示。

如何用ARM嵌入式設(shè)計視頻監(jiān)控系統(tǒng)?

圖1 系統(tǒng)框圖

2 系統(tǒng)硬件

CPU 處理器使用Samsung S3C2440A, 主頻400 MHz,最高533 MHz;64 M SDRAM、32 bit 數(shù)據(jù)總線、SDRAM 時鐘頻率100 MHz;256 M/1 GB Nand Flash, 掉電非易失、2 M NorFlash,掉電非易失;統(tǒng)寶3.5 真彩LCD,屏集成4 線電阻式觸摸屏, 屏幕分辨率可以達(dá)到1024×768 象素;100 M 以太網(wǎng)RJ-45 接口(采用DM9000 網(wǎng)絡(luò)芯片)、串行口、USB Host、USB Slave B 型接口、SD 卡存儲接口、路立體聲音頻輸出接口, 麥克風(fēng)接口、JTAG 接口、4 USER Leds、6 USER buttons(帶引出座)、I2C 總線AT24C08 芯片、20 pin 攝像頭接口;攝像頭用良田,兼容SN9C20X 系列芯片的驅(qū)動,本系統(tǒng)的內(nèi)核中集成了該驅(qū)動。

3 系統(tǒng)軟件

3.1 Linux 內(nèi)核的移植

移植新內(nèi)核主要是為了給LCD 以及攝像頭添加相應(yīng)的驅(qū)動支持,在Fedora 9 中打開內(nèi)核的目錄,使用缺省配置文件進(jìn)行配置:在內(nèi)核中添加V4L 支持、添加萬能USB 攝像頭驅(qū)動GSPCA。

3.2 基于V4L2 的圖像采集程序

系統(tǒng)使用的交叉編譯工具為arm-linux-gcc-4.3.2.設(shè)計使用到的應(yīng)用程序都要通過該編譯器編譯后下載到開發(fā)板上運行。將編好的應(yīng)用程序V4L2.c 交叉編譯后下載到板。

V4L(Video for Linux)是Linux 下提供的一個音視頻接口規(guī)范,所有的音視頻驅(qū)動編寫都要用到這些接口。

V4L 從2.4.1.x 的內(nèi)核版本中開始出現(xiàn), 設(shè)計使用的Video for Linux2(簡稱V4L2)是V4L 的改進(jìn)版,修復(fù)了第一代中的部分BUG。

設(shè)計的圖像采集及處理程序主要基于V4L2 架構(gòu), 通過對一些ioctl 函數(shù)的調(diào)用來實現(xiàn)視頻設(shè)備的打開,圖像的采集處理,圖像的顯示等。幾個主要的ioctl 函數(shù)的簡介:

1)ioctl(fd,VIDIOC_S_FMT, &fmt):用于設(shè)置圖像的格式。

2)ioctl(fd, VIDIOC_REQBUFS, &req):向內(nèi)存申請緩沖區(qū),申請的buffer 個數(shù)存在count 中。

3)ioctl(fd, VIDIOC_QUERYBUF, &buf):查詢已經(jīng)分配的V4L2 的視頻緩沖區(qū)的相關(guān)信息, 包括視頻緩沖區(qū)的使用狀態(tài)、在內(nèi)核空間的偏移地址、緩沖區(qū)長度等。

4)ioctl(fd, VIDIOC_QBUF, &buf):放一個空的視頻緩沖區(qū)到視頻緩沖區(qū)輸入隊列中,函數(shù)執(zhí)行成功后,指令的視頻緩沖區(qū)進(jìn)入視頻輸入隊列,在啟動視頻設(shè)備拍攝圖像時,相應(yīng)的視頻數(shù)據(jù)被保存到視頻輸入隊列相應(yīng)的視頻緩沖區(qū)中。

5)ioctl(fd, VIDIOC_STREAMON, &type):啟動視頻采集命令,應(yīng)用程序調(diào)用VIDIOC_STREAMON 啟動視頻采集命令后,視頻設(shè)備驅(qū)動程序開始采集視頻數(shù)據(jù),并把采集到的視頻數(shù)據(jù)保存到視頻驅(qū)動的視頻緩沖區(qū)中。

圖像采集處理流程圖如圖2 所示。

如何用ARM嵌入式設(shè)計視頻監(jiān)控系統(tǒng)?

圖2 圖像采集處理流程圖

3.3 網(wǎng)絡(luò)服務(wù)器

系統(tǒng)采用Boa 服務(wù)器。Boa 是一種非常小巧的Web 服務(wù)器, 其可執(zhí)行代碼只有大約60 kB 左右。作為一種單任務(wù)Web 服務(wù)器,Boa 只能依次完成用戶的請求,Boa 支持CGI,能夠為CGI 程序fork 出一個進(jìn)程來執(zhí)行。板上移植該服務(wù)器,Boa 服務(wù)器默認(rèn)開機(jī)自動運行,配置conf 文件。

服務(wù)器端應(yīng)用程序使用servfox, servfox-R1_1_3 解壓修改Makefile 文件:CC=arm-linux-gcc,編譯后得到可執(zhí)行文件servfox,下載到板上,輸入命令chmod +x servfox 為它添加可執(zhí)行屬性。

客戶端程序使用spcawiew, 該程序用于在Linux 主機(jī)上對服務(wù)器進(jìn)行監(jiān)控,無需移植。在Linux 上編譯spcaview.由于此軟件包依賴與libsdl,所以在安裝spcaview 之前,需要安裝SDL-1.2.13. 安裝spcaview 軟件后,在源文件目錄上有3 個可執(zhí)行文件,spcacat :簡單圖片的抓取工具,不能用于網(wǎng)絡(luò)監(jiān)視客戶端,Spcaserv:流媒體服務(wù)器,Spcaview: 用來紀(jì)錄數(shù)據(jù)流,也能用來播放數(shù)據(jù),也能作為網(wǎng)絡(luò)監(jiān)視客戶端用。

4 監(jiān)控過程

4.1 在Linux 操作系統(tǒng)上的監(jiān)控

正常啟動運行開發(fā)板,運行服務(wù)器端程序servfox: servfox-d /dev/video0-s 320x240-w 7070。

在Linux 上運行: ./spcaview-g-s 320x240-w 10.1.91.230:7070

其中10.1.91.230 是服務(wù)器的IP 地址,這樣就可以在PC機(jī)上看見USB 攝像頭采集進(jìn)來的數(shù)據(jù)了。

系統(tǒng)是裝在虛擬機(jī)中的fedora 9 linux 系統(tǒng),可以流暢地觀察到攝像頭監(jiān)控區(qū)域的情況。

4.2 Windows 操作系統(tǒng)上的監(jiān)控

對于網(wǎng)絡(luò)監(jiān)控的客戶端,能夠跨平臺的工具目前只有瀏覽器,通過瀏覽器來監(jiān)控,無論是Linux、Windows、MacOS 或者其他的UNIX 系統(tǒng),只要有圖形界面的瀏覽器,在桌面環(huán)境下都可以對遠(yuǎn)程的攝像頭所"控制"的范圍進(jìn)行監(jiān)控。

Mini2440 上已經(jīng)有Boa 服務(wù)器可供使用,Spcaview 中的http-java-applet 文件夾中已經(jīng)包含了一個可以監(jiān)控使用的web 頁面,將該文件夾復(fù)制到Boa 服務(wù)器的主文件夾/www 下。

由于http-java-applet 文件夾內(nèi)含的WEB 主頁面(Index.html)包含了JAVA 控件,所以先在主機(jī)上安裝JAVA 環(huán)境,讓瀏覽器支持JAVA 插件。

安裝好JRE 后, 在瀏覽器的地址欄上輸入服務(wù)器地址,即可實現(xiàn)遠(yuǎn)程監(jiān)控。

4.3 遠(yuǎn)程抓拍

通過web 表單提交CGI 來運行應(yīng)用程序。

通用網(wǎng)關(guān)接口(CGI)規(guī)范允許Web 服務(wù)器執(zhí)行其他的程序并將它們的輸出儲存在發(fā)送給Web 瀏覽器的文本、圖形和音頻中。服務(wù)器與CGI 程序的結(jié)合能夠擴(kuò)充World WideWeb 的能力。

CGI 程序可以由C、Perl 或者UNIX Shell 腳本等流行編程語言編寫。

在本設(shè)計中,網(wǎng)頁上的按鈕shoot the picture 提交了一個名為V4L 的CGI 文件v4l.cgi,該文件是用shell 腳本編寫的,用于在板上運行已編譯好的圖像采集程序并對抓拍的圖片返回到新打開的網(wǎng)頁中進(jìn)行查看。

Shell 腳本(v4l.cgi)內(nèi)容如下:

#! /bin/sh

/www/http-java-applet/v4l2

echo "Content-type: text/html; charset=gb2312"

echo

echo "……"

echo "

"

exit 0

5 結(jié)束語

系統(tǒng)采用開源的Linux 系統(tǒng),降低了開發(fā)成本,可以任意裁剪和制定內(nèi)核,方便移植。與傳統(tǒng)PC 機(jī)的監(jiān)控系統(tǒng)相比,本系統(tǒng)具有體積小、成本低、可靠性強(qiáng)等優(yōu)勢。本系統(tǒng)還具有一定的擴(kuò)展性,可以增加適當(dāng)?shù)墓δ軘U(kuò)展來滿足用戶更高的要求, 如在圖像采集端加入設(shè)置入侵檢測或者報警等控制功能。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    9165

    瀏覽量

    369187
  • 嵌入式
    +關(guān)注

    關(guān)注

    5092

    文章

    19177

    瀏覽量

    307653
  • 視頻監(jiān)控
    +關(guān)注

    關(guān)注

    17

    文章

    1711

    瀏覽量

    65159
  • 攝像頭
    +關(guān)注

    關(guān)注

    60

    文章

    4862

    瀏覽量

    96305
收藏 人收藏

    評論

    相關(guān)推薦

    如何利用B/S模式設(shè)計嵌入式視頻監(jiān)控系統(tǒng)

    的安防系統(tǒng)中[2]。本文設(shè)計了一種具有用戶零維護(hù)、價格低廉、性能穩(wěn)定等特點的嵌入式視頻監(jiān)控系統(tǒng)。該系統(tǒng)
    發(fā)表于 07-30 06:24

    如何設(shè)計嵌入式無線視頻監(jiān)控系統(tǒng)

    的新型視頻監(jiān)控系統(tǒng),該系統(tǒng)在解決模擬視頻監(jiān)控系統(tǒng)的部
    發(fā)表于 08-09 07:47

    基于嵌入式WEB的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)該如何去設(shè)計?

    基于嵌入式WEB技術(shù)的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)特征及原理是什么?基于嵌入式WEB技術(shù)的網(wǎng)絡(luò)視頻
    發(fā)表于 06-02 07:15

    教你做一個嵌入式linux開發(fā)板和web端來實現(xiàn)的視頻監(jiān)控系統(tǒng)

    本文章將教你做一個嵌入式linux開發(fā)板和web端來實現(xiàn)的視頻監(jiān)控系統(tǒng)。代做/輔導(dǎo):畢業(yè)設(shè)計/
    發(fā)表于 11-05 07:38

    嵌入式視頻監(jiān)控的相關(guān)資料分享

    嵌入式視頻監(jiān)控目前,嵌入式系統(tǒng)視頻監(jiān)控中的應(yīng)用越來
    發(fā)表于 11-08 07:10

    基于嵌入式技術(shù)的視頻監(jiān)控系統(tǒng)的設(shè)計

    摘 要:介紹了一種嵌入式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng), 詳細(xì)闡述了系統(tǒng)的總體結(jié)構(gòu)和特點、 硬件的基本框架及各部分功能、 軟件的結(jié)構(gòu)及流程。關(guān)鍵詞:
    發(fā)表于 07-22 23:18 ?27次下載

    B/S模式設(shè)計的嵌入式視頻監(jiān)控系統(tǒng)技術(shù)

    B/S模式設(shè)計的嵌入式視頻監(jiān)控系統(tǒng)技術(shù) 摘 要:以ARM9處理器S3C2440為核心芯片搭建硬件平臺,采用
    發(fā)表于 05-06 17:32 ?1056次閱讀
    B/S模式設(shè)計的<b class='flag-5'>嵌入式</b><b class='flag-5'>視頻</b><b class='flag-5'>監(jiān)控</b><b class='flag-5'>系統(tǒng)</b>技術(shù)

    基于OpenCV的ARM嵌入式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)

    基于OpenCV的ARM嵌入式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)
    發(fā)表于 09-23 17:13 ?74次下載

    基于嵌入式視頻監(jiān)控服務(wù)器的搭建

    為實現(xiàn)對商店、車庫等小范圍區(qū)域的監(jiān)控,設(shè)計了一個基于嵌入式Linux的視頻監(jiān)控系統(tǒng),基于ARM+
    發(fā)表于 11-13 10:37 ?8次下載
    基于<b class='flag-5'>嵌入式</b><b class='flag-5'>視頻</b><b class='flag-5'>監(jiān)控</b>服務(wù)器的搭建

    基于嵌入式WEB的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)探討

    關(guān)鍵詞:Web , 監(jiān)控系統(tǒng) , 嵌入式 , 網(wǎng)絡(luò)視頻 本文介紹了一個基于嵌入式WEB技術(shù)的網(wǎng)絡(luò)視頻
    發(fā)表于 10-17 14:27 ?565次閱讀

    如何使用ARM進(jìn)行嵌入式監(jiān)控系統(tǒng)的設(shè)計

    本文利用網(wǎng)絡(luò)和嵌入式設(shè)備實現(xiàn)遠(yuǎn)程視頻監(jiān)控系統(tǒng)。攝像頭采集模擬的視頻信號轉(zhuǎn)化為數(shù)字信號后,通過局域網(wǎng)傳送到網(wǎng)內(nèi)的任何一臺計算機(jī), 從而實現(xiàn)異
    發(fā)表于 03-13 18:07 ?7次下載
    如何使用<b class='flag-5'>ARM</b>進(jìn)行<b class='flag-5'>嵌入式</b><b class='flag-5'>監(jiān)控</b><b class='flag-5'>系統(tǒng)</b>的設(shè)計

    基于ARM和Linux的嵌入式遠(yuǎn)程視頻監(jiān)控系統(tǒng)的設(shè)計

    基于ARM和Linux的嵌入式遠(yuǎn)程視頻監(jiān)控系統(tǒng)的設(shè)計(嵌入式開發(fā)板如何刷程序)-本文根據(jù)大樓電梯
    發(fā)表于 07-30 12:56 ?9次下載
    基于<b class='flag-5'>ARM</b>和Linux的<b class='flag-5'>嵌入式</b>遠(yuǎn)程<b class='flag-5'>視頻</b><b class='flag-5'>監(jiān)控</b><b class='flag-5'>系統(tǒng)</b>的設(shè)計

    基于嵌入式Linux視頻監(jiān)控系統(tǒng)畢業(yè)論文

    基于嵌入式Linux視頻監(jiān)控系統(tǒng)畢業(yè)論文(培訓(xùn)嵌入式開發(fā)軟件)-基于嵌入式Linux
    發(fā)表于 07-30 13:46 ?28次下載
    基于<b class='flag-5'>嵌入式</b>Linux<b class='flag-5'>視頻</b><b class='flag-5'>監(jiān)控</b><b class='flag-5'>系統(tǒng)</b>畢業(yè)論文

    畢設(shè)教程:基于嵌入式Linux和Web實現(xiàn)的視頻監(jiān)控系統(tǒng)(Arm/樹莓派/jetson)

    本文章將教你做一個嵌入式linux開發(fā)板和web端來實現(xiàn)的視頻監(jiān)控系統(tǒng)。代做/輔導(dǎo):畢業(yè)設(shè)計/
    發(fā)表于 11-02 14:21 ?14次下載
    畢設(shè)教程:基于<b class='flag-5'>嵌入式</b>Linux和Web實現(xiàn)的<b class='flag-5'>視頻</b><b class='flag-5'>監(jiān)控</b><b class='flag-5'>系統(tǒng)</b>(<b class='flag-5'>Arm</b>/樹莓派/jetson)

    嵌入式視頻監(jiān)控

    嵌入式視頻監(jiān)控目前,嵌入式系統(tǒng)視頻監(jiān)控中的應(yīng)用越來
    發(fā)表于 11-02 21:06 ?31次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>視頻</b><b class='flag-5'>監(jiān)控</b>
    百家乐娱乐网会员注册| 百家乐园qq群| 盈禾体育| 红9百家乐官网的玩法技巧和规则 高尔夫百家乐官网的玩法技巧和规则 | 百家乐官网分析资料| 百家乐游戏排行榜| 新星娱乐城| 网上玩百家乐技巧| 茶陵县| 百家乐变牌桌| 网上百家乐官网娱乐场| 百家乐牌路分析仪| 百家乐官网免费是玩| 百家乐秘诀| 新澳博百家乐官网现金网| 蓝盾百家乐娱乐场开户注册| 百家乐官网仿水晶筹码| E世博百家乐娱乐城| 马牌百家乐官网娱乐城| 百家乐娱乐网真人娱乐网| 百家乐官网注册送免费金| 百家乐黏土筹码| 百家乐官网存1000送| 千亿娱乐城注册| 网上百家乐作弊下载| 百家乐官网出租平台| 百家乐网上真钱娱乐平台| 百家乐官网网络赌博网址| 百家乐群lookcc| 沙龙百家乐官网娱乐场开户注册| 新乐园百家乐官网娱乐城| 老虎机 | 百家乐赌博信息| 百家乐官网娱乐软件| 中华德州扑克论坛| 百家乐在线投注系统| 百家乐官网如何投注技巧| 威尼斯人娱乐网址| 百家乐官网六手变化混合赢家打| 嘉禾县| 威尼斯人娱乐城 活动|