《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 自動裝載與視頻監控遠程控制系統
自動裝載與視頻監控遠程控制系統
2017年微型機與應用第1期
李子昌,李智,管四海
西安電子科技大學 機電工程學院,陜西 西安 710071
摘要: 設計了一種嵌入式自動裝載與視頻監控系統,并通過網絡實現遠程控制。該系統采用S3C2410處理器,移植Linux操作系統,成功運行在S3C2410上。視頻監控模塊使用的攝像頭是USB接口形式,移植對應的Linux驅動程序,攝像頭才能正常采集數據。移植Libjpeg開源庫,對經硬件壓縮的圖像進行解壓,通過顯示終端顯示,進而實時對現場進行監控。自動裝載模塊的實現,首先設定期望的貨物擺放路徑,其次利用Framebuffer幀緩沖寫屏技術在顯示終端上顯示自動裝載過程。通過Socket網絡接口,上位機可對該系統進行遠程控制
Abstract:
Key words :

  李子昌,李智,管四海

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

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

  關鍵詞:S3C2410;Linux;視頻監控;自動裝載;Libjpeg;Framebuffer;Socket

  中圖分類號:TP13文獻標識碼:ADOI: 10.19358/j.issn.1674-7720.2017.01.001

  引用格式:李子昌,李智,管四海.自動裝載與視頻監控遠程控制系統[J].微型機與應用,2017,36(1):1-3.

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

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

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

1視頻監控模塊設計

  視頻監控應用程序包含圖像數據的采集過程設計、圖像解壓縮函數的調用和LCD圖像顯示等。圖像數據采集過程調用了Video4Linux接口[4],將攝像頭的數據讀取到內存中。

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

  1.1用Libjpeg解壓jpeg數據

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

  1.2視頻顯示模塊

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

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

001.jpg

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

  

002.jpg

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

  

003.jpg

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

004.jpg

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

2自動裝載的設計與實現

  自動裝載的實現基于Framebuffer技術。Linux內核fb_ops定義了Framebuffer設備的操作[6]。

  本系統使用的開發板型號是FS2410,處理器是S3C2410。

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

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

 

005.jpg

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

006.jpg

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

  

007.jpg

  另外,定義一個變量記錄裝載的數量,以供上位機調用。

3遠程控制

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

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

  4結論

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

參考文獻

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

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

  [3] 許青林, 解爭龍. 基于ARM的Linux系統移植研究與實現[J]. 物聯網技術, 2013(1):37 38.

  [4] 王元偉, 劉國秀. 基于V4L的視頻采集系統的設計[J]. 鐵路計算機應用, 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驅動程序的實現[J]. 武漢理工大學學報:交通科學與工程版, 2006, 30(1):106 109.

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


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 欧美v亚洲| 五月天免费在线视频 | 99re免费| 黄色影院在线观看 | 日韩色视频一区二区三区亚洲 | 国产欧美日韩亚洲 | 婷婷色综合成人成人网小说 | 亚洲日韩精品欧美一区二区一 | 午夜大片免费完整在线看 | 男女午夜视频 | 色视频国产| 欧美在线观看你懂的 | 色爽爽爽爽爽爽爽爽 | 在线观看国产黄色 | 黄网免费在线观看 | 国产欧美日韩不卡在线播放在线 | 日韩视频中文字幕 | hd中国xxxx | 天天射天天干 | 在线国产一区二区三区 | 国产精品亚洲一区二区三区久久 | 五月丁六月停停 | 久久精品观看影院2828 | 羞羞的网站 | 日韩亚 | www.日韩三级 | 成人国产一区 | 夜夜橹 | 免费久久一级欧美特大黄 | 日韩福利片午夜在线观看资源 | 国产一级特黄一级毛片 | 欧美人禽猛交狂配免费看 | 成人午夜影视全部免费看 | 男女午夜性爽快免费视频不卡 | 日韩免费高清视频网站 | 久久综合一区二区 | 国产成人在线视频 | 欧美成人a大片 | 99视频九九精品视频在线观看 | 亚洲欧美日韩网站 | 天天天操|