亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于GS1011M的WIFI圖片傳輸

        2015-06-24 12:04:14錢光明李楓
        電腦知識(shí)與技術(shù) 2015年11期

        錢光明++李楓

        摘要:用STM32單片機(jī)+WIFI模塊+攝像頭可以組成一個(gè)簡單、便宜且低功耗的現(xiàn)場裝置,用于網(wǎng)絡(luò)遠(yuǎn)程監(jiān)控。該文基于GainSpan公司推出的低功耗WIFI模塊GS1011M,主要研究傳送圖片數(shù)據(jù)時(shí)頗為值得注意的格式問題,如果處理不好,易出現(xiàn)接收圖片時(shí)好時(shí)壞或嚴(yán)重失真等現(xiàn)象。文章總結(jié)了GS1011M的幾種主要數(shù)傳方式,研究了圖片傳送時(shí)的相關(guān)細(xì)節(jié),提出了一種透明傳輸方案。

        關(guān)鍵詞:WIFI模塊;S格式;Y格式;透明傳輸

        中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)11-0049-02

        在當(dāng)今的無線網(wǎng)絡(luò)應(yīng)用中,WIFI為越來越多的人所熟悉。人們在感嘆WIFI技術(shù)帶來方便的同時(shí),也在不斷地挖掘著它的潛力,如何將該技術(shù)用于網(wǎng)絡(luò)遠(yuǎn)程監(jiān)控就是近年來許多人關(guān)心的問題,而低功耗網(wǎng)絡(luò)監(jiān)控更是有著特別的吸引力。GS1011M是GainSpan公司推出的WIFI模塊,該模塊給用戶提供UART或SPI接口,用戶通過簡單的AT指令即可進(jìn)行網(wǎng)絡(luò)連接和數(shù)據(jù)傳輸[1]。尤其要指出的是:GS1011M模塊有著優(yōu)良的低功耗性能,其待機(jī)電流典型值只有7μA,是低功耗WIFI應(yīng)用的不錯(cuò)選擇。如果將GS1011M用于簡單的傳感器數(shù)據(jù)傳送(如溫度、位置等測量),有些文獻(xiàn)可供參考[2]。而本文要研究的是用GS1011M通過WIFI進(jìn)行圖像傳送這一問題。

        1 簡單的圖片傳送裝置

        圖1是用GS1011M組成的、簡單的圖像傳送裝置。攝像頭模塊通過SCCB接口接受STM32單片機(jī)發(fā)來的命令,由該模塊采集并處理后的圖像數(shù)據(jù)通過8位并行數(shù)據(jù)線傳向STM32單片機(jī),再由單片機(jī)的UART接口送往WIFI模塊,傳向網(wǎng)絡(luò)。實(shí)驗(yàn)用攝像頭采用OV2640,它與STM32單片機(jī)還有一些其它的連接,如系統(tǒng)時(shí)鐘輸入XVCLK、場同步輸出VSYNC等等。

        圖1 簡單的圖像傳送裝置。

        2 GS1011M的圖像數(shù)據(jù)傳送方式

        “數(shù)據(jù)處理”(Data Processing)方式和“自動(dòng)連接”(Auto Connection Operation)方式是GS1011M的兩個(gè)主要數(shù)據(jù)傳輸方式。自然可用于圖像數(shù)據(jù)傳送。

        2.1 “數(shù)據(jù)處理”方式

        采用“數(shù)據(jù)處理”方式,可以比較好地把握整個(gè)數(shù)據(jù)的傳遞過程,尤其是在調(diào)試過程中。而該方式的具體實(shí)施又有兩類主要格式:

        先看第一種格式。數(shù)據(jù)包的開頭和結(jié)尾均出現(xiàn),對(duì)應(yīng)ASCII碼是“0x1b”。例如,“S0AE”表示通過0號(hào)連接發(fā)出字母A,S后的0表示連接號(hào)。該格式的細(xì)節(jié)還可有一些變化[3]。為敘述方便,以下將這一傳輸格式稱為S格式;

        如果采用S格式,“0x1b”(在串口精靈上顯示為短左箭頭)將不會(huì)被GS1011傳遞,數(shù)據(jù)中若包含該特殊字符,應(yīng)心中有數(shù),這時(shí)必須采用透明傳輸?shù)霓k法。這類似于網(wǎng)絡(luò)教材中面向字節(jié)的透明傳輸原理。例如,圖2是一個(gè)用OV2640得到的JPG彩條圖片文件的部分?jǐn)?shù)據(jù),其中就包含“0x1b”。如果采用S格式直接對(duì)圖2所示文件傳輸,因?yàn)閬G失“0x1b”,彩條圖片傳出后顯示的結(jié)果如圖3所示,顯然已經(jīng)嚴(yán)重失真。

        圖2 一個(gè)彩條JPG圖片的部分?jǐn)?shù)據(jù)

        圖3 丟失0x1b后的彩條圖片。320*240分辨率

        如何使“0x1b”用S格式傳出去?實(shí)驗(yàn)中,我們在發(fā)送端采用一串特殊字符“0x22 0x33 0x44”來代替“0x1b”,在接收端再將“0x22 0x33 0x44”換成“0x1b”。圖片數(shù)據(jù)中一些地方會(huì)不會(huì)本身就含有“0x22 0x33 0x44”呢?如果有,我們的處理辦法是:在發(fā)送端只要出現(xiàn)“0x22 0x33”,就馬上插入一個(gè)“0x00”;在接收端只要出現(xiàn)“0x22 0x33”,就將緊隨其后的“0x00”去掉。如此便實(shí)現(xiàn)了透明傳輸。為什么選擇“0x22 0x33 0x44”而不采用“0xFF”之類的字符呢?因?yàn)椤?xff”在JPG文件中作為標(biāo)志性的字符肯定要出現(xiàn),我們再選它來代替“0x1b”顯然不合適。實(shí)際上,在原始圖片數(shù)據(jù)中,出現(xiàn)“0x22 0x33”的概率很低,我們的實(shí)驗(yàn)中從未出現(xiàn)過。

        再看第二種格式。數(shù)據(jù)包以開頭,接下來要給出“對(duì)方的IP地址”、“端口號(hào)”及“需要發(fā)送的字節(jié)數(shù)”等信息,然后按該字節(jié)數(shù)發(fā)出數(shù)據(jù)內(nèi)容即可,無需以結(jié)尾。例如,“Y0192.168.1.100:8080:0010”表示通過0號(hào)連接,向“192.168.1.100”的8080號(hào)端口發(fā)出10(十進(jìn)制)個(gè)數(shù)據(jù),數(shù)據(jù)內(nèi)容要緊隨其后。該格式的細(xì)節(jié)也還可有一些變化[1]。為敘述方便,以下將這一傳輸格式稱為Y格式。Y格式本質(zhì)上顯然是一種字節(jié)計(jì)數(shù)方法。內(nèi)容中可以包含任何十六進(jìn)制數(shù),包括“0x1b”,任何數(shù)都會(huì)被傳遞,不要作特殊處理。發(fā)送端和接收端都無需進(jìn)行透明傳輸?shù)木幊?。但是,采用Y格式時(shí),一次可發(fā)送的最大字節(jié)數(shù)通常限制為1400或1500。如果一個(gè)圖片數(shù)據(jù)超過這一最大數(shù),將要分多次打包傳輸。例如,實(shí)驗(yàn)中我們傳輸10K大小的圖片時(shí),每次發(fā)送1024個(gè)字節(jié),分10次完成。

        2.2 “自動(dòng)連接”方式

        有別于“數(shù)據(jù)處理”方式,GS1011M模塊進(jìn)入“自動(dòng)連接”方式后,起到的完全是一個(gè)透明傳遞的橋梁(pass-through)作用。該方式中,GS1011M不再接收AT命令,也不會(huì)把當(dāng)作一次數(shù)據(jù)傳輸?shù)拈_頭和結(jié)尾。只要預(yù)先作好綁定和設(shè)置,該模塊就像一根電纜(cable replacement),要它傳什么它就傳什么,也不向圖1中的STM32單片機(jī)反饋狀態(tài)信息。

        但是,如果數(shù)據(jù)傳輸時(shí)連續(xù)出現(xiàn)3個(gè)“+”,然后停頓1秒鐘(不傳遞任何字符),GS1011M模塊將退出“自動(dòng)連接”方式。符號(hào)“+”對(duì)應(yīng)的十六進(jìn)制是“0x2b”。圖像數(shù)據(jù)中有沒有可能連續(xù)出現(xiàn)3個(gè)“0x2b”呢?有。圖4是用OV2640采集的一個(gè)YUV422文件的片段,其中包含了連續(xù)4個(gè)“0x2b”的情況。那么,有沒有可能在連續(xù)3個(gè)以上的“0x2b”后,出現(xiàn)1秒鐘的數(shù)據(jù)傳輸停頓呢?雖然概率低,但不是沒有可能,這一點(diǎn)應(yīng)該引起設(shè)計(jì)者的注意。一旦出現(xiàn),不管預(yù)定的數(shù)據(jù)是否傳輸完畢,GS1011M就不再是要它傳什么就會(huì)傳什么的狀態(tài)了。

        圖4 包含了連續(xù)4個(gè)“+”的一個(gè)YUV422文件部分?jǐn)?shù)據(jù)

        3 結(jié)束語

        通過以上分析可知:利用“數(shù)據(jù)處理”方式中的S格式傳輸數(shù)據(jù)時(shí),需要注意特殊數(shù)據(jù)“0x1b”;采用“自動(dòng)連接”方式時(shí),則需要注意特殊數(shù)據(jù)串“0x2b 0x2b 0x2b”再加1秒鐘的停頓。因?yàn)閳D像數(shù)據(jù)格式多,內(nèi)容豐富,每一個(gè)數(shù)據(jù)字節(jié)可能是從“0x00”到“0xff”中的任何一個(gè),因此,碰到這些特殊數(shù)據(jù)是可能的。而如果采用“數(shù)據(jù)處理”方式中的Y格式的話,就可以免去這種特殊數(shù)據(jù)帶來的煩惱。只不過要注意用Y格式時(shí),每次可以傳遞的字節(jié)數(shù)是有限制的。

        參考文獻(xiàn):

        [1] Gain Span. GS1011M_Datasheet_rev_1_6. 2013.

        [2] 張耀,丁恩杰,史巖巖,等.礦山人員狀態(tài)感知節(jié)點(diǎn)的研究與設(shè)計(jì)[J].計(jì)算機(jī)測量與控制, 2012,20(12): 3302-3305.

        [3] GainSpan. Serial_to_WiFi_Adapter_Guide_ver_5_14. 2012.

        男女好痛好深好爽视频一区 | 人人添人人澡人人澡人人人人 | 国产三级在线观看不卡| 国产精品久久av高潮呻吟| 不卡一本av天堂专区| 日本免费视频| 无码精品a∨在线观看| 亚洲AV永久无码精品导航| 亚洲老熟妇愉情magnet| 久久婷婷综合色一区二区| 午夜福利影院成人影院| 国产免费久久精品99久久| 丰满少妇被粗大的猛烈进出视频 | 国产精品一区二区三区女同| 久久99人妖视频国产| 日本一区二区三区视频网站| 亚洲欧洲国产成人综合在线| 无码吃奶揉捏奶头高潮视频| 亚洲国产高清在线一区二区三区 | 日韩亚洲av无码一区二区三区| 欧美极品美女| 亚洲国产美女在线观看| 国内精品久久人妻互换| 亚洲黄色天堂网站在线观看禁18| 国产97色在线 | 日韩| 国产日韩成人内射视频| 色欲AV无码久久精品有码| 精品蜜桃视频在线观看| 产美女被爽到高潮免费a| 国产福利永久在线视频无毒不卡 | 狼色精品人妻在线视频| 国产91在线|亚洲| 丝袜美腿国产一区二区| 午夜爽爽爽男女免费观看影院 | 国色天香社区视频在线| 少妇下面好紧好多水真爽播放| 久久久www成人免费无遮挡大片| 亚洲欧洲AV综合色无码| 免费人妻精品区一区二区三| 精品无人区无码乱码毛片国产 | 亚洲av成人中文无码专区|