国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于PhoneGap與3G網(wǎng)絡(luò)的四軸飛行器控制平臺(tái)設(shè)計(jì)

2018-04-12 04:23占宏張祝
關(guān)鍵詞:跨平臺(tái)飛行器框架

占宏 張祝

摘 要:傳統(tǒng)四軸飛行器的控制多為搖桿遙控器,針對(duì)其便攜性差、控制距離受限等問(wèn)題,采用智能移動(dòng)終端與3G網(wǎng)絡(luò)技術(shù)來(lái)實(shí)現(xiàn)對(duì)飛行器的遠(yuǎn)程控制。但智能移動(dòng)終端系統(tǒng)的多樣性給編程帶來(lái)一定的難度,采用跨平臺(tái)移動(dòng)應(yīng)用框架PhoneGap來(lái)設(shè)計(jì)和開(kāi)發(fā)手機(jī)APP控制平臺(tái),不僅節(jié)約了開(kāi)發(fā)時(shí)間和成本,而且有效增加了APP用戶群體。室外測(cè)試實(shí)驗(yàn)表明:在3G網(wǎng)絡(luò)信號(hào)覆蓋下,平臺(tái)操作便捷、實(shí)時(shí)性好,飛行器運(yùn)行流暢、坐標(biāo)顯示準(zhǔn)確,同時(shí)可跨平臺(tái)使用,適應(yīng)性好。

關(guān)鍵詞:四軸飛行器;智能移動(dòng)終端;PhoneGap框架;3G網(wǎng)絡(luò)

中圖分類號(hào):TP273

文獻(xiàn)標(biāo)志碼:A

1 引言

由于微機(jī)電控制技術(shù)、新型材料以及飛行控制技術(shù)的發(fā)展,四軸無(wú)人飛行器得到迅猛發(fā)展。四軸飛行器具有結(jié)構(gòu)簡(jiǎn)單、穩(wěn)定性好、承載能力強(qiáng)、低成本、高效益的特點(diǎn),有著廣闊的應(yīng)用前景。

近年來(lái)出現(xiàn)通過(guò)電腦或手機(jī)采用wifi、藍(lán)牙或者ZigBee等技術(shù)來(lái)實(shí)現(xiàn)遠(yuǎn)程控制飛行器,雖然解決了傳統(tǒng)遙控器的體積大、質(zhì)量重、不便于攜帶的問(wèn)題,但仍受到距離的限制。若想實(shí)現(xiàn)真正的超遠(yuǎn)距離控制,可以采用第三代移動(dòng)通信技術(shù)(3G網(wǎng)絡(luò)),就如手機(jī)通話般,給四軸飛行器插上一張電話卡,就可以控制飛行器。

要實(shí)現(xiàn)手機(jī)控制飛行器,必須在手機(jī)上編寫(xiě)應(yīng)用,通過(guò)調(diào)用相關(guān)組件及功能來(lái)實(shí)現(xiàn)對(duì)飛行器的控制。然而市面上的手機(jī)系統(tǒng)的多樣性卻給手機(jī)應(yīng)用的統(tǒng)一編寫(xiě)帶來(lái)了一定的難度。由于移動(dòng)跨平臺(tái)開(kāi)發(fā)框架PhoneGap具有一次開(kāi)發(fā)同時(shí)適用于多種不同移動(dòng)智能終端操作系統(tǒng)的特性[1-2],因此文中采用PhoneGap開(kāi)發(fā)和設(shè)計(jì)3G網(wǎng)絡(luò)的四軸飛行器手機(jī)APP控制平臺(tái),不僅大大縮短了開(kāi)發(fā)周期,而且有效增加了APP用戶群體[3]。

2 控制平臺(tái)整體框架

本文設(shè)計(jì)的四軸飛行器控制平臺(tái)包括四軸飛行器、智能移動(dòng)終端(手機(jī))、服務(wù)器三部分,詳細(xì)框圖如圖1所示。

本設(shè)計(jì)自行搭建好一臺(tái)能實(shí)現(xiàn)自主平衡定高飛行的四軸飛行器。該飛行器選用飛思卡爾公司的MK60芯片作為主控芯片,負(fù)責(zé)高頻的姿態(tài)解算、數(shù)據(jù)接收以及處理等;選用MPU6050姿態(tài)模塊并裝載GPS模塊,隨時(shí)返回飛行器當(dāng)前姿態(tài)以及坐標(biāo)位置,保證對(duì)飛行器的實(shí)時(shí)監(jiān)控;裝載具有3G功能的SIM模塊,將飛行器的各種姿態(tài)、坐標(biāo)等處理后的數(shù)據(jù)通過(guò)3G數(shù)據(jù)發(fā)出,保證了長(zhǎng)距離的傳輸。

因?yàn)椴捎肞honeGap跨平臺(tái)框架,可在各個(gè)平臺(tái)運(yùn)行終端程序,本次移動(dòng)測(cè)試終端選用一款A(yù)n-droid平臺(tái)的手機(jī),采用iQuery Mobile移動(dòng)web應(yīng)用開(kāi)發(fā)框架編寫(xiě)源碼,并采用PhoneGap框架技術(shù)生成Android系統(tǒng)下的APK安裝程序,在An-droid手機(jī)終端上安裝即可[4]。

該平臺(tái)采用服務(wù)器加終端的方法來(lái)實(shí)現(xiàn)手機(jī)與四軸飛行器間的數(shù)據(jù)交換,數(shù)據(jù)通過(guò)3G網(wǎng)絡(luò)傳輸。在服務(wù)器端用php編寫(xiě)一個(gè)負(fù)責(zé)數(shù)據(jù)處理的腳本,再用html建立了一個(gè)負(fù)責(zé)數(shù)據(jù)交換的純數(shù)據(jù)網(wǎng)頁(yè),分配以固定的域名并作為數(shù)據(jù)傳輸?shù)拿浇?,從而更方便、快速地?shí)現(xiàn)飛行器與手機(jī)端的通信。

3 系統(tǒng)設(shè)計(jì)

3.1 服務(wù)器端

服務(wù)器端負(fù)責(zé)飛行器與移動(dòng)終端(手機(jī))間的數(shù)據(jù)交互,是數(shù)據(jù)的中心。在服務(wù)器端,采用php語(yǔ)言編寫(xiě)的腳本與采用HTML編寫(xiě)的主頁(yè)文件是整個(gè)控制平臺(tái)架構(gòu)的基礎(chǔ)[5]。

php是一種通用開(kāi)源腳本語(yǔ)言,主要適用于Web開(kāi)發(fā)領(lǐng)域,可嵌入于HTML中,在此平臺(tái)中,php文件負(fù)責(zé)接收用戶提交數(shù)據(jù)并加以處理,然后交于主頁(yè)顯示。值得注意的是,通常php以post的方式加密傳輸數(shù)據(jù),在此平臺(tái)中需要用到兩種post數(shù)據(jù)接收方式,一種為“$ _POST”方式,它可以接受飛行器傳過(guò)來(lái)的表單數(shù)據(jù),另一種是“php://input”方式,用來(lái)接收手機(jī)端post過(guò)來(lái)的字符數(shù)據(jù)[6]。

在HTML編寫(xiě)的主頁(yè)文件中,將php腳本處理后的數(shù)據(jù)用字符串的方式打印到頁(yè)面中,其他平臺(tái)通過(guò)訪問(wèn)網(wǎng)頁(yè)的方式便可獲取數(shù)據(jù)。

3.2 四軸飛行器端

四軸飛行器要與此平臺(tái)相配合,必須滿足以下條件:

(1)該飛行器要能有效地連接到3G網(wǎng)絡(luò),因此要在四軸飛行器上安裝GPRS模塊。選用SIM900模塊并配置一張聯(lián)通3G上網(wǎng)卡,通過(guò)3G網(wǎng)絡(luò)訪問(wèn)服務(wù)器上的具體域名。

(2)四軸飛行器必須實(shí)現(xiàn)自平衡。由于智能移動(dòng)終端控制信號(hào)受3G信號(hào)強(qiáng)弱的影響,可能會(huì)有一定的延時(shí),因此實(shí)際應(yīng)用時(shí)選用MPU6050集成三軸陀螺儀和三軸加速器,來(lái)實(shí)現(xiàn)飛行器當(dāng)前姿態(tài)的精確檢測(cè)并通過(guò)PID算法進(jìn)行姿態(tài)控制以保持飛行器的平穩(wěn)[7]。

(3)為實(shí)現(xiàn)超遠(yuǎn)距離的飛行,必須在四軸飛行器上裝載GPS模塊。每隔1秒讀取一次當(dāng)前坐標(biāo),并與服務(wù)器上讀回的數(shù)據(jù)進(jìn)行比較,即可得到飛行器當(dāng)前需要運(yùn)動(dòng)的方向。

(4)要想實(shí)現(xiàn)遠(yuǎn)距離的飛行,一個(gè)大容量的電池也是必不可少的,而且GPRS模塊也需要大量供電,因此采用雙電池模式,飛行器采用大容量聚合物鋰電池供電,GPRS模塊用單獨(dú)的手機(jī)鋰電池供電[8]。

3.3 智能移動(dòng)終端

智能移動(dòng)終端采用PhoneGap框架技術(shù)進(jìn)行開(kāi)發(fā),PhoneGap框架的開(kāi)發(fā)與其他模塊的配合是本次設(shè)計(jì)的創(chuàng)新點(diǎn)與難點(diǎn)。

在PhoneGap框架下,使用HTML、CSS、JavaScript等網(wǎng)頁(yè)語(yǔ)言即可編寫(xiě)手機(jī)應(yīng)用,并將源碼打包上傳至其官網(wǎng)的PhoneGap build處,便可自動(dòng)生成各類手機(jī)平臺(tái)下的安裝文件,下載相應(yīng)的文件即可。同時(shí),調(diào)試時(shí)不需要復(fù)雜的手機(jī)模擬器,使用瀏覽器打開(kāi)并調(diào)整到手機(jī)大小便可完成[9]。因此,在PhoneGap框架下無(wú)論開(kāi)發(fā)還是調(diào)試都變得更簡(jiǎn)單。

該平臺(tái)包含坐標(biāo)控制頁(yè)面和直接控制頁(yè)面兩個(gè)主界面。

(1)坐標(biāo)控制頁(yè)面:此頁(yè)面主要完成飛行器坐標(biāo)的輸入與傳遞。首先,建立一個(gè)表單用來(lái)輸入經(jīng)緯度坐標(biāo),并用iQuery中的post()方法將該經(jīng)緯度坐標(biāo)傳至服務(wù)器端。在程序中設(shè)置每0.5秒訪問(wèn)1次之前在服務(wù)中編寫(xiě)的Web Page,便可得到打印在主頁(yè)中的各種字符串信息,然后將信息實(shí)時(shí)顯示在手機(jī)APP中。此時(shí)調(diào)用百度地圖接口,輸入所得到的當(dāng)前坐標(biāo),即可在地圖上顯示飛行器位置。在飛行高度方面可設(shè)置一個(gè)滑條,通過(guò)滑動(dòng)來(lái)控制飛行器高度。

(2)直接控制頁(yè)面:直接控制是指在移動(dòng)端直接通過(guò)前后左右鍵控制飛行器的移動(dòng),通過(guò)四個(gè)bool按鍵實(shí)現(xiàn),按鍵按下時(shí)向服務(wù)器post相應(yīng)按鍵數(shù)據(jù),前進(jìn)時(shí)發(fā)送數(shù)據(jù)“w”,后退“s”,左移“a”,右移“d”,按鍵沒(méi)按時(shí)post數(shù)據(jù)“O”。

(3)兩個(gè)頁(yè)面不僅要實(shí)現(xiàn)應(yīng)有的功能,我們更希望頁(yè)面能有非常好的用戶體驗(yàn),所以兩個(gè)頁(yè)面間的相互轉(zhuǎn)換是必不可少的步驟,不僅如此,還需要在調(diào)節(jié)飛行器高度等控制參數(shù)時(shí),用戶不用反復(fù)的通過(guò)數(shù)字輸入,采用滑條方式以便用戶使用。

3.4 整體設(shè)計(jì)

將以上三部分整合為一完整的平臺(tái)——基于PhoneGap框架與3G網(wǎng)絡(luò)的四軸飛行器控制平臺(tái)。該控制平臺(tái)的工作流程如圖3所示。

4 平臺(tái)的實(shí)現(xiàn)

4.1 四軸飛行器終端實(shí)現(xiàn)

本次設(shè)計(jì)并實(shí)現(xiàn)了基于phonegap框架與3G網(wǎng)絡(luò)的四軸飛行器控制平臺(tái),如圖4所示為具有自平衡功能的四軸飛行器,已經(jīng)裝配有SIM模塊以及GPS模塊,并通過(guò)MCU編程實(shí)現(xiàn)數(shù)據(jù)交換。通過(guò)服務(wù)器到終端的設(shè)計(jì),該平臺(tái)實(shí)現(xiàn)了由手機(jī)控制四軸飛行器完成超遠(yuǎn)距離飛行。

4.2 服務(wù)器端腳本實(shí)現(xiàn)

實(shí)驗(yàn)調(diào)試中可直接通過(guò)瀏覽器訪問(wèn)服務(wù)器上的主頁(yè),如圖5所示。其中,“J”和“W”后的數(shù)字分別表示經(jīng)度和緯度坐標(biāo),“H”和“K”后數(shù)字分別表示飛行器高度和當(dāng)前飛行器的運(yùn)行狀態(tài),當(dāng)“K”為“O”時(shí),代表無(wú)操作,當(dāng)“K”為“w”“s”“a”“d”時(shí)分別表示向前、向后、向左、向右飛行。

4.3

PhoneGap編寫(xiě)的移動(dòng)終端應(yīng)用

圖6和圖7是移動(dòng)終端的操作界面,分別有坐標(biāo)控制和直接控制兩種模式供選擇。該兩種模式的上部是飛行器飛行高度的控制,可以通過(guò)滑塊的方式設(shè)定飛行器高度,也可以直接在滑塊左邊的框內(nèi)輸入指定高度(單位為“米”);中部是顯示飛行器的當(dāng)前坐標(biāo)的,用戶不能更改。在坐標(biāo)控制界面的下半部分設(shè)置好經(jīng)緯度,點(diǎn)擊“設(shè)置坐標(biāo)”便可以向服務(wù)器發(fā)送信息,點(diǎn)擊“在地圖上顯示”可在地圖中顯示當(dāng)前坐標(biāo)所在地圖的位置(本應(yīng)用直接鏈接的百度地圖)。直接控制界面的下半部分可以直接對(duì)飛行器進(jìn)行前后左右移動(dòng)操作。

應(yīng)用的最底部是飛行器與服務(wù)器的連接狀態(tài)以及移動(dòng)終端與服務(wù)器的連接狀態(tài),任意一個(gè)連接失敗就不能對(duì)服務(wù)器端進(jìn)行數(shù)據(jù)傳輸。

5 小結(jié)

通過(guò)該平臺(tái)的大量室外測(cè)試實(shí)驗(yàn),結(jié)果表明:在地勢(shì)開(kāi)闊、3G信號(hào)良好的地方,平臺(tái)操作非常便捷,實(shí)時(shí)性高;飛行器運(yùn)行流暢、坐標(biāo)顯示準(zhǔn)確,使用PhoneGap開(kāi)發(fā)的Andriod手機(jī)終端應(yīng)用運(yùn)行流暢,顯示正常,并且可跨平臺(tái)使用(在電腦端和10s端都可使用),適應(yīng)性好。但其實(shí)時(shí)性會(huì)受到運(yùn)營(yíng)商網(wǎng)絡(luò)信號(hào)的影響,在3G信號(hào)薄弱的地方進(jìn)行飛行器操作時(shí)會(huì)出現(xiàn)飛行器無(wú)反應(yīng)或坐標(biāo)顯示延遲等現(xiàn)象,這些問(wèn)題后續(xù)將做一步深入研究。

平臺(tái)采用PhoneGap框架技術(shù)與傳統(tǒng)技術(shù)相比大大節(jié)約了開(kāi)發(fā)時(shí)間和成本,采用3G網(wǎng)絡(luò)技術(shù)實(shí)現(xiàn)了超遠(yuǎn)距離控制,采用服務(wù)器到終端的信息傳遞模式自由度高,不僅可輕松實(shí)現(xiàn)一個(gè)移動(dòng)終端控制多臺(tái)飛行器,多個(gè)移動(dòng)終端控制一臺(tái)飛行器,甚至多個(gè)移動(dòng)終端控制多個(gè)飛行器,由此可見(jiàn)此平臺(tái)框架有著較大的發(fā)展?jié)摿Α?/p>

參考文獻(xiàn)

[1]楊葉,陳琳,董啟標(biāo),基于PhoneGap的跨平臺(tái)移動(dòng)學(xué)習(xí)資源設(shè)計(jì)與開(kāi)發(fā)探究[J].現(xiàn)代教育技術(shù),2014,(2):100-107.

[2]王則杰,李艷春,李新,基于PhoneGap的移動(dòng)課件應(yīng)用的設(shè)計(jì)與實(shí)現(xiàn)[J].科研信息化技術(shù)與應(yīng)用,2013,(2):67-74.

[3] 陸鋼,朱培軍,李慧云,等,智能終端跨平臺(tái)應(yīng)用開(kāi)發(fā)技術(shù)研究[J].電信科學(xué),2012,(5):14-17.

[4] 蘇杰峰,基于PhoneGap的移動(dòng)資源應(yīng)用的設(shè)計(jì)與實(shí)現(xiàn)[D].西安:西北大學(xué),2013.

[5]劉歡,盧蓓蓉,使用響應(yīng)式設(shè)計(jì)構(gòu)建高校新型門(mén)戶網(wǎng)站[J].中國(guó)教育信息化,2013,(5):71- 75.

[6]李青,王濤,基于平板電腦的學(xué)習(xí)資源設(shè)計(jì)框架和要點(diǎn)分析[J].遠(yuǎn)程教育雜志,2012.(5):35-41.

[7]楊明志,王敏,四旋翼微型飛行器控制系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2008,(4):1671-4598.

[8]劉峰,呂強(qiáng),王國(guó)勝,等.四軸飛行器姿態(tài)控制系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2011,(3):583-585.

[9] 陸鋼,朱培軍,李慧云,等,智能終端跨平臺(tái)應(yīng)用開(kāi)發(fā)技術(shù)研究[J].電信科學(xué),2012,(5):14-17.

[10] 樊雷,基于PhoneGap和iQuery Mobile的課程群移動(dòng)學(xué)習(xí)平臺(tái)構(gòu)建[J].軟件導(dǎo)刊,2014,(11):56-58.

猜你喜歡
跨平臺(tái)飛行器框架
框架
一款游戲怎么掙到全平臺(tái)的錢(qián)?
潛力雙跨平臺(tái):進(jìn)階:誰(shuí)將跨入下一個(gè)“十大”?
淺談框架網(wǎng)頁(yè)的學(xué)習(xí)
飛去上班
基于STM32的四軸飛行器控制系統(tǒng)設(shè)計(jì)
基于STM32的四軸飛行器控制系統(tǒng)設(shè)計(jì)
基于Jmeter對(duì)Node框架性能的測(cè)試研究
基于C++語(yǔ)言的跨平臺(tái)軟件開(kāi)發(fā)
神秘的飛行器