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

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于LabVIEW的智能家居報警系統(tǒng)

          基于LabVIEW的智能家居報警系統(tǒng)

          作者: 時間:2016-12-27 來源:網(wǎng)絡(luò) 收藏
          昨天晚上,幫師弟用LabVIEW做了一個智能家居報警系統(tǒng)的上位機軟件,挺好玩的,雖然功能不多、結(jié)構(gòu)也簡單,但是,所用到的技術(shù)對于學(xué)習(xí)LabVIEW的人來說很重要。

          首先,貼出前面板的圖片來。單片機向上位機發(fā)送的幀格式為:0x0A+3字節(jié)的溫度數(shù)據(jù)+0x0B+4字節(jié)的煙霧濃度數(shù)據(jù)+0x0C+1字節(jié)的開關(guān)門信號(總共11個字節(jié)),發(fā)送的波特率為9600,發(fā)送周期為200ms。上位機采集軟件每隔10ms(就是前面板上的隊列循環(huán)周期)從串口緩存區(qū)里讀取11個字節(jié)的數(shù)據(jù),然后將其進(jìn)行解析和顯示。

          本文引用地址:http://www.ex-cimer.com/article/201612/334160.htm

          圖1 軟件的前面板截圖

          然后,再把程序框圖一一給大家亮出來。

          圖2 串口配置和串口收/發(fā)的程序圖

          如圖2所示,VISA每隔10ms從串口緩存區(qū)讀取11個字節(jié)的數(shù)據(jù),然后將數(shù)據(jù)送入串口接收數(shù)據(jù)隊列中。這里采用的是生產(chǎn)者-消費者模型的循環(huán)結(jié)構(gòu),讀串口采用的是生產(chǎn)者循環(huán)結(jié)構(gòu),解析數(shù)據(jù)采用的是消費者循環(huán)結(jié)構(gòu)。

          圖3 數(shù)據(jù)解析和數(shù)據(jù)顯示部分的程序圖

          如圖3所示,消費者循環(huán)用于解析數(shù)據(jù),根據(jù)0x0A、0x0B、0x0C三個屬性字節(jié)分別對溫度值、煙霧濃度值以及開關(guān)門信號進(jìn)行解析和顯示,波形顯示采用的是波形圖表,溫度值可通過溫度計顯示,煙霧濃度可通過指針式儀表盤顯示,顯示效果直觀、大方。

          圖4 聲音報警部分的程序圖

          如圖4所示是聲音報警部分的程序圖,上半部分是溫度報警程序,報警聲音持續(xù)時間為2秒鐘,報警聲頻率為3KHz;下半部分是煙霧濃度報警程序,報警聲音持續(xù)時間為1秒鐘,報警聲頻率為1KHz。由于聲音報警持續(xù)的時間為1~2秒鐘,如果將報警程序放在解析數(shù)據(jù)的那個大循環(huán)里,則會導(dǎo)致大循環(huán)的執(zhí)行被延遲1~2秒鐘,因此,必須將報警程序提出來單獨寫,從而使之變成了兩個獨立運行的線程。

          以上就是對本軟件的介紹,本軟件依然存在一些小BUG,比如說:有時候第一次啟動這個軟件后,串口讀到的數(shù)據(jù)幀并不是0x0A+3字節(jié)的溫度數(shù)據(jù)+0x0B+4字節(jié)的煙霧濃度數(shù)據(jù)+0x0C+1字節(jié)的開關(guān)門信號,通過探針我看到的是1字節(jié)的開關(guān)門信號+0x0A+3字節(jié)的溫度數(shù)據(jù)+0x0B+4字節(jié)的煙霧濃度數(shù)據(jù)+0x0C,開關(guān)門信號跑到幀首去了,出現(xiàn)了斷幀的現(xiàn)象。這個結(jié)果是由設(shè)置串口每次讀取11個字節(jié)引起的,當(dāng)串口緩存區(qū)里的字節(jié)數(shù)大于11時就會出現(xiàn)這種結(jié)局,因此,需要在開啟軟件之后對串口緩存區(qū)進(jìn)行清除操作,并且要求讀串口的速率大于單片機發(fā)送數(shù)據(jù)的速率。



          關(guān)鍵詞: LabVIEW智能家居報警系

          評論


          技術(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); })();