□ 趙巾幗 盧思慧
鴿贏家系統(tǒng)是建立在android平臺基礎(chǔ)上,采用socket和http協(xié)議進行網(wǎng)絡(luò)連接,在wifi局域網(wǎng)獲取鴿子和會員信息,實時統(tǒng)計鴿社中的鴿子歸返信息,并及時發(fā)送給鴿社相應(yīng)的會員們,使得即使身在外地的用戶,也能夠及時、輕松地掌握自己的愛鴿信息。本系統(tǒng)實現(xiàn)了免等鳥、歸返信息查詢、上傳歸返信息、刪除歸返信息等功能。
(一)系統(tǒng)主要應(yīng)用工具及技術(shù)。使用的工具和模擬軟件主要有:chuankou、PL-2303 Driver、TCPUDPDebug、SerialDebug、androidEclipse、門禁環(huán)等。主要技術(shù)有:SQLite數(shù)據(jù)存儲、scoket、自動連接單片機發(fā)射的wifi信號、GPRS、單片機熱點、通信協(xié)議技術(shù)、數(shù)據(jù)庫傳送、TTS、android圖形化界面設(shè)計、側(cè)滑動、滑動刷新數(shù)據(jù)、MVC、日志、自定義菜單等。
(二)主要設(shè)計思路。每個鴿子腳上綁定一個卡片,在鴿舍門口安放一個接收踏板和一個wifi熱點,當(dāng)綁有卡片的鴿子落到踏板上時,踏板自動將接收到的卡片編號通過熱點以預(yù)先設(shè)定的協(xié)議傳送到指定的手機上。若接收設(shè)備不在當(dāng)前熱點的服務(wù)區(qū),則按預(yù)先設(shè)定的頻率,自動重復(fù)發(fā)送直到接收到接收設(shè)備回送回來的接收成功的指令。信息接收設(shè)備(安裝了指定的應(yīng)用軟件的android手機)開啟應(yīng)用程序后,自動定位并自動搜索預(yù)先設(shè)點的wifi熱點,當(dāng)發(fā)現(xiàn)自定的wifi熱點時,優(yōu)先連接指定的wifi熱點,并自動接收熱點發(fā)送過來的信息。
當(dāng)接收設(shè)備接收到指定wifi熱點傳入的信息后,首先根據(jù)設(shè)定的傳輸協(xié)議,校驗接收到的信息的合法性,如果數(shù)據(jù)符合要求,則自動存入數(shù)據(jù)庫并語音提示用戶接收到回鴿信息,以便用戶進行相應(yīng)的操作。如查看已回鴿信息、查詢未回鴿子的信息、清空已有數(shù)據(jù)、更換接收手機等還可以將數(shù)據(jù)上傳備份到遠程服務(wù)器。其設(shè)計思路圖如圖1所示。

圖1 設(shè)計思路圖
(三)接口設(shè)計。
1.用戶接口。系統(tǒng)用戶接口采用圖形化接口,通過觸摸屏調(diào)用窗口、圖標(biāo)、菜單以及對話框?qū)崿F(xiàn)可視化操作。針對wifi、GPRS、GPS詳細(xì)查看:屏幕向右側(cè)滑查看狀態(tài)的連接情況。針對免等鳥狀態(tài)設(shè)置:通過點擊免等鳥狀態(tài)設(shè)置按鈕實現(xiàn)免等鳥是否啟動。針對歸還詳細(xì)信息查看:單擊歸還列表數(shù)據(jù)某條數(shù)據(jù)顯示詳細(xì)信息。計時:查看歸還信息。上傳:上傳所有歸還信息至服務(wù)器。清除:清除所有歸還信息。分頁:在歸還詳情中點擊查看上下條、最上最下條。
2.外部接口。系統(tǒng)連接的外部接口:手說TTS,為本系統(tǒng)提供了語音播報功能。以單片機模擬踏板,引入發(fā)送歸返數(shù)據(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后臺接收歸還信息。BroadcastReceiver接口:用于數(shù)據(jù)的傳遞。
(四)數(shù)據(jù)庫設(shè)計。由于本系統(tǒng)是基于Android平臺,因此數(shù)據(jù)庫使用應(yīng)用自帶SQLite,從而避免了數(shù)據(jù)庫系統(tǒng)的安裝。系統(tǒng)數(shù)據(jù)庫主要包含兩個數(shù)據(jù)表:“基本數(shù)據(jù)(Base)”表和“歸返信息(SCORE)”表。其中“基本數(shù)據(jù)”表是用來存儲信鴿有關(guān)信息的,包括信鴿編號(Bid),鴿會代號(Cub),會員代號(Man),機臺序號(Ser),控制序號(Get),使用模式(Mod),報鴿門號(Pow),測試門號(Sms)。而“歸返信息”表是用來記錄信鴿歸返情況的,包括序號(No),鴿號(Bno),歸返日期(Dat),歸返時間(Bck),電子腳環(huán)(Rng),免等鳥(Wat),東經(jīng)(Est),北緯(Nth),接收時間(Wif),上傳時間(Htp)。
(五)程序?qū)崿F(xiàn)過程。
1.系統(tǒng)功能設(shè)計。本系統(tǒng)主要功能設(shè)計為七大部分。免等鳥:設(shè)定愛鴿歸返回時自動發(fā)送簡訊內(nèi)容;發(fā)門號:設(shè)定免等鳥發(fā)送簡訊門號;測簡訊:測試免等鳥發(fā)送簡訊是否正常;配對:將要記錄的愛鴿在本機做電子環(huán)及鴿子之配對;校時:校正本機之日期和時間;設(shè)換日:假定是否要換日,自動清除訓(xùn)練記錄;燒碼:隨機贈送10顆活動環(huán),可以拷在未參賽之愛鴿腳,因此提供電子腳環(huán)燒錄功能。
2.?dāng)?shù)據(jù)處理流程。第一步wifi接收數(shù)據(jù):背景方式接收,以不能漏接SCORE數(shù)據(jù)為最高要求。第二步更新SCORE劃面,按時間順序反向顯示,如果筆數(shù)超過劃面,出現(xiàn)滾動條,用戶可用上下滑動顯示。第三步上傳網(wǎng)站,每30秒檢查是否已有新數(shù)據(jù),如有以HTTP格式上傳到指定網(wǎng)站。
3.?dāng)?shù)據(jù)顯示功能。開機時,取出SQLite數(shù)據(jù)庫當(dāng)天日期之?dāng)?shù)據(jù),如果沒有當(dāng)天之日期,則為空白;如有,按時間反向排列之。wifi熱點連網(wǎng),wifi事先已設(shè)定好連接之wifi主機名稱,上電后自動連接之,之后顯示wifi狀況。3G互聯(lián)網(wǎng)絡(luò),透過3G連上互聯(lián)網(wǎng)以HTTP://模式聯(lián)結(jié)到指定網(wǎng)站之后顯示GPRS狀況。GPS,每1分鐘取一次GPS狀況,顯示并更新變量,透過wifi將GPS變量傳給主機。
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?如已存在不理之,然后用語音報出后2碼;若不存在,則需要輸入相關(guān)信息,然后取出GPS變量存入SQLITE數(shù)據(jù)庫。其中CLUB=組群,0000~9999;MAN=會員,001~9999(未滿4位后面補空格);NNN=第幾只,001~999;BNO=鴿號6位,一定6位;RNG=電子腳環(huán),一定10位;DAT=報鴿日期,YYMMDD;BCK=報鴿時間,HHMMSS;SMS_MUST=是否需要回報,Y或N。
5.網(wǎng)絡(luò)接口功能。提供HTTP://網(wǎng)站接口程序,其主要代碼如下:

(六)運行控制。單片機的啟動(PC機模擬):在XP環(huán)境下,連接電源,打開開關(guān),自動發(fā)射wifi,安裝串口助手并啟動;在WIN7環(huán)境中,安裝虛擬串口,連接電源,打開開關(guān),自動發(fā)射wifi,安裝串口助手并啟動。wifi的啟動:自動進入系統(tǒng)設(shè)置,打開wifi連接并接入單片機的wifi信號。GPRS啟動:提示開啟GPRS時,點擊是開啟,否則不開啟。
基于Android平臺的鴿贏家系統(tǒng),具有多網(wǎng)絡(luò)數(shù)據(jù)傳輸,多平臺數(shù)據(jù)共享,性能優(yōu)化,占用資源少,兼容性強,簡單且易于使用等特點,受到了各信鴿協(xié)會的肯定,同時產(chǎn)生了較大的社會效益和經(jīng)濟效益。