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

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

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