新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 3 G網絡的移動機器人遠程監控系統

        3 G網絡的移動機器人遠程監控系統

        作者: 時間:2013-04-23 來源:網絡 收藏

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

        本文引用地址:http://www.104case.com/article/148051.htm

        b.JPG


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

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)


        關鍵詞: 機器人 3G Linux CGI Ajax

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 东兰县| 石狮市| 宜章县| 亳州市| 修武县| 九龙坡区| 神池县| 且末县| 石阡县| 鄂伦春自治旗| 崇阳县| 新营市| 嘉禾县| 麻栗坡县| 精河县| 乌恰县| 磐石市| 工布江达县| 昌乐县| 建昌县| 双鸭山市| 延寿县| 垦利县| 丽江市| 铜鼓县| 杭锦后旗| 杂多县| 六枝特区| 堆龙德庆县| 江北区| 福安市| 怀仁县| 军事| 松滋市| 洮南市| 盐边县| 固安县| 云浮市| 南涧| 赤城县| 台州市|