崔靜 鹿鳴曉

摘 要:本文主要結合電子白板的交互方式和如今移動設備的普及設計了基于Android 手機和Wi-Fi Direct 的同步繪畫系統。我們在Wi-Fi Direct 環境下建立了一個沒有中心的P2P 覆蓋網絡結構,可以讓用戶設備在沒有熱點的情況下,隨時隨地的建立連接和通信。我們的通知類消息模塊和共享數據采用C/S 模式來傳遞,而一對一傳遞數據采用P2P 模式,并結合UDP協議,實現了設備之間的通信。
關鍵詞:電子白板;Wi-Fi Direct;Android;P2P
1主要技術介紹
Wi-Fi Direct 是由Wi-Fi Alliance 提出并定義的新的技術。它是新興的Wi-Fi無線連接技術,以Wi-Fi既有技術為基礎。提出的主要目的是為了創建一個基于傳統Wi-Fi 信號的P2P 形式的網絡而不需要Wi-Fi AP的存在。
Wi-Fi Direct 設備通過組建小組(以一對一或者一對多的拓撲形式)來建立連接,小組的工作形式和基礎設施BSS類似。由一部Wi-Fi Direct設備負責整個小組,包括控制哪部設備加入,小組何時啟動和終止等。這種設備對于傳統客戶設備來說就是一部接入點,能夠提供基礎設施接入點所提供的部分服務。
2系統總體設計
2.1 Wi-Fi Direct 網絡的建立
我們在Wi-Fi Direct 環境下建立了一個沒有中心的P2P 覆蓋網絡結構。如圖1所示:
GO 為這個網絡的管理者,它給新加入的節點提供初始配置,并接收和發送一些通知和提醒消息。而且此節點是這個Wi-Fi Direct 網絡的創建者,負責整個網絡的啟動和終止。
2.2 點的采集和保存
Android系統的視圖結構的設計也采用了組合模式,即View作為所有圖形的基類,ViewGroup對View繼承擴展為視圖容器類,由此就得到了視圖部分的基本結構——樹形結構。
我們首先自定義一個SketchPadView 來繼承View 視圖。我們就在自定義的視圖(類似白板,我們在以下稱為手機白板),繪制或者書寫我們想要表達的東西,畫筆會記錄我們的繪制過程。我們在此手機白板繪制圖形,這個白板就相當于一個畫布,我們用View 的touch event (ACTION_DOWN,ACTION_MOVE,ACTION_UP)來記錄描述整個繪制過程。我們利用貝塞爾曲線來準確繪制出我們的曲線。
由于我們需要在另外的手機同步顯示繪制過程,所以我們就要實施采集并傳輸我們的手指觸摸屏幕的坐標點。點的采集我們要下面的公式表示:Point = P ( X , Y , Signal ) (1)
當Signal = 0的時候,表示采集到的點為手剛觸摸屏幕的起始坐標點。當Signal = 1的時候,表示采集到的點為手在屏幕上滑動的移動坐標點。當Signal = 2的時候,表示采集到的點為手剛離開屏幕的結束坐標點。
3數據的發送與接收
3.1 按鍵控制類數據格式
在我們同步繪制開始之前,我們首先要同步各個手機白板的畫布背景,畫筆顏色,畫筆寬度,畫筆類型(畫筆或者橡皮擦)等。開始繪制過程中redo和undo 信息。以上這些信息我們統稱按鍵控制類數據。數據格式為如下表達式:Key = K(0,0,Singal ,BT ,CB ,BW ,BC ,RD ,UD );
BT表示畫筆類型,CB表示畫布背景,BW表示畫筆寬度,BC表示畫筆顏色,RD表示redo操作,UD表示UD操作。當我們按鍵選擇各個按鈕的時候,就會發送相應的指令,接收端根據指令類型來改變自己相應的繪制格式。
3.2 發送與接收數據流程
每一個支持Wi-Fi Direct 的移動設備都可以選擇當GO,每一個加入此網絡的設備都存在于這個覆蓋網絡之中。本系統沒有真正意義上的服務器,每一個在Wi-Fi Direct 覆蓋網絡之中的移動設備,都即可以提供繪圖數據,也可以接受繪圖信息。
手機接入Wi-Fi Direct 網絡之中,然后打開手機白板功能,這時候系統就相應的開啟倆個線程,一個接收線程和一個發送線程。當此時畫板沒有接收信息,只要我們開始在自己手機白板上繪制圖形,此時手機白板就把相應的坐標點和標志位的信息打包通過組播向在這個組播地址里的每一個成員發送這些坐標點集,其它手機根據得到的坐標點集,通過解析程序把得到的坐標點集,解析為可以讓繪圖程序識別的數據。然后通過繪圖程序在各自的手機白板上繪制此圖案。如果是一對一發送的話,就通過UDP的單播給指定的IP地址發送相應的數據包來實現。
參考文獻:
[1] 公磊,周聰.基于Android的移動終端應用程序開發與研究[J].計算機與現代化,2008(08).
[2] 毛懷新.電梯與自動扶梯技術檢驗[M].北京:學苑出版社,2001.
[3] 羅偉.Android平臺的即時通訊系統的研究與實現[D].碩士學位論文.湖南師范大學,2008.
[4] 孫衛琴.Java網絡編程精解[M].北京:電子工業出版社,2007.
[5] Wi-Fi Alliance,“Wi-Fi P2P Technical Specification version 1.1”,Oct,2010.
作者簡介:
崔靜(1990-),男,陜西榆林人,碩士,研究方向:計算機應用技術;鹿鳴曉,男,西北工業大學自動化學院,研究方向:信息安全。