• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    自動裝載與視頻監(jiān)控遠程控制系統(tǒng)*

    2017-01-19 06:30:25李子昌管四海
    關(guān)鍵詞:內(nèi)存嵌入式攝像頭

    李子昌,李 智,管四海

    (西安電子科技大學(xué) 機電工程學(xué)院,陜西 西安 710071)

    自動裝載與視頻監(jiān)控遠程控制系統(tǒng)*

    李子昌,李 智,管四海

    (西安電子科技大學(xué) 機電工程學(xué)院,陜西 西安 710071)

    設(shè)計了一種嵌入式自動裝載與視頻監(jiān)控系統(tǒng),并通過網(wǎng)絡(luò)實現(xiàn)遠程控制。該系統(tǒng)采用S3C2410處理器,移植Linux操作系統(tǒng),成功運行在S3C2410上。視頻監(jiān)控模塊使用的攝像頭是USB接口形式,移植對應(yīng)的Linux驅(qū)動程序,攝像頭才能正常采集數(shù)據(jù)。移植Libjpeg開源庫,對經(jīng)硬件壓縮的圖像進行解壓,通過顯示終端顯示,進而實時對現(xiàn)場進行監(jiān)控。自動裝載模塊的實現(xiàn),首先設(shè)定期望的貨物擺放路徑,其次利用Framebuffer幀緩沖寫屏技術(shù)在顯示終端上顯示自動裝載過程。通過Socket網(wǎng)絡(luò)接口,上位機可對該系統(tǒng)進行遠程控制。

    S3C2410;Linux;視頻監(jiān)控;自動裝載;Libjpeg;Framebuffer;Socket

    0 引言

    至今為止,多數(shù)傳統(tǒng)工業(yè)領(lǐng)域的貨物裝卸和擺放還是靠人力完成[1],如搬運水泥。惡劣的工作環(huán)境和繁重的體力勞動給工作人員帶來巨大的勞動負擔(dān),且對工人的身體健康有很大的危害。隨著物聯(lián)網(wǎng)技術(shù)的大力發(fā)展,如何利用嵌入式技術(shù),設(shè)計一套具有實時視頻監(jiān)控且能自動裝載的系統(tǒng)成為當下的關(guān)鍵問題。

    S3C2410處理器體積小巧,可節(jié)省板卡空間;功耗比大多數(shù)芯片要低很多,適合工作在對電源有特殊要求的環(huán)境中;主頻能夠達到203 MHz,具有很好的實時性能;具有內(nèi)存管理單元,因此可以移植并運行操作系統(tǒng),處理更復(fù)雜的任務(wù)[2]?;谝陨咸攸c,選擇S3C2410作為本系統(tǒng)主控制器。Linux操作系統(tǒng)支持創(chuàng)建多個用戶、處理多個任務(wù)[3],所以基于S3C2410+Linux的嵌入式系統(tǒng)成為第一選擇。Linux系統(tǒng)內(nèi)核中圖像采集設(shè)備的接口是Video4Linux,在此接口的基礎(chǔ)上,結(jié)合自己的設(shè)計,開發(fā)出具有相應(yīng)功能的程序?;赩ideo4Linux開發(fā)視頻采集程序具有接口簡單、容易實現(xiàn)、開發(fā)周期短等特點[4],故受到廣泛關(guān)注。Libjpeg是一個開源庫,用來壓縮或解壓JPEG格式的圖像[5],可以在設(shè)計的程序中調(diào)用該庫提供的函數(shù),完成解壓過程,減少開發(fā)人員的工作量。Framebuffer[6]是Linux內(nèi)核中可由用戶調(diào)用的函數(shù)接口,通過這個接口,可以把圖形設(shè)備當成緩沖區(qū)來使用, 圖形設(shè)備的操作與真實緩沖區(qū)的操作完全相同,可使用戶避免接觸底層繁瑣的操作,使開發(fā)變得簡單。利用Socket接口,通過網(wǎng)絡(luò)實現(xiàn)遠程控制。

    綜上所述,本文提出一種基于S3C2410+Linux的嵌入式自動裝載系統(tǒng),同時具有對現(xiàn)場進行視頻監(jiān)控的功能。監(jiān)控和裝載系統(tǒng)的軟件是在Linux系統(tǒng)中開發(fā)的,內(nèi)核的版本是2.6.8.1,移植了相應(yīng)的開源庫。另外,根文件系統(tǒng)的類型有很多種,該系統(tǒng)采用的是cramfs[7],該類型只能讀,不能寫,對數(shù)據(jù)有保護功能。程序的開發(fā)工作主要由移植驅(qū)動和開源庫、實現(xiàn)具有特定功能的程序等構(gòu)成。視頻監(jiān)控模塊由三部分組成:負責(zé)采集圖像的zc301p USB接口攝像頭、負責(zé)圖像處理的主控制器和顯示視頻的顯示終端。自動裝載模塊主要由上述的主控制器和LCD顯示設(shè)備組成。自動裝載應(yīng)用程序包括擺放路徑規(guī)劃程序和模擬過程的顯示畫面程序,并通過網(wǎng)絡(luò)進行遠程控制。

    1 視頻監(jiān)控模塊設(shè)計

    視頻監(jiān)控應(yīng)用程序包含圖像數(shù)據(jù)的采集過程設(shè)計、圖像解壓縮函數(shù)的調(diào)用和LCD圖像顯示等。圖像數(shù)據(jù)采集過程調(diào)用了Video4Linux接口[4],將攝像頭的數(shù)據(jù)讀取到內(nèi)存中。

    初始化設(shè)備后,進行視頻圖像的截取。一種視頻截取方式是將read()函數(shù)包含在自己的程序中,這樣程序就可以將緩沖區(qū)數(shù)據(jù)提取出來;第二種方式是采用內(nèi)存映射的方法讀取數(shù)據(jù),設(shè)計的程序要包含mmap()函數(shù),在程序中實現(xiàn)映射功能。內(nèi)存映射的方式有一個很大的優(yōu)點,就是內(nèi)存共享,可大大提高訪問速度。這樣對文件的訪問不必再調(diào)用read()、write()等,各個進程能及時看到共享內(nèi)存中數(shù)據(jù)的更新,進而提高實時性。故此系統(tǒng)采用通過mmap()內(nèi)存映射的方法。

    1.1 用Libjpeg解壓jpeg數(shù)據(jù)

    本系統(tǒng)使用的Libjpeg庫是libjpeg-v6b,但libjpeg-v6b只支持文件格式的輸入。由于本系統(tǒng)采用的攝像頭是zc301p,此攝像頭所采集的數(shù)據(jù)是經(jīng)硬件壓縮的jpeg數(shù)據(jù)流,采集的數(shù)據(jù)直接保存在內(nèi)存中。然而Libjpeg庫并不支持這樣的輸入。此問題的解決方法是:修改Libjpeg庫的源碼,使其能夠解壓內(nèi)存中的jpeg數(shù)據(jù)流。

    1.2 視頻顯示模塊

    顯示模塊采用LCD顯示屏,每個像素用16位顏色表示,格式為RGB565,但通過Libjpeg庫函數(shù)解壓數(shù)據(jù),得到的圖像為GB888格式,即24位數(shù)據(jù),所以需要進行格式轉(zhuǎn)化。

    本系統(tǒng)采用的硬件設(shè)備攝像頭采集的單幅圖片最大分辨率為640×480,所以內(nèi)存映射時,映射的兩個尺寸參數(shù)必須是這兩個最大值。Libjpeg解壓出來的圖片與輸入圖片分辨率同樣大。由于顯示器的分辨率是480×272,當輸入是640×480時,超出了顯示屏的尺寸,圖像顯示不完全,結(jié)果如圖1。

    圖1 直接顯示的結(jié)果

    Libjpeg支持縮放解壓,可供選擇的縮放比例有1/2、1/4、1/8三種。選擇1/2的縮放比例,分辨率為320×240,有花屏和明顯的掃描痕跡,顯示效果如圖2。

    圖2 采用1/2縮放比例顯示的結(jié)果

    以上兩種情況盡管顯示出來的部分比較清楚,但總體效果不好。選擇1/4的縮放比例,分辨率為160×120,畫面比較清晰流暢,沒有花屏,也無掃描痕跡,顯示的效果比較理想,如圖3所示。

    圖3 采用1/4縮放比例顯示的結(jié)果

    選擇1/8的縮放比例,畫面清晰流暢,但畫面太小,不利于實時監(jiān)控,顯示效果如圖4。

    圖4 采用1/8縮放比例顯示的結(jié)果

    綜合三種縮放比例的分析和實驗結(jié)果比較可知,1/4縮放比例是最佳選擇。

    2 自動裝載的設(shè)計與實現(xiàn)

    自動裝載的實現(xiàn)基于Framebuffer技術(shù)。Linux內(nèi)核fb_ops定義了Framebuffer設(shè)備的操作[6]。

    本系統(tǒng)使用的開發(fā)板型號是FS2410,處理器是S3C2410。

    由于顯示終端顯示的是RGB565格式,因此可通過對每個像素點直接賦值使framebuffer顯示顏色。

    下面利用仿真函數(shù)對framebuffer的控制來模擬實際水泥的自動裝載過程。將顯示終端界面看作水泥擺放區(qū)域,用一塊白色矩形代表單袋水泥。從傳送帶落下的水泥每次都落在同一位置,因此選取顯示屏上一個固定區(qū)域作為水泥的落地點。在此選LCD左上角,周期性地使這塊區(qū)域變成白色即可。將顯示屏看成一個二維坐標系,落地點為(0,0),按照路徑先沿行移動、后沿列移動的順序擺放,考慮到現(xiàn)實中的速度問題,每移動一步,延遲1 s。此過程可建模成一個循環(huán)嵌套的過程,設(shè)定好每個具體位置應(yīng)該移動的步數(shù),實現(xiàn)有序執(zhí)行。根據(jù)顯示屏的分辨率480×272,設(shè)定每袋水泥占的區(qū)域大小為60×80,行間隔16,列間隔10,即每行為7袋,每列為3袋,一層共21袋。設(shè)置不同的背景顏色代表不同的層,而每層的擺放方法是相同的,以便查看。在本系統(tǒng)中,共設(shè)計3層。第一層用藍色背景表示,裝載效果如圖5。

    圖5 第一層裝載效果

    第二層用紅色背景表示,裝載效果如圖6。

    圖6 第二層裝載效果

    第三層用綠色背景表示,裝載效果如圖7。

    圖7 第三層裝載效果

    另外,定義一個變量記錄裝載的數(shù)量,以供上位機調(diào)用。

    3 遠程控制

    利用socket在ARM開發(fā)板和上位機之間實現(xiàn)網(wǎng)絡(luò)通信。將上位機和ARM開發(fā)板用交叉網(wǎng)線連接起來,利用socket編程,建立一個socket,采用服務(wù)器/客戶機的訪問模式,開發(fā)板作為服務(wù)器端,上位機作為客戶機端。實現(xiàn)通信后,利用上位機通過網(wǎng)絡(luò)來直接控制開發(fā)板的工作,實現(xiàn)遠程控制。

    在雙方的通信過程中,約定好一套通信協(xié)議。由于本文只實現(xiàn)了模擬裝載和實時監(jiān)控兩個功能,因此在遠程控制時,只設(shè)定兩個命令即可。約定好A命令表示模擬裝載,B命令為觀看監(jiān)控錄像。通過這兩個命令,可以在上位機很好地遠程控制下位機。

    4 結(jié)論

    本文提出的嵌入式自動裝載與視頻監(jiān)控系統(tǒng),以S3C2410處理器作為主控制器,運行Linux系統(tǒng),具有實現(xiàn)簡單、可擴展性強等特點。通過嵌入式視頻監(jiān)控系統(tǒng)可以查看裝載現(xiàn)場的狀況,對于突發(fā)事件,能及時做出反應(yīng),保障裝載工作安全進行。自動裝載系統(tǒng)的設(shè)計為日后實際系統(tǒng)搭建打下了基礎(chǔ),對以后的工作具有重大意義。

    [1] 張慶平, 蘇國民. 特大型礦井全自動裝卸系統(tǒng)的實現(xiàn)[J]. 工礦自動化, 2002(6):41-42.

    [2] 彭鐵鋼, 劉國繁, 曹少坤,等. 基于ARM的嵌入式視頻監(jiān)控系統(tǒng)設(shè)計[J]. 計算機工程與設(shè)計, 2010, 31(6):1191-1194.

    [3] 許青林, 解爭龍. 基于ARM的Linux系統(tǒng)移植研究與實現(xiàn)[J]. 物聯(lián)網(wǎng)技術(shù), 2013(1):37-38.

    [4] 王元偉, 劉國秀. 基于V4L的視頻采集系統(tǒng)的設(shè)計[J]. 鐵路計算機應(yīng)用, 2010, 19(7):30-34.

    [5] HONG J, SODSONG W, CHUNG S, et al. Design, implementation and evaluation of a task-parallel JPEG decoder for the Libjpeg-turbo library[J]. Oral Diseases, 2012, 12(12):117-120.

    [6] 雷鴻, 熊文龍, 楊單. 基于Fram ebuffer的LCD驅(qū)動程序的實現(xiàn)[J]. 武漢理工大學(xué)學(xué)報:交通科學(xué)與工程版, 2006, 30(1):106-109.

    [7] 盧劍翔, 劉成安, 胡和智,等. 基于s3c2410的CramFS根文件系統(tǒng)的移植[J]. 微計算機信息, 2006, 22(32):133-135.

    Remote control system for automatic loading and video monitoring

    Li Zichang,Li Zhi,Guan Sihai

    (School of Electro-Mechanical Engineering, Xidian University, Xi’an 710071, China)

    An embedded automatic loading and video monitoring system in remote control is proposed in this paper. The CPU of the system is equipped with S3C2410 processor and embedded Linux operating system. The video monitoring module uses USB interface camera, and the corresponding Linux driver is transplanted. With the Libjpeg open source library, the hardware compression image is extracted and displayed through the display terminal. To realize the automatic loading module, the desired goods placement path should be set first, and then using the Framebuffer frame buffer writing screen technology to display the automatic loading process on the display terminal. Through the Socket network interface, the host computer can realize the remote control for the system.

    S3C2410; Linux; video monitoring; automatic loading; Libjpeg; Framebuffer;Socket

    國家自然科學(xué)基金項目(61673310)

    TP13

    A

    10.19358/j.issn.1674- 7720.2017.01.001

    李子昌,李智,管四海.自動裝載與視頻監(jiān)控遠程控制系統(tǒng)[J].微型機與應(yīng)用,2017,36(1):1-3.

    2016-09-03)

    李子昌(1990-),男,碩士研究生,主要研究方向:嵌入式系統(tǒng)設(shè)計與開發(fā)。

    李智(1961-),男,博士,教授,主要研究方向:復(fù)雜網(wǎng)絡(luò)、博弈演化、自適應(yīng)信號處理。

    管四海(1990-),男,博士研究生,主要研究方向:自適應(yīng)信號處理。

    猜你喜歡
    內(nèi)存嵌入式攝像頭
    浙江首試公路非現(xiàn)場執(zhí)法新型攝像頭
    攝像頭連接器可提供360°視角圖像
    “春夏秋冬”的內(nèi)存
    當代陜西(2019年13期)2019-08-20 03:54:22
    搭建基于Qt的嵌入式開發(fā)平臺
    嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
    奔馳360°攝像頭系統(tǒng)介紹
    Altera加入嵌入式視覺聯(lián)盟
    倍福 CX8091嵌入式控制器
    自動化博覽(2014年4期)2014-02-28 22:31:15
    基于內(nèi)存的地理信息訪問技術(shù)
    上網(wǎng)本為什么只有1GB?
    博白县| 逊克县| 怀化市| 台中市| 奈曼旗| 平陆县| 芜湖市| 内江市| 蕉岭县| 广汉市| 漾濞| 伽师县| 彰化市| 宁晋县| 鹿泉市| 镇沅| 博乐市| 澎湖县| 天等县| 淮阳县| 禹州市| 宿州市| 克拉玛依市| 库伦旗| 米林县| 鲁甸县| 宜宾市| 红原县| 通山县| 临安市| 隆德县| 胶南市| 廊坊市| 平潭县| 安西县| 三明市| 浦北县| 湟中县| 灵璧县| 亳州市| 城口县|