基于802.11b與安卓手機操控機器魚的研究
2 安卓手機模塊
首先介紹一下安卓平臺和socket通信原理。
Android是以Linux為核心的開放式手機操作平臺,系統(tǒng)架構(gòu)和其它操作系統(tǒng)一樣,采用了分層的架構(gòu)。從架構(gòu)圖看,Android分為四個層,從高層到低層分別是應(yīng)用程序?qū)?、?yīng)用程序框架層、系統(tǒng)運行庫層和Linux核心層。目前Android已經(jīng)允許開發(fā)者使用多種編程語言來開發(fā)Android應(yīng)用程序,而不再是以前只能使用Java開發(fā)Android應(yīng)用程序的單一局而,因而受到眾多開發(fā)者的歡迎,成為真正意義上的開放式操作系統(tǒng),被大多數(shù)的開發(fā)者視為最有潛力的手機操作系統(tǒng)。
Socket簡稱套接字,用于實現(xiàn)網(wǎng)絡(luò)上客戶和服務(wù)器之間的連接,也就是說網(wǎng)絡(luò)上兩個或兩個以上雙工方式通信的進程之間總有一個連接,這個連接的端點稱為套接字(見圖2)。套接字相當于由其名字連接起來的通信線路的端點,這種連接不僅適用于本地進程之間的通信,而且也適用于異地進程之間的通信。用套接字連接的兩個進程可雙向通信,且兩通信端點的工作方式是不同的,一端工作于服務(wù)方,另一端工作于客戶方。本文引用地址:http://www.biyoush.com/article/170998.htm
手機模塊作為客戶端,主要完成人機信息的交換、控制命令的發(fā)出以及返回信息的接收。首先在安卓平臺的應(yīng)用層編寫上位機程序,創(chuàng)建操作界面,以實現(xiàn)人機信息的交換并把控制指令轉(zhuǎn)化為數(shù)據(jù)幀,然后Socket再把數(shù)據(jù)幀以數(shù)據(jù)流的形式傳送給傳輸層繼而傳送給網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層,最后數(shù)據(jù)流傳送至物理層由手機Wi—Fi模塊發(fā)送出去,實現(xiàn)信息的發(fā)送。以下是socket通信的部分程序:
評論