楊立志
摘要:隨著互聯(lián)網(wǎng)+應(yīng)用領(lǐng)域的不斷深化和擴(kuò)展,很多工控設(shè)備、工業(yè)檢測手持設(shè)備都需要能夠通過網(wǎng)絡(luò)在線傳輸圖像,由于受無線網(wǎng)絡(luò)覆蓋范圍的限制,使用wifi作為無線通信手段無法達(dá)到實時就地傳輸?shù)哪康?,用戶普遍選擇使用GPRS來完成。該文結(jié)合一種工業(yè)檢測手持設(shè)備的研發(fā)過程,對采用GPRS向遠(yuǎn)程服務(wù)器傳輸圖像的方法進(jìn)行分析。
關(guān)鍵詞:工業(yè)檢測手持設(shè)備;GPRS圖像傳輸;遠(yuǎn)程服務(wù)器
中圖分類號:TP317.4 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2017)30-0188-02
Research on Image Transmission Method Based on GPRS
YANG Li-zhi
(Computer Science Department Jiangyin Polytechnic College, Jiangyin 214433, China)
Abstract: With the Internet plus application domain increasing deepening and the expansion of industrial equipment, industrial inspection, many handheld devices are need to be able to online through the network transmission of images, due to the wireless network coverage limit, the use of WiFi as a wireless communication means can not achieve real-time objective local transmission, users generally choose to use GPRS to complete. In this paper, a method of using GPRS to transmit images to remote server is analyzed in combination with the development process of handheld devices for industrial inspection.
Key words: Industrial inspection handheld devices; GPRS image transmission; remote servers
1 背景
部分工業(yè)檢測用的手持設(shè)備,需要作業(yè)人員拍攝現(xiàn)場照片傳輸?shù)椒?wù)器,供管理人員或其他專業(yè)人員進(jìn)行分析,而現(xiàn)場作業(yè)人員有時也需要從服務(wù)器下載與現(xiàn)場作業(yè)相關(guān)的圖像進(jìn)行問題分析或決策,采
用wifi作為無線通信手段具有成本低、流量大等優(yōu)點,但很多情況下作業(yè)現(xiàn)場無法確保能夠提供wifi熱點,這給實時解決現(xiàn)場問題帶來了一定的麻煩。與之相比,GPRS實時性相對較高[1-2],雖然成本較高,流量受到多種條件的限制,但很多用戶仍然傾向于選擇GPRS作為無線通信手段。由于工業(yè)檢測手持設(shè)備一般情況下傳輸?shù)臄?shù)據(jù)量不是很多,綜合考慮生產(chǎn)成本等因素,本文方法以2GGPRS模塊為應(yīng)用平臺。重點探討基于stm32硬件平臺開發(fā)的工業(yè)檢測手持設(shè)備中圖像文件傳輸部分。
2 GPRS服務(wù)器訪問流程[3-4]
為了簡化設(shè)計流程,本文方法采用http協(xié)議與遠(yuǎn)程服務(wù)器完成信息交互,控制器采用stm32f407系列MCU完成GPRS模塊的控制及網(wǎng)絡(luò)數(shù)據(jù)的收發(fā)處理。其主要流程如圖1所示。
圖1給出了啟動GPRS并從服務(wù)器獲取數(shù)據(jù)[5]的基本設(shè)置步驟,其中GPRS入網(wǎng)初始化模塊中主要完成以下設(shè)置:
1) 為了后續(xù)處理方便,一般首先關(guān)閉GPRS的回顯功能。
2) 查詢sim卡是否正常;
3) 查詢信號強(qiáng)度;
4) 設(shè)置接入類型為GPRS,接入點為CMNET;
5) 打開承載。
以上步驟中,步驟5比較重要,這一步的成功與否直接決定后續(xù)的http訪問能否成功,一般情況下步驟5設(shè)置成功會返回OK,然而,如果已經(jīng)設(shè)置成功,再一次設(shè)置將與設(shè)置失敗一樣會返回ERROR,在實際應(yīng)用中要區(qū)別對待。入網(wǎng)設(shè)置成功后,需要對GPRS進(jìn)行http通信方式初始化,初始化成功后即可通過http協(xié)議與服務(wù)器通信。
3 圖像數(shù)據(jù)傳輸
手持設(shè)備向服務(wù)器申請圖像數(shù)據(jù)主要方式是將請求命令碼附加到請求參數(shù)中向服務(wù)器提交,一般有Get和Post兩種方式,本文采用Get方式,主要請求格式如下:
"AT+HTTPPARA=\"URL\",\http://www.52oa.cn/images/+imgName
"AT+HTTPACTION=0"
服務(wù)器將返回圖像數(shù)據(jù)給GPRS,由GPRS暫存到本地供控制器讀取。
受內(nèi)存限制,控制器往往無法一次接收一副完整的圖像數(shù)據(jù),只能分批讀取,下圖2是以接收圖像為例給出的接收處理流程。其中提交請求通過AT+HTTPACTION=0實現(xiàn)Get請求,成功后GPRS返回”0,200,number”字符串,根據(jù)GPRSHTTP協(xié)議,字符串中200標(biāo)識通信成功。
圖2 圖像接收流程圖
圖2給出了圖像下載過程中,訪問GPRS緩存及fatfs文件系統(tǒng)下數(shù)據(jù)流操作的步驟,訪問GPRS緩存通過AT+HTTPREAD=n,m指令完成,其中n為GPRS緩存偏移,m為需要讀取的字節(jié)數(shù)。如果是多任務(wù)系統(tǒng)[6-7],在圖像下載過程中GPRS模塊是一直被占用的,其他任務(wù)此時不能訪問GPRS,否則將會使模塊出現(xiàn)錯誤,為了能夠使多個任務(wù)相互配合,共同使用GPRS訪問網(wǎng)絡(luò),而不至相互干擾,需要引入互斥機(jī)制。而如果使用互斥機(jī)制不當(dāng),在通過GPRS頻繁訪問網(wǎng)絡(luò)的過程中又會偶爾出現(xiàn)網(wǎng)絡(luò)繁忙錯誤(錯誤碼601),致使系統(tǒng)進(jìn)入忙等,為了有效解決這一問題,本文采用以下方式進(jìn)行處理:
3.1 提交請求階段
如果請求圖像
如果請求到的圖像數(shù)據(jù)量超出系統(tǒng)準(zhǔn)備的接收圖像的緩存量
系統(tǒng)加鎖,進(jìn)入步驟2
否則
請求到的圖像數(shù)據(jù)量大于0嗎
是
系統(tǒng)加鎖
直接進(jìn)入讀取階段
系統(tǒng)解鎖
否則
網(wǎng)絡(luò)出現(xiàn)錯誤
對 GPRS進(jìn)行初始化
3.2 讀取圖像數(shù)據(jù)階段
剩余數(shù)據(jù)量大于系統(tǒng)緩存嗎
是
調(diào)整偏移量,繼續(xù)讀取
否
系統(tǒng)解鎖
通過以上流程,可以消除其他任務(wù)競爭GPRS導(dǎo)致的系統(tǒng)死鎖,當(dāng)然在實施過程中其他任務(wù)仍然要采取互斥機(jī)制,以防申請圖像任務(wù)競爭GRPS而導(dǎo)致死鎖。
4 實驗與總結(jié)
本文在stm32f407硬件平臺的基礎(chǔ)上,結(jié)合UCOSII操作系統(tǒng),完成了工業(yè)檢測手持設(shè)備的開發(fā),采用多個任務(wù)分別完成圖像數(shù)據(jù)的上傳下載,現(xiàn)場數(shù)據(jù)的統(tǒng)計和上傳。系統(tǒng)主界面采用ucgui-3.90開發(fā),LCD采用4.3寸電容屏。實踐表明,本系統(tǒng)能夠較好的協(xié)助工程人員完成作業(yè)現(xiàn)場的工程技術(shù)分析、檢測數(shù)據(jù)上傳任務(wù)。
參考文獻(xiàn):
[1] 馬士玲, 劉志丹. 物聯(lián)網(wǎng)技術(shù)在智能校園中的應(yīng)用[J]. 物聯(lián)網(wǎng)技術(shù), 2012(6):102-104
[2] 呂海東, 葛日波. 云平臺分布式智能感知物聯(lián)網(wǎng)應(yīng)用開發(fā)[J]. 計算機(jī)測量與控制, 2016(7).
[3] 馬洪偉, 盛翊智. GPRS技術(shù)在無線傳輸數(shù)據(jù)中的應(yīng)用[J]. 計算機(jī)技術(shù)與發(fā)展, 2005(3):101-103.
[4] 李琴, 陳蒙愛, 楊瀅. 虛擬儀器中利用GPRS技術(shù)進(jìn)行無線數(shù)據(jù)傳輸[J]. 儀表技術(shù), 2007(5):37-38
[5] 王玉峰, 王常虹, 滕飛, 等. 基于Internet的遠(yuǎn)程控制實驗系統(tǒng)[J]. 測控技術(shù), 2004, 23(2):44-45
[6] 鐘漢如, 郭建飛. 基于uC/OS無刷直流電機(jī)控制的研究[J]. 微計算機(jī)信息, 2007(5):122-124.
[7] 王曉明. 電動機(jī)的單片機(jī)控制[M]. 北京: 北京航空航天大學(xué)出版社, 2002.endprint