基于ARM的無線氣象數(shù)據(jù)通信系統(tǒng)設計
3.2 網(wǎng)絡通信程序設計
網(wǎng)絡傳輸是本設計的主要任務之一,將數(shù)據(jù)通信器接收的數(shù)據(jù)經(jīng)過Socket發(fā)送給遠程服務器。而Qt提供了QTcpSocket類,用于編寫TCP客戶端的應用程序。QTcpSocket類提供了一個有緩沖的TCP連接,可以用來實現(xiàn)其他標準協(xié)議也可以用來實現(xiàn)自定義的協(xié)議。OTcpSocket采用異步工作方式,它依靠Qt事件循環(huán)發(fā)現(xiàn)外來數(shù)據(jù)和向外發(fā)送數(shù)據(jù),并以信號的方式報告狀態(tài)的改變或產(chǎn)生的錯誤,一旦網(wǎng)絡的某一種狀態(tài)發(fā)生改變(如網(wǎng)絡斷開),就會發(fā)出信號(如connectionClosed()),再通過信號與槽函數(shù)相關聯(lián)進行處理。服務器設置界面如圖5所示。本文引用地址:http://m.ptau.cn/article/148802.htm
下面是網(wǎng)絡傳輸相應槽函數(shù):
4 結論
首次使用時,在系統(tǒng)設置界面對服務器地址、服務器端口、經(jīng)度、緯度、臺站號進行設置,在串口設置界面對串口的波特率、數(shù)據(jù)位、停止位等信息進行設置。設置完成后連接服務器并打開串口,在數(shù)據(jù)顯示界面將會實時動態(tài)顯示各傳感器節(jié)點發(fā)來的氣象數(shù)據(jù)。與服務器的連接狀態(tài)等信息在程序狀態(tài)欄會有相關提示,一旦與服務器斷開,系統(tǒng)將會自動連接服務器并將這段時間內(nèi)收到的數(shù)據(jù)保存起來等待連接成功后重新發(fā)送。
系統(tǒng)已經(jīng)完成制作調試,效果良好,可以成功地實現(xiàn)數(shù)據(jù)通信、處理、存儲、網(wǎng)絡連接以及網(wǎng)絡異常處理等功能。本系統(tǒng)低成本、無布線、可擴展性強等特點,在自動氣象站應用中具有廣泛的潛在市場和應用空間。
評論