999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FTP協(xié)議棧的OpenAt應(yīng)用軟件遠(yuǎn)程DOTA系統(tǒng)

2017-10-28 21:49:20鮑海森
軟件工程 2017年9期

摘 要:OpenAt是一款基于GSM/GPRS無線CPU模塊的嵌入式操作系統(tǒng)。OpenAt系統(tǒng)集成了基于GSM/GPRS無線CPU模塊的大部分應(yīng)用開發(fā)API函數(shù)庫。DOTA是指系統(tǒng)遠(yuǎn)程無線升級(jí)功能。本文以Q2686無線CPU為模塊為例,介紹OpenAt操作系統(tǒng)平臺(tái)上的基于FTP協(xié)議的遠(yuǎn)程DOTA軟件設(shè)計(jì),為GSM/GPRS產(chǎn)品應(yīng)用提供一種遠(yuǎn)程在線升級(jí)手段。

關(guān)鍵詞:FTP;OPENAT;DOTA;GPRS;TCP/IP

中圖分類號(hào):TP23 文獻(xiàn)標(biāo)識(shí)碼:A

Abstract:OpenAt is an embedded operating system based on the GSM/GPRS wireless CPU module.OpenAt integrates most of the applications based on the GSM/GPRS wireless CPU module to develop the API function library.DOTA refers to the system remote wireless upgrade function.Taking Q2686 wireless CPU as an example,this paper introduces the design of remote DOTA software based on FTP on the OpenAt operating system platform,and provides an online remote upgrade method for the GSM/GPRS product application.

Keywords:FTP;OPENAT;DOTA;GPRS;TCP/IP

1 引言(Introduction)

電子技術(shù)的發(fā)展,使得電子產(chǎn)品的升級(jí)換代越來越快,用戶對(duì)電子產(chǎn)品的需求也會(huì)隨著技術(shù)的發(fā)展而增加或改進(jìn),使得產(chǎn)品設(shè)計(jì)周期越來越短,同時(shí)帶來的產(chǎn)品后續(xù)維護(hù)服務(wù)也越來越復(fù)雜。GPRS網(wǎng)絡(luò)和互聯(lián)網(wǎng)技術(shù)的發(fā)展使得無線遠(yuǎn)程數(shù)據(jù)傳輸技術(shù)深入到社會(huì)的各個(gè)領(lǐng)域,基于GPRS網(wǎng)絡(luò)的終端系統(tǒng)也越來越多。在眾多GPRS終端產(chǎn)品中,由于產(chǎn)品設(shè)計(jì)的周期變短,系統(tǒng)或多或少會(huì)存在軟件缺陷,同時(shí)由于不同客戶的需求也會(huì)增加,使得更多GPRS終端產(chǎn)品需要軟件升級(jí),相對(duì)于傳統(tǒng)的有線升級(jí)模式,GPRS遠(yuǎn)程無線升級(jí)更具有靈活性,逐漸成為大多數(shù)產(chǎn)品遠(yuǎn)程升級(jí)的主要模式。DOTA的全稱是Download Over The Air,即空中無線下載。DOTA的模式有兩種,一種主動(dòng)式,一種被動(dòng)式。主動(dòng)式是指GPRS終端獲取升級(jí)指令后主動(dòng)到服務(wù)器上搜尋升級(jí)程序,并下載下來進(jìn)行系統(tǒng)內(nèi)編程;被動(dòng)式則是由服務(wù)器端控制軟件將升級(jí)文件打包,依次將數(shù)據(jù)發(fā)送至GPRS終端。相對(duì)于被動(dòng)式升級(jí),主動(dòng)式升級(jí)速度和效率上更具有優(yōu)勢(shì)。在這里,我們介紹基于無線CPU模塊Q2686 FTP協(xié)議棧的DOTA升級(jí)模式。

2 OpenAt系統(tǒng)簡(jiǎn)介(OpenAt system introduction)

OpenAt嵌入式系統(tǒng)是為GPRS無線CPU開發(fā)的一款小型操作系統(tǒng),集成了內(nèi)存分配、FLASH管理、數(shù)據(jù)流管理、GPIO管理、總線管理、定時(shí)器管理等多種功能。底層為嵌入式API應(yīng)用層,包括程序初始化API、AT指令A(yù)PI、操作系統(tǒng)API、標(biāo)準(zhǔn)API、流控API、總線API等。包含了建立在OpenAt基礎(chǔ)之上的應(yīng)用開發(fā)層函數(shù)庫。應(yīng)用開發(fā)層函數(shù)庫(簡(jiǎn)稱ADL)為開發(fā)人員提供了上層應(yīng)用接口,簡(jiǎn)化了嵌入式應(yīng)用的開發(fā);同時(shí)ADL還提供了嵌入式應(yīng)用程序框架,包括消息解析器和服務(wù)聲明機(jī)制。基于以上原因,OpenAt應(yīng)用程序開發(fā)應(yīng)用程序時(shí),更多的時(shí)間用于調(diào)用服務(wù)處理函數(shù),使系統(tǒng)更專注于程序本身的優(yōu)化[1]。

OpenAt操作系統(tǒng)與應(yīng)用程序關(guān)系框圖如圖1所示。

3 FTP協(xié)議棧簡(jiǎn)介(FTP protocol stack introduction)

FTP協(xié)議是TCP/IP協(xié)議組中的協(xié)議之一,英文縮寫為File Transfer Protocol,即文件傳輸協(xié)議。該協(xié)議是以Internet文件傳送為基礎(chǔ),由一系列規(guī)格說明文檔組成,目標(biāo)是提高文件的共享性,提供非直接使用的遠(yuǎn)程計(jì)算機(jī),使存儲(chǔ)介質(zhì)對(duì)用戶透明和可靠高效的傳送數(shù)據(jù),F(xiàn)TP屬于一種客戶端/服務(wù)器端的系統(tǒng)。FTP傳輸包括兩種方式:ASCII傳輸模式和二進(jìn)制數(shù)據(jù)傳輸模式。FTP支持兩種工作方式,Standard模式和Passive模式,即主動(dòng)方式和被動(dòng)方式,主動(dòng)模式連接過程是由客戶端向FTP服務(wù)器端口(默認(rèn)21)發(fā)送連接請(qǐng)求,服務(wù)器接收連接,建立一條命令鏈路,當(dāng)需要數(shù)據(jù)傳時(shí),客戶端在命令鏈路上發(fā)送PORT命令通知服務(wù)器發(fā)送數(shù)據(jù)到客戶端指定端口;被動(dòng)模式是指客戶端向服務(wù)器的FTP端口發(fā)送連接請(qǐng)求,服務(wù)器接收連接,建立一條命令鏈路,當(dāng)需要數(shù)據(jù)傳輸時(shí),服務(wù)器通過PASV命令通知客戶端新建數(shù)據(jù)傳輸端口,由客戶端向新建FTP端口發(fā)送數(shù)據(jù)連接請(qǐng)求,建立一條數(shù)據(jù)鏈路來傳輸數(shù)據(jù)。在本文中,重點(diǎn)討論被動(dòng)模式下的FTP數(shù)據(jù)傳輸[2]。

4 OpenAt系統(tǒng)DOTA流程(OpenAt system DOTA

process)

在OpenAt操作系統(tǒng)中,啟動(dòng)DOTA遠(yuǎn)程升級(jí)的流程大致如下:?jiǎn)?dòng)WIP服務(wù),建立GPRS鏈路,打開FTP服務(wù)SOCKET連接,連接至指定FTP服務(wù)器,打開文件夾查找到目標(biāo)文件,由客戶端發(fā)起,執(zhí)行文件下載,完成下載后,啟動(dòng)OpenAt內(nèi)部在線編程服務(wù),從而完成升級(jí)。完整的系統(tǒng)流程圖如圖2所示。

5 GPRS終端硬件系統(tǒng)(GPRS terminal hardware

system)endprint

在這里,以無線CPU模塊Q2686小系統(tǒng)為例,Q2686模塊是Sierra公司為工業(yè)應(yīng)用開發(fā)的高端GPRS無線CPU,適用于惡劣環(huán)境,具備抗強(qiáng)電磁干擾能力。內(nèi)部集成了32位的ARM9芯片,最高頻率為104MHz,集成了32M的Flash空間和8M的RAM,擁有44個(gè)GPIO、兩路SPI、兩路UART口。集成了嵌入式OpenAt操作系統(tǒng),支持USB Slave和I2C總線[3]。

一個(gè)基于Q2686的車載GPS小系統(tǒng)硬件框圖如圖3所示。

6 DOTA軟件設(shè)計(jì)(DOTA software design)

基于上述Q2686小系統(tǒng),設(shè)計(jì)OpenAt嵌入式程序。DOTA系統(tǒng)程序設(shè)計(jì)包括系統(tǒng)初始化、GPRS鏈路建立、FTP協(xié)議棧啟動(dòng)、文件下載、升級(jí)安裝、系統(tǒng)重啟等過程。

6.1 GPRS數(shù)據(jù)鏈路的建立[4]

在OpenAt嵌入式系統(tǒng)中,啟動(dòng)GPRS的功能模塊是WIP插件庫,該插件庫集成了TCP/IP、UDP、FTP、HTTP等多種網(wǎng)絡(luò)協(xié)議棧,根據(jù)需要啟動(dòng)相應(yīng)的協(xié)議棧函數(shù)庫。在這里,我們建立FTP客戶端。

OpenAt系統(tǒng)中,啟動(dòng)WIP登錄GPRS網(wǎng)絡(luò)首先啟動(dòng)系統(tǒng)的Bearer,Bearer在OpenAt中作為一種數(shù)據(jù)通道,在一個(gè)Bearer下可以建立多條不同協(xié)議棧的數(shù)據(jù)鏈路。Bearer的建立示例代碼如下:

void StartWipHandler(u8 ID){

s8 sReturn;

if(wip_netInit()==0){//初始化網(wǎng)絡(luò)協(xié)議棧 sReturn=wip_bearerOpen(&br,"GPRS",BearerHandler,NULL);//打開Bearer的GPRS鏈路

if((sReturn==0)||(sReturn==WIP_BERR_ALREADY)){ sReturn=wip_bearerSetOpts(br,WIP_BOPT_GPRS_APN,”CMNET”,

WIP_BOPT_LOGIN,NULL,WIP_BOPT_PASSWORD,NULL,WIP_BOPT_END);//設(shè)置GPS參數(shù),APN接入點(diǎn),PPP協(xié)議的認(rèn)證用戶名和密碼

if(sReturn==0) sReturn=wip_bearerStart(br);//建立PPP連接

}}}

Bearer通道建立完成后,當(dāng)BearerHandler返回函數(shù)返回WIP_BEV_IP_CONNECTED事件時(shí),表明當(dāng)前的PPP連接建立成功。

6.2 FTP協(xié)議棧的啟動(dòng)

完成WIP_BEV_IP_CONNECTED事件返回后,創(chuàng)建FTP協(xié)議棧的客戶端連接[4]。啟動(dòng)函數(shù)為:

Channel=wip_FTPClientCreateOpts(“202.113.23.56”,ClientEventHandler,NULL,

WIP_COPT_USER,”ADMIN”,//FTP登錄用戶名

WIP_COPT_PASSWORD,”password”,//FTP登錄密碼

WIP_COPT_PASSIVE,TRUE,//建立被動(dòng)式連接

WIP_COPT_PEER_PORT,21,//端口

WIP_COPT_END);

其中,Channel值即FTP鏈路返回句柄。返回函數(shù)ClientEventHandler定義如下:

void ClientEventHandler(wip_event_t*event,void*ctx) {

switch(event->kind){

case WIP_CEV_READ:break; //FTP數(shù)據(jù)包讀操作

case WIP_CEV_OPEN: //FTP鏈路建立完成

sReturn=wip_cwd(Channel,”file/download”);//切換到文件所在目錄

break;

case WIP_CEV_DONE://切換文件目錄完成

wip_getFile(Channel,”file.dwl”,(wip_eventHandler_f)FtpevhHandler,NULL);//下載file.dwl二進(jìn)制文件

break;

}}

其中,wip_getFile函數(shù)的返回函數(shù)FtpevhHandler定義如下:

Void FtpevhHandler(wip_event_t*ev,void*ctx){

switch(ev->kind){

sase WIP_CEV_READ://下載文件

downloadFile();break;

case WIP_CEV_PEER_CLOSE://下載完成

install();//啟動(dòng)升級(jí)安裝函數(shù)

default:break;

}}

系統(tǒng)返回WIP_CEV_READ事件狀態(tài),立即啟動(dòng)download()函數(shù)進(jìn)行文件下載存儲(chǔ),download示例代碼為:

Void download(u8 ID){

if((len=wip_read(Channel,&FtpBuf[0],sizeof(FtpBuf)))>0){

sReturn=adl_adWrite(ptk_UpDataCellHandle,

len,F(xiàn)tpBuf);//存入Flash空間endprint

DataNumber+=len;//文件長(zhǎng)度變量,全局變量

if(sReturn==0)adl_tmrSubscribe(FALSE,

2,ADL_TMR_TYPE_100MS,download);//200ms后重新調(diào)用download()函數(shù)

}}

Download()函數(shù)下載文件到文件尾時(shí),系統(tǒng)自動(dòng)進(jìn)入WIP_CEV_PEER_CLOSE事件狀態(tài),完成下載。

6.3 升級(jí)程序

在WIP_CEV_PEER_CLOSE事件狀態(tài)啟動(dòng)install()函數(shù),安裝下載完成的file.dwl文件。Install ()函數(shù)運(yùn)行大約耗時(shí)3—5秒,安裝過程中,系統(tǒng)輸出ADL_AD_EVENT_INSTALL事件狀態(tài),表明系統(tǒng)已經(jīng)完成新程序的安裝,系統(tǒng)硬件自動(dòng)重新啟動(dòng),啟動(dòng)運(yùn)行新程序。完成整個(gè)下載過程。

6.4 系統(tǒng)的安全性設(shè)計(jì)

在實(shí)際的DOTA程序設(shè)計(jì)中,存在很多不可預(yù)見的災(zāi)難性錯(cuò)誤,容易導(dǎo)致系統(tǒng)崩潰,為了保證系統(tǒng)DOTA程序的順利進(jìn)行,需要在DOTA過程中增加多級(jí)災(zāi)難預(yù)警和保護(hù)措施[5]。保護(hù)措施如圖4所示。

7 遠(yuǎn)程DOTA系統(tǒng)的應(yīng)用(Application of remote

DOTA system )

對(duì)基于GPRS無線CPU的終端產(chǎn)品進(jìn)行遠(yuǎn)程DOTA,可以很方便地實(shí)現(xiàn)軟件系統(tǒng)版本的更新,又減少了現(xiàn)場(chǎng)服務(wù)的成本,所以DOTA功能被很多產(chǎn)品采用,包括兒童追蹤器、車載GPS系統(tǒng)、GSM直放站監(jiān)控系統(tǒng)、GPRS道路交通誘導(dǎo)系統(tǒng)和家庭無線報(bào)警系統(tǒng)中。而基于FTP協(xié)議棧的DOTA應(yīng)用更具備一些優(yōu)勢(shì),首先是無須服務(wù)器端控制軟件,減少了服務(wù)器軟件開發(fā)成本,其次是DOTA過程全部由下位機(jī)獨(dú)立完成,只需要將升級(jí)文件上載至固定FTP服務(wù)器的固定文件夾即可,下位機(jī)完成升級(jí)后自動(dòng)重啟運(yùn)行新程序,減少了人工干預(yù)的過程,實(shí)現(xiàn)了系統(tǒng)的自動(dòng)化運(yùn)行。

8 結(jié)論(Conclusion)

市場(chǎng)機(jī)遇和應(yīng)用技術(shù)的成熟往往是互相矛盾的[5],產(chǎn)品更新?lián)Q代的速度隨著技術(shù)的發(fā)展而加快,系統(tǒng)潛在的BUG會(huì)隨著產(chǎn)品的使用出現(xiàn),客戶的需求也會(huì)隨時(shí)改變,尤其對(duì)于車載類GPRS遠(yuǎn)程數(shù)據(jù)傳輸產(chǎn)品的設(shè)計(jì),往往客戶的需求并不是一次性提出的,后續(xù)的產(chǎn)品升級(jí)如果繼續(xù)采用傳統(tǒng)的現(xiàn)場(chǎng)燒錄方式已經(jīng)不合時(shí)宜,而且花費(fèi)的人力物力也是非常龐大。GPRS類產(chǎn)品本身就是遠(yuǎn)程數(shù)據(jù)傳輸,借助于遠(yuǎn)程數(shù)據(jù)傳輸,通過CPU內(nèi)部的自安裝功能,設(shè)計(jì)可以隨時(shí)隨地遠(yuǎn)程升級(jí)的程序,是為客戶提供最好的非現(xiàn)場(chǎng)技術(shù)支持手段,更關(guān)鍵可以實(shí)現(xiàn)在客戶不知不覺的情況下實(shí)時(shí)了遠(yuǎn)程DOTA升級(jí)。該方案從根本上解決了現(xiàn)場(chǎng)升級(jí)困難和耗費(fèi)大量財(cái)力的情況,加速了新產(chǎn)品上市的時(shí)間,可以為產(chǎn)品的售后提供更快更完美

的用戶服務(wù),增強(qiáng)產(chǎn)品的市場(chǎng)競(jìng)爭(zhēng)力。

參考文獻(xiàn)(References)

[1] 洪利,等.無線CPU與移動(dòng)IP網(wǎng)絡(luò)開發(fā)技術(shù)[M].北京:北京航空航天大學(xué)出版社,2015.

[2] W.Richard Stevers(美).TCP/IP詳解(第三卷)協(xié)議[M].北京:北京大學(xué)出版社,2015.

[3] WM_Q2686_modules_spec_sheet [S].Wavecom Corporation,

2016.

[4] ADL_User_Guide For OpenAt@OS[S].Wavecom Corporation,

2016.

[5] 胡靜靜.實(shí)現(xiàn)基于GPRS的無線遠(yuǎn)程IAP功能[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2005(1):21-23.

作者簡(jiǎn)介:

鮑海森(1977-),男,本科,高級(jí)工程師.研究領(lǐng)域:車聯(lián)網(wǎng)技術(shù),戰(zhàn)略方向規(guī)劃,車聯(lián)網(wǎng)商業(yè)模式分析.endprint

主站蜘蛛池模板: 亚洲资源站av无码网址| 亚洲乱强伦| 亚洲精品视频在线观看视频| 亚洲欧美日韩综合二区三区| 国产欧美日韩精品综合在线| 欧美一级一级做性视频| 91无码网站| 欧美不卡二区| 热99re99首页精品亚洲五月天| 国产极品粉嫩小泬免费看| 美女无遮挡拍拍拍免费视频| 亚洲h视频在线| 国产精品久久久久久影院| 欧美在线网| 国产呦视频免费视频在线观看| 玩两个丰满老熟女久久网| 国产素人在线| 高清无码手机在线观看| 朝桐光一区二区| 欧美亚洲一区二区三区导航| 女人18一级毛片免费观看| 国产成人高清精品免费软件| 国产欧美在线| 国产97公开成人免费视频| 国产成人免费| 精品自拍视频在线观看| 一区二区影院| 不卡网亚洲无码| 亚洲色欲色欲www网| 国产国拍精品视频免费看| 99国产在线视频| 国产9191精品免费观看| 国产三级a| 伊人丁香五月天久久综合| 国内精品九九久久久精品| 老熟妇喷水一区二区三区| 成人综合网址| 国产99视频免费精品是看6| 久久精品国产91久久综合麻豆自制| 国产一级毛片网站| 国产特级毛片aaaaaa| 国产欧美日韩另类精彩视频| 喷潮白浆直流在线播放| 亚洲乱码在线播放| 91在线丝袜| 亚洲无码一区在线观看| 免费看美女自慰的网站| 亚洲第一天堂无码专区| 国产精品自在在线午夜区app| 亚洲精品卡2卡3卡4卡5卡区| 欧美劲爆第一页| 亚洲无码日韩一区| 久久成人免费| 免费毛片a| 国产av无码日韩av无码网站| 日本亚洲国产一区二区三区| 国产无码精品在线| 亚洲人成网站18禁动漫无码| 亚洲性视频网站| 亚洲第一精品福利| 色亚洲成人| 嫩草国产在线| 亚洲天堂精品在线| 欧美视频在线观看第一页| 日本少妇又色又爽又高潮| 日本一区二区不卡视频| 色有码无码视频| 中文字幕 欧美日韩| 毛片免费网址| jizz在线观看| 国产在线观看第二页| 国产丝袜啪啪| 国产精品流白浆在线观看| 92精品国产自产在线观看| 国产剧情一区二区| 亚洲精品片911| 手机在线国产精品| 亚洲精品大秀视频| 久久频这里精品99香蕉久网址| 亚洲一区二区黄色| 欧美伦理一区| 亚洲综合色在线|