美章網 資料文庫 物聯網應用跨平臺數據通信研究范文

物聯網應用跨平臺數據通信研究范文

本站小編為你精心準備了物聯網應用跨平臺數據通信研究參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。

物聯網應用跨平臺數據通信研究

摘要:5G網絡的到來,將開啟“萬物互聯”時代。物聯網技術就是使各種設備都能接入網絡,需要實現跨平臺的數據通信。為了解決這一問題,模擬辦公樓安防監測系統,設計了一個桌面端和移動端通信的方案。該方案充分利用Socket技術優勢,采用UDP協議,實現了C#平臺和Android平臺的數據通信。移動端通過ADAM4150采集火焰、煙霧、紅外對射的信號狀態,并將采集的信號狀態發送給桌面端。桌面端編程語言是C#,采用WPF框架實現表現層開發,接收移動端通過網絡發送的信號狀態。

關鍵詞:物聯網;Socket編程;C#;Android

近幾年來,隨著物聯網技術的發展,智能醫療、智能交通、智能家居、智能物流以及智慧城市的研究和應用非常廣泛,物聯網正在悄然改變我們的生活,使人們的生活更加便捷和舒適[1]。5G網絡的到來,將開啟“萬物互聯”時代。物聯網技術就是使各種設備都能接入網絡,實現跨平臺數據通信。一般的物聯網應用程序都支持電腦、手機和平板等多種設備使用,需要實現桌面端和移動端的跨平臺通信。目前,C#已經成為開發物聯網桌面端的主流語言,而An⁃droid成為開發物聯網移動端的主流語言。標準的Socket通信技術可以實現任何平臺和任何進程之間的通信,在PC端和An⁃droid手機端通過有線或無線的連接情況下,實現兩端設備的Socket連通[2]。

1實現通信的關鍵技術

1.1Socket通信原理

Socket的英文原義是“孔”或“插座”,也被稱作“套接字”,用于描述IP地址和端口,是一個通信鏈的句柄,可以實現不同系統之間的通信[3]。在TCP/IP網絡中,應用程序通過“套接字”發出請求或應答請求,“套接字”采用客戶端/服務器端(Client/Server,C/S)模式。“套接字”之間的連接過程分為三個步驟:1)服務器監聽:服務器實時監聽網絡狀態,處于等待連接的狀態;2)客戶端請求:由客戶端“套接字”提出連接請求,連接的是服務器端的“套接字”;3)連接確認:當服務器端“套接字”監聽到客戶端“套接字”的連接請求后,它就激活一個新進程處理客戶端請求,兩端連接上后可進行數據傳輸的操作。而服務器“套接字”繼續處于監聽狀態,接受其他客戶端“套接字”的連接請求。Socket有兩種操作方式:面向連接和無連接的。面向連接的操作使用TCP協議,這種方式在正式發送數據前,必須和對方建立可靠的連接。一個TCP連接必須經過三次握手才能建立起來,TCP對應的是可靠性要求高的應用;而無連接的操作方式使用UDP協議,這種操作在正式通信前不必與對方先建立連接,不管對方狀態就直接發送數據。UDP對應的是可靠性要求低、通信效率高的應用。

1.2C#中的Socket編程

C#語言簡潔的語法和強大的功能使套接字編程變得十分簡單,在命名空間System.Net.Sockets中,Socket類提供了對套接字的支持[4]。應用程序通過TcpClient類和TcpListener類使用傳輸控制協議(TCP),通過UdpClient使用用戶數據文報協議(UDP),而TcpClient、TcpListener和UdpClient這些協議類都是建立在Socket類的基礎之上,負責數據傳輸的細節工作。網絡通訊中的所有數據都是以字節的形式進行傳輸的,因此必須把數據轉化為byte[]的類型。命名空間System.Text中的Encoding類,可以實現字符串和字節數組的相互轉換,而Sys⁃tem命名空間中的BitConverter類,則實現基礎數據類型與字節數組的相互轉換。

1.3Android中的Socket編程

Android編程使用的是Java語言,因此JavaSocket網絡編程在Android平臺都是適用的,但Android平臺也有其特殊性之處。Socket編程通常采用客戶端/服務器端(Client/Server,C/S)模式,服務器必須有一個固定的IP地址,才能接收客戶端的請求。而手機的IP地址是由運營公司動態分配的,所以Android端通常運行的是客戶端程序[5]。Java在包java.net中提供所有與網絡通信相關的類。其中,InetAddress類封裝了IP地址,利用該類可以獲取IP地址和主機地址等信息。ServerSocket類表示服務器套接字,通過指定的端口監聽請求,建立連接后進行數據交互。Socket類表示客戶端套接字,用于向服務器發出請求連接,連接建立后也可進行數據交互。

2系統設計

2.1總體設計

模擬辦公樓安防監測系統,設計一個桌面端和Android移動端通信的模型。系統啟動后,桌面端接收移動終端通過網絡發送的火焰、煙霧、紅外對射的信號狀態,并將各信號的狀態顯示在界面上,使用網絡攝像機實現視頻監控和記錄功能。移動端使用ADAM4150數字量采集器采集火焰、煙霧、紅外對射信號并實現對報警燈和照明燈的控制,使用網絡攝像機獲取實時圖像。系統有線信號拓撲圖如圖2所示。系統采用UDP協議進行跨平臺通信。UDP就是用戶數據報協議,處于互聯網參考模型的第四層-傳輸層,它是一種無連接不可靠的信息傳輸。相比于TCP協議,UDP協議少了三次握手建立連接、維護連接和釋放連接等一系列過程,因此具有很小的資源消耗和處理速度快的優點。

2.2C#桌面端設計

桌面端的開發環境為VisualStudio2012和SQLServer2008R2,編程語言為C#,使用WPF框架實現表現層開發。WPF提供了統一的編程模型、語言和框架,真正做到了界面設計與開發工作的分離[6]。桌面端接收移動終端通過網絡發送的火焰、煙霧、紅外對射的信號狀態,并將各信號的狀態顯示在界面上。樓宇安防系統主界面設計如圖3所示。桌面端應用程序,創建一個UdpClient對象,并將它綁定到端口號10000。創建一個線程,監聽數據。在接收數據線程中,首先調用Receive()方法返回遠程移動端發送的UDP數據報,然后解析UDP數據報,最后調用Dispatcher.Invoke()方法更新界面上的UI元素,如紅外對射、火焰、煙霧的狀態。以下是桌面端的關鍵代碼。

2.3Android移動端設計

Android移動端的開發環境為Eclipse4.2.2和AndroidSDK。移動端應用程序,使用ADAM4150數字量采集器實時采集火焰、煙霧、紅外對射信號狀態,并顯示在界面上,同時將采集到的信號狀態發送給桌面端。當檢測到火焰或煙霧時,亮起報警燈。如果啟用了“入侵報警”,當檢測到紅外對射信號,亮起報警燈。樓宇安防監測系統移動端界面設計如圖4所示。移動端應用程序,首先創建一個DatagramSocket實例對象建立Socket服務,調用connect()指定要發送的遠端IP地址和端口號;然后創建一個DatagramPacket實例對象,將要發送的紅外對射、火焰、煙霧的信號狀態打包到DatagramPacket中去;調用DatagramSocket中的Send()方法發送數據;最后關閉Socket服務。

3結語

為了解決物聯網應用系統中的跨平臺通信的問題,模擬辦公樓安防監測系統,設計了一個桌面端和Android移動端通信的模型,利用UDP協議,使用Socket接口實現兩端設備的連通。桌面端利用C#語言編寫應用程序,并且使用WPF框架實現表現層開發,可以接收移動端通過網絡發送的火焰、煙霧、紅外對射的信號狀態,并且將狀態顯示到界面上。而移動端通過AD⁃AM4150采集火焰、煙霧、紅外對射的信號狀態,即顯示在界面上,又將信號狀態發送到桌面端。另外本設計還可以應用到物聯網的其它應用領域。

參考文獻:

[1]王昊.基于工控機平臺智能家居系統設計與實現[D].山東:山東大學,2016.

[2]何誠,邵乾飛,袁浩,等.基于Socket實現Android(java)與C#的同步通信[J].無線互聯科技,2015(2):15-16.

[3]楊文珺,王志杰.C#物聯網應有程序開發[M].北京:機械工業出版社,2017.

[4]張凌曉,袁東鋒,劉克成.VisualC#2010程序設計[M].北京:中國鐵道出版社,2013.

[5]林志紅.AndroidSocket網絡編程體會[J].科學技術創新,2017(28):140-141.

[6]顧家銘.WPF在物聯網環境監測系統中的應用[J].電腦知識與技術,2018,14(17):287-288.

作者:顧家銘 單位:武漢軟件工程職業學院

主站蜘蛛池模板: 美女教师一级毛片| app草莓视频| 丁香婷婷亚洲六月综合色| 天天爽天天干天天操| 亚洲国产成人久久一区久久 | 亚洲国产精品嫩草影院久久| 青青青青啪视频在线观看| 国产精品成人va在线播放| a一级日本特黄aaa大片| 成人av在线一区二区三区| 久久免费看黄a级毛片| 李老汉的性生生活2| 国产成人 亚洲欧洲| www.激情小说.com| 我要看免费的毛片| 久久精品国产一区二区三区| 特级淫片国产免费高清视频| 品色堂永久免费| 1300部真实小u女视频在线| 成人在线免费视频| 亚洲国产人成在线观看| 清纯女神被老头耸动| 国产亚洲欧美在线| 欧美人与物videos另| 国产精品水嫩水嫩| 中文字幕伊人久久网| 日本老头变态xxxx| 亚欧色一区w666天堂| 欧美另类videosbestsex高清| 午夜精品久久久久久久99| **一级毛片免费完整视| 在线jyzzjyzz免费视频| 久久久久99精品成人片欧美| 日韩综合无码一区二区| 停不了的爱在线观看高清| 高清欧美一区二区免费影视| 国产麻豆天美果冻无码视频| a毛片在线看片免费| 小四郎在线观看| 久久综合狠狠综合久久综合88| 欧美乱人伦视频|