<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM-Linux的無線氣象數(shù)據(jù)通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

          基于ARM-Linux的無線氣象數(shù)據(jù)通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2013-04-19 來源:網(wǎng)絡(luò) 收藏

          3 軟件

          下位機(jī)軟件的核心是串口通信以及Socket通信。采用Qt4.5.0、Qt Creator 1.3.0作為器軟件的開發(fā)工具,主要包括數(shù)據(jù)接收顯示、存儲(chǔ)以及發(fā)送給遠(yuǎn)程服務(wù)器等功能。

          為了保證數(shù)據(jù)有效、高效、可靠地通信,該建立了如表1所示的數(shù)據(jù)幀格式。

          協(xié)調(diào)器每次給器發(fā)送10字節(jié)數(shù)據(jù),其中以“#”為起始符,緊跟4字節(jié)浮點(diǎn)數(shù),第6字節(jié)表示要素類型,第8和第9字節(jié)分別為CRC檢測(cè)的高位和低位,最后以“*”結(jié)束。CRC域是兩個(gè)字節(jié),它由協(xié)調(diào)器節(jié)點(diǎn)計(jì)算后加入到數(shù)據(jù)中,器對(duì)校驗(yàn)信息進(jìn)行檢查,若無錯(cuò)則接收該數(shù)據(jù),否則放棄該數(shù)據(jù)并請(qǐng)求重發(fā)。

          3.1 串口通信程序

          協(xié)調(diào)器通過串口與數(shù)據(jù)通信器進(jìn)行數(shù)據(jù)交互,所以在程序時(shí)需要對(duì)串口的波特率、數(shù)據(jù)位、奇偶校驗(yàn)、停止位以及數(shù)據(jù)流控制進(jìn)行設(shè)置,數(shù)據(jù)傳輸。通過任務(wù)接口定時(shí)讀寫串口數(shù)據(jù),查看協(xié)調(diào)器是否有數(shù)據(jù),并將數(shù)據(jù)存入隊(duì)列供界面顯示、存儲(chǔ)以及發(fā)送。串口設(shè)置界面如圖4所示。

          下面是串口設(shè)置的部分代碼:

          其中,getPortSettings()函數(shù)返回一個(gè)PortSettings型變量,包含了對(duì)波特率、數(shù)據(jù)位、停止位等的設(shè)置,getPortName()函數(shù)返回字符串型變量,用于串口號(hào)的設(shè)置。

          3.2 網(wǎng)絡(luò)通信程序設(shè)計(jì)

          網(wǎng)絡(luò)傳輸是本設(shè)計(jì)的主要任務(wù)之一,將數(shù)據(jù)通信器接收的數(shù)據(jù)經(jīng)過Socket發(fā)送給遠(yuǎn)程服務(wù)器。而Qt提供了QTcpSocket類,用于編寫TCP客戶端的應(yīng)用程序。QTcpSocket類提供了一個(gè)有緩沖的TCP連接,可以用來其他標(biāo)準(zhǔn)協(xié)議也可以用來自定義的協(xié)議。OTcpSocket采用異步工作方式,它依靠Qt事件循環(huán)發(fā)現(xiàn)外來數(shù)據(jù)和向外發(fā)送數(shù)據(jù),并以信號(hào)的方式報(bào)告狀態(tài)的改變或產(chǎn)生的錯(cuò)誤,一旦網(wǎng)絡(luò)的某一種狀態(tài)發(fā)生改變(如網(wǎng)絡(luò)斷開),就會(huì)發(fā)出信號(hào)(如connectionClosed()),再通過信號(hào)與槽函數(shù)相關(guān)聯(lián)進(jìn)行處理。服務(wù)器設(shè)置界面如圖5所示。

          下面是網(wǎng)絡(luò)傳輸相應(yīng)槽函數(shù):

          4 結(jié)論

          首次使用時(shí),在系統(tǒng)設(shè)置界面對(duì)服務(wù)器地址、服務(wù)器端口、經(jīng)度、緯度、臺(tái)站號(hào)進(jìn)行設(shè)置,在串口設(shè)置界面對(duì)串口的波特率、數(shù)據(jù)位、停止位等信息進(jìn)行設(shè)置。設(shè)置完成后連接服務(wù)器并打開串口,在數(shù)據(jù)顯示界面將會(huì)實(shí)時(shí)動(dòng)態(tài)顯示各傳感器節(jié)點(diǎn)發(fā)來的數(shù)據(jù)。與服務(wù)器的連接狀態(tài)等信息在程序狀態(tài)欄會(huì)有相關(guān)提示,一旦與服務(wù)器斷開,系統(tǒng)將會(huì)自動(dòng)連接服務(wù)器并將這段時(shí)間內(nèi)收到的數(shù)據(jù)保存起來等待連接成功后重新發(fā)送。

          系統(tǒng)已經(jīng)完成制作調(diào)試,效果良好,可以成功地實(shí)現(xiàn)數(shù)據(jù)通信、處理、存儲(chǔ)、網(wǎng)絡(luò)連接以及網(wǎng)絡(luò)異常處理等功能。本系統(tǒng)低成本、無布線、可擴(kuò)展性強(qiáng)等特點(diǎn),在自動(dòng)氣象站應(yīng)用中具有廣泛的潛在市場(chǎng)和應(yīng)用空間。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();