馬海舟
摘要:時(shí)代不斷進(jìn)步,網(wǎng)絡(luò)也在更新,目前已經(jīng)推進(jìn)了物聯(lián)網(wǎng)的建設(shè)。5G時(shí)代已經(jīng)到來會(huì)實(shí)現(xiàn)一個(gè)萬物互聯(lián)的狀態(tài),每一個(gè)物體之間都有著聯(lián)系,物聯(lián)網(wǎng)技術(shù)將所有的設(shè)備之間都建立連接關(guān)系。在實(shí)現(xiàn)這一目的之前進(jìn)行跨平臺(tái)數(shù)據(jù)通信,實(shí)現(xiàn)數(shù)據(jù)的共享。為了解決這一問題設(shè)計(jì)相關(guān)方案模擬安防監(jiān)測(cè)系統(tǒng)進(jìn)行移動(dòng)端通信。采用先進(jìn)技術(shù)優(yōu)勢(shì)實(shí)現(xiàn)平臺(tái)之間的數(shù)據(jù)通信,通過UDP協(xié)議規(guī)范雙方行為,檢測(cè)火焰、煙霧、紅外對(duì)射的信號(hào)。同時(shí)將其發(fā)送給桌面端及時(shí)掌握移動(dòng)端信號(hào)的狀態(tài)。
關(guān)鍵詞: 物聯(lián)網(wǎng) 跨平臺(tái)數(shù)據(jù)通信
引言:最近今年物聯(lián)網(wǎng)技術(shù)不斷發(fā)展,很多都實(shí)現(xiàn)了智能化,智能醫(yī)療、智能家居、智能交通的出現(xiàn),這些都對(duì)于人們生活有了很大的便利。物聯(lián)網(wǎng)與我們的生活息息相關(guān),實(shí)現(xiàn)了智能化的目標(biāo),隨著5G網(wǎng)絡(luò)的時(shí)代在通信之上也為人民實(shí)現(xiàn)交流提供了有效的平臺(tái),實(shí)現(xiàn)了萬物互聯(lián)??缙脚_(tái)上進(jìn)行資源數(shù)據(jù)的共享實(shí)現(xiàn)通信物聯(lián)網(wǎng)。應(yīng)用程序支持多種平臺(tái)的使用,能夠在桌面端和移動(dòng)端之間建立聯(lián)系實(shí)現(xiàn)通信。Android是物聯(lián)網(wǎng)移動(dòng)端主流語言的主體,會(huì)采用socket通信技術(shù),這樣保障了平臺(tái)之間和不同進(jìn)程之間的通信。從PC端和Android手機(jī)端通過有線或者是無線網(wǎng)絡(luò)的連接下實(shí)現(xiàn)通信。
一、實(shí)現(xiàn)通信的關(guān)鍵技術(shù)
1.Socket通信原理
Socket含義是插座,主要是負(fù)責(zé)IP地址和端口的描述,可以實(shí)現(xiàn)不同系統(tǒng)之間的通信。在網(wǎng)絡(luò)當(dāng)中應(yīng)用程序通過socket發(fā)出請(qǐng)求,或者是答應(yīng)請(qǐng)求。socket采用的是客戶端或者是服務(wù)端的模式,在進(jìn)行連接時(shí)總共分為三步,第一步是服務(wù)器監(jiān)聽。負(fù)責(zé)了解網(wǎng)絡(luò)實(shí)時(shí)運(yùn)行的狀態(tài),等待連接。第二是客戶端請(qǐng)求。由客戶端來向socket提出連接。主要連接的是服務(wù)器端的socket。第三是連接確認(rèn),當(dāng)服務(wù)器端收到連接請(qǐng)求之后,會(huì)激活進(jìn)程來處理這一請(qǐng)求,兩端連接之上方可進(jìn)行傳輸數(shù)據(jù)。此時(shí)服務(wù)器的socket就負(fù)責(zé)監(jiān)聽,或者是接受其他客戶之間的連接請(qǐng)求,從而實(shí)現(xiàn)數(shù)據(jù)的有效傳輸。它有兩種操作模式可以進(jìn)行。面向連接服務(wù)和無連接服務(wù)。在進(jìn)行面向連接時(shí),發(fā)送數(shù)據(jù)之前與對(duì)方之間達(dá)成協(xié)議建立連接關(guān)系才可以進(jìn)行數(shù)據(jù)的傳送,傳輸時(shí)按照TCP協(xié)議進(jìn)行。連接過程應(yīng)執(zhí)行三次握手的方式,另一種方式是無連接,它要求具備可靠性。但是在操作時(shí)所遵守的協(xié)議是UDP協(xié)議,不需要建立連接關(guān)系就可以傳輸數(shù)據(jù)。不管對(duì)方何種狀態(tài)可以直接發(fā)送數(shù)據(jù),對(duì)于應(yīng)用的要求較低,不需要具備很高的可靠性,但是它的通信效率卻很高。
2.Socket編程
在C語言當(dāng)中具備很大功能,使得套接字編程變得簡(jiǎn)單,在命名空間當(dāng)中支持套接字的進(jìn)行應(yīng)用。程序會(huì)使用傳輸控制的協(xié)議。在這些協(xié)議上都是建立在socket基礎(chǔ)之上的,主要是負(fù)責(zé)數(shù)據(jù)傳輸當(dāng)中的一些細(xì)節(jié)問題。在網(wǎng)絡(luò)通訊當(dāng)中傳輸數(shù)據(jù)時(shí)應(yīng)注重?cái)?shù)據(jù)的形式,主要是通過將數(shù)據(jù)進(jìn)行轉(zhuǎn)化,命名空間也要實(shí)現(xiàn)字符串和字節(jié)數(shù)組的轉(zhuǎn)換。
3.Android中的socket編程
Android編程所使用的語言是Java語言,在安卓平臺(tái)之上,這一語言都適用,但是安卓平臺(tái)也有著獨(dú)特性。在socket編程當(dāng)中會(huì)采用客戶端或者是服務(wù)器端的這一模式。要求服務(wù)器具備固定的IP地址,只有這樣才能夠準(zhǔn)確有效的接收客戶的要求。運(yùn)營(yíng)公司負(fù)責(zé)分配手機(jī)端的IP地址。在安卓端基本上運(yùn)行的都是客戶端的相關(guān)程序。Java包括與網(wǎng)絡(luò)通信之間相關(guān)的類,不同的類有不同的地址。通過該列可以獲取IP地址和主機(jī)地址的信息。ServerSocket是通過指定的端口來監(jiān)聽需求,與套接字之間建立連接去傳輸數(shù)據(jù)。在Socket類所表示的是客戶端的套接字是向服務(wù)器發(fā)送請(qǐng)求建立連接之后來實(shí)現(xiàn)數(shù)據(jù)的傳輸。
二、系統(tǒng)設(shè)計(jì)
1.總體設(shè)計(jì)
在物聯(lián)網(wǎng)技術(shù)當(dāng)中實(shí)現(xiàn)跨平臺(tái)數(shù)據(jù)通信,在測(cè)試時(shí)模擬辦公樓安防監(jiān)控系統(tǒng)設(shè)置一個(gè)桌面端和安卓移動(dòng)端的模型。當(dāng)啟動(dòng)系統(tǒng)之后桌面端會(huì)接收到移動(dòng)終端發(fā)送的信號(hào),同時(shí)將這些信號(hào)的狀態(tài)在界面上展示出來,主要獲取到的是火焰、煙霧和紅外對(duì)射的信號(hào),通過網(wǎng)絡(luò)攝像機(jī)去監(jiān)控和記錄移動(dòng)端,使用數(shù)字量采集器來采集這些信號(hào),同時(shí)也控制了照明燈和報(bào)警燈,通過網(wǎng)絡(luò)攝像機(jī)及時(shí)獲取相應(yīng)圖像,在網(wǎng)絡(luò)之上呈現(xiàn)出拓?fù)鋱D。在系統(tǒng)之間會(huì)采用UDP協(xié)議來實(shí)現(xiàn)通信,所謂UDP是用戶數(shù)據(jù)報(bào)協(xié)議。在互聯(lián)網(wǎng)模型當(dāng)中位于傳輸層實(shí)現(xiàn)無連接,對(duì)可靠性要求較低,其效率很高。在TCP協(xié)議下,不需要進(jìn)行三次握手就可以建立連接,也不需要對(duì)連接進(jìn)行維護(hù),因此會(huì)節(jié)省資源,處理速度也比較快,這是它的優(yōu)點(diǎn)。
2.桌面端設(shè)計(jì)
桌面端有特定的開發(fā)環(huán)境,應(yīng)采用規(guī)定的編程語言通過框架來實(shí)現(xiàn)開發(fā)。所使用的框架是WPF為其提供了統(tǒng)一的模型語言和框架,能夠?qū)⒃O(shè)計(jì)界面和工作開發(fā)分離進(jìn)行桌面端,接收到的移動(dòng)終端會(huì)通過這些信號(hào)的狀態(tài)并且在界面之上顯示狀態(tài)。桌面端應(yīng)用程序創(chuàng)建對(duì)象,將其固定到端口上,通過建立線程來監(jiān)聽數(shù)據(jù)。在接收這些數(shù)據(jù)時(shí),會(huì)獲取返回移動(dòng)端發(fā)送的數(shù)據(jù)報(bào),更新界面上的元素,及時(shí)了解紅外對(duì)射、火焰、煙霧的具體狀態(tài),采用桌面端關(guān)鍵代碼。
3.Android移動(dòng)端設(shè)計(jì)
移動(dòng)端開發(fā)時(shí)會(huì)采用特殊程序。移動(dòng)端的應(yīng)用程序采用數(shù)字量采集器獲取信號(hào)的狀態(tài),同時(shí)在電腦界面上顯示出來。將這些采集到的信息傳輸?shù)浇缑娼K端上。當(dāng)桌面端檢測(cè)到火焰、煙霧信號(hào)時(shí)亮起報(bào)警燈,如果還使用了入侵報(bào)警的功能,當(dāng)檢測(cè)到紅外對(duì)射信號(hào)時(shí)也會(huì)亮起報(bào)警燈。移動(dòng)端應(yīng)用程序會(huì)建立實(shí)例對(duì)象,同時(shí)也會(huì)與其建立相應(yīng)的服務(wù)。指定發(fā)送的遠(yuǎn)端地址和端口號(hào)之后,創(chuàng)建實(shí)例對(duì)象,將這些信號(hào)進(jìn)行打包發(fā)送,發(fā)送完成之后關(guān)閉socket服務(wù),這就是一系列的數(shù)據(jù)交互。
結(jié)束語:物聯(lián)網(wǎng)技術(shù)不斷發(fā)展,已經(jīng)在逐步實(shí)現(xiàn)跨平臺(tái)移動(dòng)通信,便于數(shù)據(jù)的連接。目前已經(jīng)開始初步的探索,通過使用協(xié)議來實(shí)現(xiàn)兩端設(shè)備的連通。接收信號(hào)在界面上顯示不同的類型有不同的方式,不斷加大探索盡可能的擴(kuò)大物聯(lián)網(wǎng)的應(yīng)用領(lǐng)域,充分實(shí)現(xiàn)跨平臺(tái)數(shù)據(jù)通信,發(fā)揮它的作用。
參考文獻(xiàn):
[1]司琴. 面向物聯(lián)網(wǎng)應(yīng)用的大數(shù)據(jù)平臺(tái)研究[D].杭州電子科技大學(xué),2019.
[2]黎芳萍. 面向物聯(lián)網(wǎng)的跨平臺(tái)移動(dòng)應(yīng)用設(shè)計(jì)與實(shí)現(xiàn)[D].海南大學(xué),2017.
[3]聶云. 基于Android的WoT物聯(lián)網(wǎng)商城終端應(yīng)用的設(shè)計(jì)與開發(fā)[D].北京郵電大學(xué),2014.