娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年02月05日(星期三)

正在發生

2018年02月05日 | 基于嵌入式Linux平臺視頻傳輸與控制系統的構建

發布者:朱顏素韻 來源: eefocus關鍵字:Linux平臺  視頻傳輸  控制系統 手機看文章 掃描二維碼
隨時隨地手機看文章

    本文介紹了基于嵌入式Linux平臺視頻傳輸與控制系統的構建,給出了跨客戶端通過3G網絡進行遠程視頻傳輸的技術實現,并總結了在實現過程中遇到的難點以及對應的解決方案。

    3G是第三代移動通信技術,結合了無線通信技術和互聯網等多媒體技術。隨著3G技術的發展,它在聲音和數據的傳輸速度上有很大提升,并能夠在全球范圍內實現無線漫游。其數據傳輸高速、永遠在線、覆蓋范圍廣等優點,有效地解決了移動機器人采用有線或者無線遠程控制所帶來的信息傳輸和控制距離等方面的瓶頸問題,使遠程救援機器人、仿真機器人、家庭保姆機器人等移動機器人技術在大數據量實時傳輸方面多了一種可利用的解決方案。

1 系統總體架構
    本系統主要用來將移動機器人所采集到的視頻數據通過3G網絡傳給服務器,再將服務器的控制信號傳給電機驅動板,以驅動移動機器人平臺運動,總體架構如圖1所示。攝像頭OV9650采集的視頻圖像經過JPEG壓縮后,存入緩存區,當服務器監聽到客戶端的接入請求后,再將緩存區的數據通過網絡傳輸給客戶端的監控界面進行顯示;當需要控制機器人行動時,客戶端的控制按鈕發送控制信息給服務器,服務器通過程序解析后控制底層電機驅動器,驅動機器人平臺運動。

a.JPG

    
    系統硬件平臺核心處理器采用S3C6410,它基于ARM1176JZF—S內核,是一個16/32位RISC微處理器,其內部集成了強大的硬件加速器,包括音視頻處理、2D加速等,為2.5G和3G通信服務提供了優化的硬件性能,工作頻率最高可達677 MHz;采用2 GB NAND Flash,主要用于存放內核代碼、應用程序、文件系統和數據資料;DDRSDRAM采用兩片128 MB K4X51163PE芯片;攝像頭采用CMOS圖像傳感器OV9650,最高輸出130萬像素(1300×1 024),具有高敏感度、低功耗、支持多種常用的圖像格式輸出、支持自動圖像控制等優點。
    Linux作為一種類Unix操作系統,具有穩定健壯、低成本、高性能、互操作性好和源代碼開放等特點。而其良好的內核結構,以及可裁剪的特性,滿足了嵌入式應用的差異性需求,使其在嵌入式系統領域占有一席之地。本系統中采用的Linux內核為3.0.1版本,文件系統采用YAFFS2,Bootloader選用uboot。

2 系統軟件設計
2.1 視頻數據的采集與傳輸
    視頻數據的采集通過Linux中視頻設備OV9650的驅動以及Video for Linux提供的相應接口完成。為了方便,將視頻采集的相關信息封裝到以下結構體中:
    d.jpg
    采集程序通過函數init_s3c6410(struct vdIn*vd,char*devICe,int width,int height)來完成對攝像頭以及采集參數的初始化,并通過函數s3c6410_Grab(struetvdIn*vd)完成對圖像的抓取,用JPEG壓縮算法對采集到的圖像進行壓縮,圖像格式為RGB565。

    視頻數據傳輸通過Socket實現,且直接在服務器設備端與Web客戶端之間進行傳輸,通過視頻流服務器實現對視頻的開關控制。由于視頻傳輸是連續的過程,所以客戶端和服務器端都通過線程來實現發送與接收。接收線程由函數pthread_create(&(servers[id].threadID),NULL,server thread,&(servers[id]))創建。
    視頻的采集和傳輸是在兩個線程中實現的,它們共享一個緩沖池。這兩個線程都是在視頻采集服務器端的程序啟動時創建并運行的。其中采集視頻圖像的線程不斷通過攝像頭采集現場圖像,經過JPEG壓縮后存放到緩沖池中,而傳輸視頻數據的線程創建一個Socket來監聽等待遠程客戶的連接請求。當有客戶發送連接請求并建立連接后,就通過該連接向遠程客戶發送視頻數據,而發送的視頻數據就是從緩沖池中獲取的。也就是說,在視頻采集服務器端,視頻數據傳輸所需要的一切都已經準備好,就等著客戶的請求,一旦建立連接,就可以發送視頻數據,從而實現較快的速度和較高的效率。
    視頻采集和傳輸的工作流程圖如圖2所示。

b.JPG

    
2.2 遠程控制的實現
    為了監控界面能被通用瀏覽器打開,需要移植Web服務器Boa。Boa服務器是一款小型開源的嵌入式Web服務器,交叉編譯后的可執行代碼大小約為60 KB,在Linux3.0.1內核下運行時占用的內存大小約為1.7 MB。其功能較為強大,支持身份認證、CGI動態Web技術等。它不像傳統的Web服務器那樣為每個訪問連接開啟一個進程,只能依次完成用戶的請求,即單進程響應多路請求,因此,Boa在同等硬件條件下相對于其他Web服務器表現出更快的速度,節省更多的資源。
    通用網關接口(CGI)是用于Web服務器與外部應用程序之間信息交互的標準接口。CGI可以使外部程序處理客戶端傳來的表單和數據,并對此作出某種反應。這種反應可以是HTML文件、圖片等可以在瀏覽器窗體上出現的任何數據,也可以是對服務器端硬件資源的控制。
    調用CGI程序的方法主要有兩種:
    ①GET方法,CGI程序從環境變量QUERY_STRING中獲得數據;
    ②POST方法,Web服務器通過STDIN向CGI程序傳輸數據,數據量超過1024字節時采用此方法。
    本系統采用GET方法。
    在串口應用程序中,數據的獲取通過以下代碼實現:
    ……
    char*data;
    data=getenv(“QUERY STRING”);
    ……

3 監控界面的實現
    監控界面用網貞實現,如圖3所示。

c.JPG

    
    為了使頁面呈現出動態效果,如顯示當前時間、視頻數據傳輸速率等,頁面將嵌入Javascript代碼。整個界面分為兩個區:視頻顯示區和控制面板區。視頻顯示區顯示視頻流服務器傳輸上來的視頻數據,控制面板區通過按鈕與CGI串口應用程序交互控制電機驅動板。
    Javascript是一種流行的通用腳本語言,基于Javascript可以實現用戶與頁面的交互,并響應頁面上發生的事件。
    HTML表單是Web文檔的一部分,用來將信息從瀏覽器傳遞到服務器,它提供多種接收輸入的方法,包括單選按鈕、多選框、文本框等,表單以

標簽開始,以</form>標簽結束。本系統控制面板的按鈕采用“button”輸入類型。傳統的HTML表單需要通過提交按鈕(“subm it”)來發送表單數據,數據以名/值對的形式發送至服務器端的CGI程序。本系統的每個按鈕都需要實時提交,如果通過傳統方法來實現,則需要對每個按鈕配對一個不同名的提交按鈕,這樣會使頁面代碼變得更復雜,因此本系統使用Ajax方法。使用Ajax創建HTML表單時,不再需要提交按鈕來發送表單數據,對于每個按鈕,只要在屬性中添加事件處理函數onClICk(),就能在點擊按鈕時觸發Ajax建立瀏覽器和服務器CGI應用程序間的通信,實現代碼如下:
    e.jpg
   f.jpg

    結語
    本文所介紹的系統在實驗中獲得了較好的結果,視頻圖像的傳輸具有較好的穩定性,為了提高圖像的連續性,可以通過修改代碼提高攝像頭的采集頻率。該移動機器人平臺可以根據實際需要進行功能擴充,并可以通過本文所闡述的方法,對控制面板的功能進行相應的擴展,比如攝像頭的調焦、溫濕度顯示、機械手臂運動控制等。


關鍵字:Linux平臺  視頻傳輸  控制系統 引用地址:基于嵌入式Linux平臺視頻傳輸與控制系統的構建

上一篇:基于嵌入式Linux無線多頻段WSN網關設計
下一篇:基于ZigBee與μIP協議棧的嵌入式網絡監控系統設計

推薦閱讀

雖說微軟推出了Windows Phone,但這只是暫時的,畢竟他們私下可是一直都沒有停止新手機的研發,一切就緒后就是他們重啟的時刻。現在,有爆料達人在推特上送出了四個微軟新專利,其都跟Surface Phone有關,也就是說微軟真的在秘密研發這款號稱要默秒全的手機。從這些專利來看,微軟都在圍繞打造一個自由翻轉的折疊屏手機而努力,其想要讓兩個不同的折疊式...
  1月22日上午,京東集團在達沃斯現場宣布,京東物流成功實現在印尼首次飛行,值得注意的是,這是中國物流無人機在海外的首次成功飛行。 ?   據悉,今年達沃斯主題是“全球化4.0,打造第四次工業革命時代的全球架構”。而此次京東無人機首飛是基于世界經濟論壇“第四次工業革命中心”、印尼政府、京東集團的三方合作。   無人機配送有著廣闊的...
頻率計是一種使用計數法、測寬法來等方法來測量信號頻率的一種測量儀器。他主要是由四個部分構成:時基產生電路、信號處理電路、結果顯示電路以及控制電路組成制作出來的實物圖如下:Altium Designer畫的原理圖和PCB圖如下:單片機源程序如下:#include <reg52.h>unsigned long int fre; unsigned char time;unsigned int count;unsigned int co...
集微網2月4日消息,近日有不明真相的網友和自媒體傳播和報道關于“小米手機不再支持GMS”的相關內容,對此小米公司官方發表聲明進行了回應。官方表示網上流傳的“小米手機不再支持GMS”那是謠言,國際版機型以及部分已經安裝GMS機型不受影響,只是對沒有預裝GMS的機型不再特殊支持用戶自行安裝GMS,未來會增加更多預裝GMS的機型滿足用戶的需求。從小米官方...

史海拾趣

問答坊 | AI 解惑

PWM輸出精密的資料

PWM輸出精密的資料…

查看全部問答∨

我在自己的電腦下了一個windows ce 5.0 想下載一些程度,那里有啊!

現在連瀏覽器都沒有,請問大家有沒有那里可以下載到安裝程序啊?謝謝…

查看全部問答∨

別人的導航軟件的手寫輸入在我定制的CE平臺上識別不了,為什么?跟平臺定制有關沒?CE組件沒加?

別人的導航軟件的手寫輸入在我定制的CE平臺上識別不了,為什么?跟平臺定制有關沒?CE組件沒加?…

查看全部問答∨

關于ST7920液晶顯示文字居中的疑問

學習用51單片機控制基于ST7920的LCD產生如下問題,期盼諸位有經驗大俠能夠鼎力相助,小弟先在這里謝了。 問題1:如果我想在LCD屏幕的某行讓五個漢字(例如:液晶顯示器)居中顯示必須我自己編漢字嗎?還是可以直接使用ST7920中自帶的漢字庫? 問 ...…

查看全部問答∨

5416自啟動的怪問題

1   單獨上電,我測了JTAG各個引腳電平,TMS     TDI   等都是高的,但是TDO是低的,只有0.2V左右     這樣正常嗎?是不是JTAG影響了DSP的工作呢 2   DSP的復位腳上電時候都應該 ...…

查看全部問答∨

【為C2000做貢獻】TMS320F2812的AD及其精度校準

這個可是比較好的資料 [ 本帖最后由 fxw451 于 2011-4-7 09:30 編輯 ]…

查看全部問答∨

請教一個電磁兼容問題

用單片機做了一塊數據編碼模塊,獨立工作正常,現在要用于一個電磁環境及其惡劣的場合,有以下兩個問題: 1、原來是兩層板,有沒有必要改成四層板? 2、接地如何處理? 板子裝在一個封閉的金屬外殼內,板子本身的地和金屬機殼是應該連到一起還是 ...…

查看全部問答∨

看看你答案對么?LED照明知識問答

看看你答案對么?LED照明知識問答 1,引起LED光衰的主要原因是什么? A,溫度     B,紋波     C,驅動電流      2,什么架構可以消除LED照明燈具的市電工頻閃爍? A,單級架構&n ...…

查看全部問答∨

照明色坐標換算色溫

無需安裝,解壓后直接雙擊《色坐標換算色溫.exe》,輸入色坐標x,y后點擊計算即可。 由色坐標計算色溫 pdf 色坐標 色溫 顏色 [attach]112045[/attach]…

查看全部問答∨

新手求助

急求基于stm32電子密碼鎖設計總體框圖。感激不盡~…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 西乌珠穆沁旗| 广宁县| 醴陵市| 永城市| 呼伦贝尔市| 奉节县| 绍兴市| 鄢陵县| 永仁县| 于田县| 湟中县| 子洲县| 沈丘县| 山东省| 海丰县| 丰宁| 富民县| 左云县| 中阳县| 荆门市| 开原市| 平武县| 新巴尔虎右旗| 墨玉县| 大悟县| 额济纳旗| 柯坪县| 沂水县| 安义县| 包头市| 封丘县| 南汇区| 屏东市| 黎川县| 石林| 自贡市| 三门县| 贵州省| 玉龙| 天等县| 灵石县|