999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Socket的Linux與Windows下WiFi模塊間通信的實現

2014-05-14 11:58:54王云亮王光林
網絡安全與數據管理 2014年2期
關鍵詞:嵌入式單片機系統

王云亮 ,王光林

(1.天津理工大學 天津市復雜系統控制理論及應用重點實驗室,天津300384;2.天津理工大學 自動化學院,天津300384)

現如今無線通信的方式越來越多,組網模式也千姿百態。一般研究同種操作系統下的Socket或WiFi通信的比較多,但在兩種系統開發環境下WiFi之間的通信研究卻并不多。眾所周知,Linux操作系統由于其系統源碼的自由和開放性,以及系統性能的穩定性,被廣泛用作服務器的操作系統。而Windows由于其友好的圖形界面和強大的編程環境,常被廣泛用作客服端的開發環境和操作系統[1]。因此,研究兩大操作系統的實時通信問題具有一定的現實意義。

本文主要研究嵌入式Linux下的ARM與Windows環境開發下的STC80C51單片機之間的無線通信問題,通過套接字編程由WiFi進行傳輸,成功實現了兩大開發環境下數據的無線傳輸,基本解決了兩者之間的通信問題。

1 Socket原理

Socket通常稱作 “套接字”,用于描述IP地址和端口,是一個通信鏈的句柄。在客戶端/服務器通信模型中,Socket是網絡通信的基本操作單元,一個Socket描述就是通信連接的一端,在一個網絡通信連接中,兩端通信程序應各有一個Socket對其進行描述,不同的進程通過各自的Socket發送和接收消息,從而實現了網絡通信[2-3]。

Linux Socket支持以下 3種常見的套接字類型:(1)流式Socket(SOCK_STREAM),一種最常用的套接字類型,可以保證數據傳輸的可靠性,不會出現數據丟失、破損或重復出現等差錯;(2)數據報 Socket(SOCK_DGRAM)是一種無連接和不可靠的雙工數據傳輸服務,數據通過獨立的報文進行傳輸,是無序的,并且不保證數據的可靠性和無重復性,適用于可靠性要求不高的一些場合;(3)原始 Socket(SOCK_RAW),這種類型的 Socket允許對底層協議(如IP或ICMP)直接訪問,它功能強大但使用不太方便,一般用于新協議的開發。

Socket的編程方法很多,但主要有兩種方式——面向連接的TCP協議方式和無連接的UDP協議方式。本文采用的是TCP協議方式。

2 通信平臺的搭建

本文研究的是兩個平臺的通信,服務器是內有嵌入式Linux操作系統的ARM開發板,客戶端是運行于Windows操作系統開發環境下的單片機。本文在實際研究中,服務器端選用ARM11系列的S3C6410為開發平臺,內部嵌入Linux2.6.28內核版本,目標代碼的編譯平臺選用裝有Ubuntu12.04操作系統的普通PC,它們通過交叉編譯和NFS掛載的方式實現了服務器端編譯平臺和運行平臺的正常運行;客戶端是在Windows XP系統開發環境下的帶有各種傳感器的51單片機。

為了實現二者之間的通信,WiFi模塊在此過程中起到樞紐的作用,因此通信兩端都有一個WiFi模塊。在服務器端的WiFi模塊選用的是Marvell 88w8686[4],它是一款低成本、低功耗、自帶數據鏈路層的WiFi協議棧,內部集成了兩個工作頻率為128 MHz的ARM7 Core,一個 Core負責網絡數據的處理,另一個Core負責處理RF方面的工作。該模塊通過SDIO接口與ARM開發板相連。

客戶端的WiFi模塊選用海凌科電子有限公司新推出的HLK-RM04模塊[5],是基于通用串行接口的符合網絡標準的低成本嵌入式模塊。通過該模塊,傳統的串口設備在不需要更改任何配置的情況下,即可通過Internet網絡傳輸自己的數據。模塊通過雙9針工頭串口線與單片機相連,功能結構圖如圖1所示,由于該模塊內置了TCP/IP協議棧,能夠實現用戶串口、以太網、無線網(WiFi)3個接口之間的轉換。

圖1 HLK-RM04模塊的功能結構圖

至此,整個系統的通信平臺的搭建已經完成,系統的整體結構功能框圖如圖2所示,從圖中可以看出WiFi模塊的組網模式。

3 通信過程的實現

本文以采集到的溫度值的傳輸來說明實現的過程。下面分別從服務器端和客戶端進行介紹。

圖2 系統的整體功能結構框圖

3.1 服務器端的實現

雖然在舉例中采用的是單一客戶端與服務器進行通信,但考慮到實際中往往會遇到多個客戶端連接服務器的情況,像常用的recv、send都是阻塞性函數,若資源沒有準備好,則調用該函數的進程將進入睡眠狀態,這樣就無法處理I/O多路復用的情況。鑒于此,使用select函數既可以實現非阻塞I/O或信號驅動I/O,還可以設置等待時間。服務器端實現的程序流程圖如圖3所示。

接下來對其中一些關鍵性的步驟進行闡述。

(1)建立 Socket

socketfd=socket(AF_INET,SOCK_STREAM,0);

圖3 服務器端的程序流程圖

AF_INET表示的是針對Internet的通信協議,允許在遠程主機之間通信;SOCK_STREAM表明使用的是TCP協議,這樣會提供按順序的、可靠的、雙向的、面向連接的比特流;0表示成功時返回文件描述符,失敗時返回-1,這樣通過errno即可知道出錯的詳細情況。

(2)綁定和監聽

它們都是成功時返回0,出錯時返回-1。

(3)調用select函數與客戶端連接

3.2 客戶端的實現

客戶端的實現實際上分兩部分進行:一是單片機通過DALLAS公司的DS18B20溫度傳感器將采集的數據傳送給串口;二是與之用串口線相連的 RM04模塊,通過 WiFi與服務器建立連接,具體實現的程序流程如圖4所示。

圖4 客戶端的程序流程圖

第一部分采集數據傳給串口的過程需要注意數據在發送的過程中應該把數據以ASCII形式發送,這樣服務器端才能以想要的十進制的形式顯示出來,其他的比較簡單,不再贅述。主要介紹第二部分中RM04模塊的配置。

(1)調到相應的端口,搜索到該模塊。

(2)以無線網卡的模式配置該模塊,選擇TCP客戶端模式,遠程端口的IP和端口號,無線局域網的名稱與密碼,本模塊的IP等,具體配置圖如圖5所示。

圖5 RM04模塊配置圖

(3)在命令窗口下 ping 192.168.1.120,如果 ping通,說明該模塊成功。

在Linux系統中進入開發板,先啟動服務器端,再運行客戶端程序,服務器端出現如圖6所示的結果。

圖6 服務器端的運行結果圖

通過圖6可以看出,客戶端與服務器端之間能夠正常通信,并能正確顯示出當前測量的溫度是27.35℃。該項研究主要針對總控制器與分節點之間的無線通信,對于需要這種模式通信的系統有很大的實際使用價值。

[1]Li Fei,Yuan Lin,Wang Zhihuo,et al.Realization of communication between Linux and Windows based on Socket[C].Proceedings of the 2010 International Conference on Information Technology and Scientific Management,2010.

[2]王遠洋,周淵平,郭煥麗.Linux下基于Socket多線程并發通信的實現[J].微計算機信息,2009,25(5-3):70-72.

[3]郭東升,田秀華.Linux環境下基于Socket的網絡通信[J].軟件導刊,2009,8(1):116-118.

[4]王云亮,李瑩.嵌入式安防遠程監控系統的設計[J].化工自動化及儀表,2013,40(2):237-240.

[5]深圳市海凌科電子有限公司.HLK-RM04應用手冊1串口轉以太網應用[K].2012.

猜你喜歡
嵌入式單片機系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
搭建基于Qt的嵌入式開發平臺
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
Microchip推出兩個全新PIC單片機系列
主站蜘蛛池模板: 青青草综合网| 2021天堂在线亚洲精品专区| 国产福利小视频在线播放观看| 久久国语对白| 国产日韩欧美成人| 国产成人高清精品免费软件| 日韩国产无码一区| 欧美性精品不卡在线观看| 亚洲 成人国产| 国产欧美精品专区一区二区| 999精品色在线观看| 激情网址在线观看| 色噜噜中文网| 狠狠色丁香婷婷综合| 欧美成一级| 国产欧美另类| 精品人妻AV区| 国产一区二区三区免费| 欧美日韩一区二区在线播放| 日本中文字幕久久网站| 久久综合九九亚洲一区| 美女裸体18禁网站| 亚洲欧美日韩成人在线| 欧美国产中文| 亚洲欧洲一区二区三区| 久久无码av一区二区三区| 午夜视频在线观看免费网站 | 日本草草视频在线观看| 在线欧美日韩国产| 中文字幕啪啪| 在线观看亚洲天堂| 欧美午夜在线视频| 一本综合久久| 国产日韩久久久久无码精品| 久久久久国产一级毛片高清板| 欧美国产三级| 欧美怡红院视频一区二区三区| 欧美福利在线播放| 一区二区午夜| 国产a v无码专区亚洲av| 伊人国产无码高清视频| 欧美在线精品怡红院| 又粗又大又爽又紧免费视频| 日韩少妇激情一区二区| 亚洲成人一区二区三区| 日本午夜视频在线观看| 国产精品区网红主播在线观看| 特级做a爰片毛片免费69| 三上悠亚精品二区在线观看| 中文字幕日韩久久综合影院| 草草影院国产第一页| 国产一二视频| 亚洲精品无码高潮喷水A| 福利姬国产精品一区在线| 重口调教一区二区视频| 国产9191精品免费观看| 一级在线毛片| JIZZ亚洲国产| a级毛片免费看| 日韩123欧美字幕| 91丝袜美腿高跟国产极品老师| 欧美成人一级| 国产精品3p视频| 国产探花在线视频| 青青青草国产| 色综合网址| 黄片在线永久| 亚洲欧美成人| 玩两个丰满老熟女久久网| 久久精品人人做人人| 欧美特黄一级大黄录像| 国产在线一区二区视频| 2018日日摸夜夜添狠狠躁| 精品中文字幕一区在线| 蜜臀av性久久久久蜜臀aⅴ麻豆| 国产福利大秀91| 欧美国产精品不卡在线观看 | 亚洲天堂视频在线观看免费| 亚洲丝袜第一页| 国产欧美在线| 国产aaaaa一级毛片| 亚洲精品va|