□ 趙巾幗 盧思慧
鴿贏家系統(tǒng)是建立在android平臺(tái)基礎(chǔ)上,采用socket和http協(xié)議進(jìn)行網(wǎng)絡(luò)連接,在wifi局域網(wǎng)獲取鴿子和會(huì)員信息,實(shí)時(shí)統(tǒng)計(jì)鴿社中的鴿子歸返信息,并及時(shí)發(fā)送給鴿社相應(yīng)的會(huì)員們,使得即使身在外地的用戶,也能夠及時(shí)、輕松地掌握自己的愛(ài)鴿信息。本系統(tǒng)實(shí)現(xiàn)了免等鳥、歸返信息查詢、上傳歸返信息、刪除歸返信息等功能。
(一)系統(tǒng)主要應(yīng)用工具及技術(shù)。使用的工具和模擬軟件主要有:chuankou、PL-2303 Driver、TCPUDPDebug、SerialDebug、androidEclipse、門禁環(huán)等。主要技術(shù)有:SQLite數(shù)據(jù)存儲(chǔ)、scoket、自動(dòng)連接單片機(jī)發(fā)射的wifi信號(hào)、GPRS、單片機(jī)熱點(diǎn)、通信協(xié)議技術(shù)、數(shù)據(jù)庫(kù)傳送、TTS、android圖形化界面設(shè)計(jì)、側(cè)滑動(dòng)、滑動(dòng)刷新數(shù)據(jù)、MVC、日志、自定義菜單等。
(二)主要設(shè)計(jì)思路。每個(gè)鴿子腳上綁定一個(gè)卡片,在鴿舍門口安放一個(gè)接收踏板和一個(gè)wifi熱點(diǎn),當(dāng)綁有卡片的鴿子落到踏板上時(shí),踏板自動(dòng)將接收到的卡片編號(hào)通過(guò)熱點(diǎn)以預(yù)先設(shè)定的協(xié)議傳送到指定的手機(jī)上。若接收設(shè)備不在當(dāng)前熱點(diǎn)的服務(wù)區(qū),則按預(yù)先設(shè)定的頻率,自動(dòng)重復(fù)發(fā)送直到接收到接收設(shè)備回送回來(lái)的接收成功的指令。信息接收設(shè)備(安裝了指定的應(yīng)用軟件的android手機(jī))開啟應(yīng)用程序后,自動(dòng)定位并自動(dòng)搜索預(yù)先設(shè)點(diǎn)的wifi熱點(diǎn),當(dāng)發(fā)現(xiàn)自定的wifi熱點(diǎn)時(shí),優(yōu)先連接指定的wifi熱點(diǎn),并自動(dòng)接收熱點(diǎn)發(fā)送過(guò)來(lái)的信息。
當(dāng)接收設(shè)備接收到指定wifi熱點(diǎn)傳入的信息后,首先根據(jù)設(shè)定的傳輸協(xié)議,校驗(yàn)接收到的信息的合法性,如果數(shù)據(jù)符合要求,則自動(dòng)存入數(shù)據(jù)庫(kù)并語(yǔ)音提示用戶接收到回鴿信息,以便用戶進(jìn)行相應(yīng)的操作。如查看已回鴿信息、查詢未回鴿子的信息、清空已有數(shù)據(jù)、更換接收手機(jī)等還可以將數(shù)據(jù)上傳備份到遠(yuǎn)程服務(wù)器。其設(shè)計(jì)思路圖如圖1所示。
圖1 設(shè)計(jì)思路圖
(三)接口設(shè)計(jì)。
1.用戶接口。系統(tǒng)用戶接口采用圖形化接口,通過(guò)觸摸屏調(diào)用窗口、圖標(biāo)、菜單以及對(duì)話框?qū)崿F(xiàn)可視化操作。針對(duì)wifi、GPRS、GPS詳細(xì)查看:屏幕向右側(cè)滑查看狀態(tài)的連接情況。針對(duì)免等鳥狀態(tài)設(shè)置:通過(guò)點(diǎn)擊免等鳥狀態(tài)設(shè)置按鈕實(shí)現(xiàn)免等鳥是否啟動(dòng)。針對(duì)歸還詳細(xì)信息查看:單擊歸還列表數(shù)據(jù)某條數(shù)據(jù)顯示詳細(xì)信息。計(jì)時(shí):查看歸還信息。上傳:上傳所有歸還信息至服務(wù)器。清除:清除所有歸還信息。分頁(yè):在歸還詳情中點(diǎn)擊查看上下條、最上最下條。
2.外部接口。系統(tǒng)連接的外部接口:手說(shuō)TTS,為本系統(tǒng)提供了語(yǔ)音播報(bào)功能。以單片機(jī)模擬踏板,引入發(fā)送歸返數(shù)據(jù)的單片機(jī)外部接口:為本系統(tǒng)提供歸返數(shù)據(jù)。
3.內(nèi)部接口。系統(tǒng)內(nèi)部接口的wifi接口:控制wifi的開關(guān)。GPRS接口:控制GPRS的開關(guān)。GPS接口:控制GPS的開關(guān)。Service接口:Remote Service后臺(tái)接收歸還信息。BroadcastReceiver接口:用于數(shù)據(jù)的傳遞。
(四)數(shù)據(jù)庫(kù)設(shè)計(jì)。由于本系統(tǒng)是基于Android平臺(tái),因此數(shù)據(jù)庫(kù)使用應(yīng)用自帶SQLite,從而避免了數(shù)據(jù)庫(kù)系統(tǒng)的安裝。系統(tǒng)數(shù)據(jù)庫(kù)主要包含兩個(gè)數(shù)據(jù)表:“基本數(shù)據(jù)(Base)”表和“歸返信息(SCORE)”表。其中“基本數(shù)據(jù)”表是用來(lái)存儲(chǔ)信鴿有關(guān)信息的,包括信鴿編號(hào)(Bid),鴿會(huì)代號(hào)(Cub),會(huì)員代號(hào)(Man),機(jī)臺(tái)序號(hào)(Ser),控制序號(hào)(Get),使用模式(Mod),報(bào)鴿門號(hào)(Pow),測(cè)試門號(hào)(Sms)。而“歸返信息”表是用來(lái)記錄信鴿歸返情況的,包括序號(hào)(No),鴿號(hào)(Bno),歸返日期(Dat),歸返時(shí)間(Bck),電子腳環(huán)(Rng),免等鳥(Wat),東經(jīng)(Est),北緯(Nth),接收時(shí)間(Wif),上傳時(shí)間(Htp)。
(五)程序?qū)崿F(xiàn)過(guò)程。
1.系統(tǒng)功能設(shè)計(jì)。本系統(tǒng)主要功能設(shè)計(jì)為七大部分。免等鳥:設(shè)定愛(ài)鴿歸返回時(shí)自動(dòng)發(fā)送簡(jiǎn)訊內(nèi)容;發(fā)門號(hào):設(shè)定免等鳥發(fā)送簡(jiǎn)訊門號(hào);測(cè)簡(jiǎn)訊:測(cè)試免等鳥發(fā)送簡(jiǎn)訊是否正常;配對(duì):將要記錄的愛(ài)鴿在本機(jī)做電子環(huán)及鴿子之配對(duì);校時(shí):校正本機(jī)之日期和時(shí)間;設(shè)換日:假定是否要換日,自動(dòng)清除訓(xùn)練記錄;燒碼:隨機(jī)贈(zèng)送10顆活動(dòng)環(huán),可以拷在未參賽之愛(ài)鴿腳,因此提供電子腳環(huán)燒錄功能。
2.?dāng)?shù)據(jù)處理流程。第一步wifi接收數(shù)據(jù):背景方式接收,以不能漏接SCORE數(shù)據(jù)為最高要求。第二步更新SCORE劃面,按時(shí)間順序反向顯示,如果筆數(shù)超過(guò)劃面,出現(xiàn)滾動(dòng)條,用戶可用上下滑動(dòng)顯示。第三步上傳網(wǎng)站,每30秒檢查是否已有新數(shù)據(jù),如有以HTTP格式上傳到指定網(wǎng)站。
3.?dāng)?shù)據(jù)顯示功能。開機(jī)時(shí),取出SQLite數(shù)據(jù)庫(kù)當(dāng)天日期之?dāng)?shù)據(jù),如果沒(méi)有當(dāng)天之日期,則為空白;如有,按時(shí)間反向排列之。wifi熱點(diǎn)連網(wǎng),wifi事先已設(shè)定好連接之wifi主機(jī)名稱,上電后自動(dòng)連接之,之后顯示wifi狀況。3G互聯(lián)網(wǎng)絡(luò),透過(guò)3G連上互聯(lián)網(wǎng)以HTTP://模式聯(lián)結(jié)到指定網(wǎng)站之后顯示GPRS狀況。GPS,每1分鐘取一次GPS狀況,顯示并更新變量,透過(guò)wifi將GPS變量傳給主機(jī)。
4.?dāng)?shù)據(jù)接收功能。wifi(SCOKET)接收SCORE(其數(shù)據(jù)格式為:(CLUB,MAN,NNN,BNO,RNG,DAT,BCK,SMS_MUST)),收到SCORE數(shù)據(jù)后,以BNO+DAT+BCK為索引,撿查該筆數(shù)是否已存在SQLITE?如已存在不理之,然后用語(yǔ)音報(bào)出后2碼;若不存在,則需要輸入相關(guān)信息,然后取出GPS變量存入SQLITE數(shù)據(jù)庫(kù)。其中CLUB=組群,0000~9999;MAN=會(huì)員,001~9999(未滿4位后面補(bǔ)空格);NNN=第幾只,001~999;BNO=鴿號(hào)6位,一定6位;RNG=電子腳環(huán),一定10位;DAT=報(bào)鴿日期,YYMMDD;BCK=報(bào)鴿時(shí)間,HHMMSS;SMS_MUST=是否需要回報(bào),Y或N。
5.網(wǎng)絡(luò)接口功能。提供HTTP://網(wǎng)站接口程序,其主要代碼如下:
(六)運(yùn)行控制。單片機(jī)的啟動(dòng)(PC機(jī)模擬):在XP環(huán)境下,連接電源,打開開關(guān),自動(dòng)發(fā)射wifi,安裝串口助手并啟動(dòng);在WIN7環(huán)境中,安裝虛擬串口,連接電源,打開開關(guān),自動(dòng)發(fā)射wifi,安裝串口助手并啟動(dòng)。wifi的啟動(dòng):自動(dòng)進(jìn)入系統(tǒng)設(shè)置,打開wifi連接并接入單片機(jī)的wifi信號(hào)。GPRS啟動(dòng):提示開啟GPRS時(shí),點(diǎn)擊是開啟,否則不開啟。
基于Android平臺(tái)的鴿贏家系統(tǒng),具有多網(wǎng)絡(luò)數(shù)據(jù)傳輸,多平臺(tái)數(shù)據(jù)共享,性能優(yōu)化,占用資源少,兼容性強(qiáng),簡(jiǎn)單且易于使用等特點(diǎn),受到了各信鴿協(xié)會(huì)的肯定,同時(shí)產(chǎn)生了較大的社會(huì)效益和經(jīng)濟(jì)效益。