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