• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于ZigBee 和RS485 通信的智能家居控制系統(tǒng)

      2022-05-23 08:18:14
      智能物聯(lián)技術(shù) 2022年1期
      關(guān)鍵詞:應用層燈泡風扇

      任 靜

      (蘭州石化職業(yè)技術(shù)大學,甘肅 蘭州 730060)

      0 引言

      一個物聯(lián)網(wǎng)系統(tǒng)由感知層、傳輸層和應用層構(gòu)成。 感知層實現(xiàn)對物理世界的智能感知識別、信息采集處理和自動控制,并通過通信模塊將物理實體連接到網(wǎng)絡層和應用層。網(wǎng)絡層主要實現(xiàn)信息的傳遞、路由和控制,包括延伸網(wǎng)、接入網(wǎng)和核心網(wǎng),網(wǎng)絡層所需要的關(guān)鍵技術(shù)包括長距離有線和無線通信技術(shù)、網(wǎng)絡技術(shù)等。 應用層可以對感知層采集的數(shù)據(jù)進行計算、處理和知識挖掘,從而實現(xiàn)對物理世界的實時控制、精確管理和科學決策。 本文通過一個基于ZigBee 和RS485 通信的智能家居控制系統(tǒng),從硬件層搭建到應用層開發(fā),完整呈現(xiàn)了一個物聯(lián)網(wǎng)應用系統(tǒng),重點闡述了應用層開發(fā)程序設(shè)計。

      1 系統(tǒng)硬件設(shè)計

      本智能家居控制系統(tǒng)需要采集房間溫濕度信息、光照條件、火焰信息和廚房二氧化碳濃度。根據(jù)房間的溫度和光照條件,可以自動控制空調(diào)(用風扇代替)和燈光的開啟和關(guān)閉;當有火焰或二氧化碳濃度超標,報警燈會開啟。 光照和火焰采用無線傳感器,溫濕度和二氧化碳采用有線傳感器。 采用ZigBee 四輸入模擬量模塊來獲取二氧化碳和溫濕度傳感器數(shù)據(jù), 本文將ZigBee 四輸入模擬量模塊通過Newland 公司提供的程序燒寫成四模擬量獨立采集器。ZigBee 終端節(jié)點采集的傳感器數(shù)據(jù)傳輸給ZigBee 協(xié)調(diào)器, 再通過RS232 串口將數(shù)據(jù)傳輸給串口服務器,串口服務器通過網(wǎng)絡將數(shù)據(jù)傳輸給本地服務器,監(jiān)控界面能顯示采集的所有傳感器的實時數(shù)據(jù)。

      當溫度值和光照值分別超過設(shè)定的閾值時,需要自動開關(guān)風扇和燈泡(同時也需要能手動控制)。監(jiān)控軟件通過RS232 轉(zhuǎn)RS485 轉(zhuǎn)換器將控制命令送至ADAM4150 來實現(xiàn)風扇和燈泡的開關(guān)控制。

      在本系統(tǒng)的任務實現(xiàn)中,均采用了Newland 公司提供的硬件設(shè)備和設(shè)備驅(qū)動庫文件(DLL),具體的硬件設(shè)備連接如圖1 所示。

      2 系統(tǒng)組網(wǎng)

      本系統(tǒng)傳感器數(shù)據(jù)采用ZigBee 網(wǎng)絡傳輸,設(shè)備控制采用RS485 網(wǎng)絡。 ZigBee 終端節(jié)點和協(xié)調(diào)器需要燒寫Newland 公司提供的傳感器固件和協(xié)調(diào)器固件。 ZigBee 傳輸網(wǎng)絡需要有相同的通道號(Channel)和網(wǎng)絡ID(PAN ID),本文通過Newland公司提供的ZigBee 組網(wǎng)參數(shù)設(shè)置軟件進行Channel 和PAN ID 等參數(shù)的設(shè)置, 完成ZigBee 網(wǎng)絡的組建。 ZigBee 網(wǎng)絡具體參數(shù)設(shè)置如圖2 所示。

      RS485 網(wǎng)絡較簡單,ADAM4150 本身是一個RS485 設(shè)備, 只需要從ADAM4150 的DATA+和DATA-接入RS485 轉(zhuǎn)RS232 轉(zhuǎn)換器即可。

      3 監(jiān)控軟件設(shè)計和控制邏輯

      3.1 監(jiān)控軟件設(shè)計

      監(jiān)控軟件使用Eclipse 集成開發(fā)環(huán)境,布局文件使用JavaFX Scene Builder 完成。 系統(tǒng)數(shù)據(jù)監(jiān)控界面設(shè)計如圖3 所示,可實時監(jiān)控顯示各傳感器數(shù)據(jù),并且可以對風扇和燈泡進行自動和手動控制。

      3.2 控制邏輯分析

      當選擇好ADAM4150 以及ZigBee 串口和波特率以后,點擊開始采集按鈕,即可采集數(shù)據(jù)。因為本地服務器是通過網(wǎng)絡方式訪問串口服務器,所以本文選擇ADAM4150 串口和ZigBee 串口時需要用Newland 公司提供的USR-VCOM 軟件來虛擬串口。當處于手動模式時,可以手動開關(guān)風扇和燈泡;當處于自動模式時,需要設(shè)置溫度和光照的最大值和最小值。 由于ZigBee 網(wǎng)絡是自組網(wǎng)自動進行傳感器數(shù)據(jù)采集傳輸?shù)?,所以需要在串口添加一個監(jiān)聽器,完成對傳感器數(shù)據(jù)的收集和處理。

      4 系統(tǒng)功能實現(xiàn)

      建立JavaFX 工程,引入硬件驅(qū)動庫文件rxtx-Parallel.dll、rxtxSerial.dll, 加載庫文件RXTXcomm.jar、SerialPortLib.jar。

      4.1 串口的獲取和初始化

      在本系統(tǒng)中, 串口服務器即是一個串口-網(wǎng)絡轉(zhuǎn)換模塊,通過采用虛擬串口,將串口服務器的串口數(shù)據(jù)傳輸至本地服務器。 獲取串口和波特率初始化代碼如下:

      4.2 串口監(jiān)聽器以及數(shù)據(jù)處理

      在本系統(tǒng)中需要給ZigBee 協(xié)調(diào)器的串口數(shù)據(jù)添加一個監(jiān)聽器,以便及時接收處理協(xié)調(diào)器送過來的串口數(shù)據(jù)。

      首先定義一個實現(xiàn)串口事件監(jiān)聽接口類的Zigbeelistener 監(jiān)聽器類,并在主進程中使用以下代碼為ZigBee 串口添加該監(jiān)聽器,示例如下:

      在上述程序中,有這樣一段程序:

      在此有必要對此段程序做一解釋。 在JavaFx中, 如果在非Fx 線程要執(zhí)行Fx 線程相關(guān)的任務,必須在Platform.runlater 中執(zhí)行。 監(jiān)聽器因為需要一直重復循環(huán)去監(jiān)聽串口數(shù)據(jù),在一定意義上也是一個子線程。但是在子線程中去更新主進程中監(jiān)控界面上的控件數(shù)據(jù)時, 子進程不能直接訪問主進程,這時就需要用到Platform.runlater 函數(shù)。 一般代碼格式如下:

      4.3 RS485 通訊控制設(shè)備代碼設(shè)計

      在本系統(tǒng)中, 因為只需要通過ADAM4150 來控制風扇和燈泡, 所以只需要向ADAM4150 發(fā)出設(shè)備控制指令即可。ADAM4150 通過繼電器控制設(shè)備的指令格式如表1 和表2 所示。

      表1 ADAM4150 開啟設(shè)備控制指令格式Table 1 Adam4150 open device control command format

      表2 ADAM4150 關(guān)閉設(shè)備控制指令格式Table 2 Adam4150 close device control command format

      本系統(tǒng)中, 因為風扇接在ADAM4150 的DO0上,所以開啟風扇的指令為:

      01 05 00 10 FF 00 8D FF

      關(guān)閉風扇的指令為:

      01 05 00 10 00 00 CC 0F

      控制燈泡開關(guān)和控制風扇開關(guān)的代碼類似,手動控制風扇開關(guān)的具體代碼如下所示:

      4.4 程序運行結(jié)果

      經(jīng)過驗證,運行程序后,監(jiān)控界面能正確實時地顯示各傳感器數(shù)據(jù)。 程序運行界面如圖4 所示。處于手動模式時,可以手動開關(guān)風扇和燈泡;處于自動模式時, 當實時溫度大于溫度最大閾值30℃時,風扇自動打開,當?shù)陀跍囟茸钚¢撝?0℃時,風扇自動關(guān)閉;當實時光照強度小于光照強度最小閾值1500lx 時,燈泡自動打開,當大于光照強度最大閾值10000lx 時,燈泡自動關(guān)閉。

      5 結(jié)語

      文本設(shè)計開發(fā)了一個基于ZigBee 和RS485 通信網(wǎng)絡的智能家居控制系統(tǒng), 重點闡述了基于JavaFX 的應用層代碼程序設(shè)計。 JavaFX 是Java 在編寫圖形界面程序的最新技術(shù),它是一個開源的下一代客戶端應用平臺, 適用于基于Java 構(gòu)建的桌面、移動端和嵌入式系統(tǒng),為開發(fā)豐富的客戶端應用提供了一個現(xiàn)代、 高效、 功能齊全的工具包。JavaFX Scene Builder 通過創(chuàng)建可直接用于JavaFX應用程序的用戶界面,縮小了設(shè)計師和開發(fā)人員之間的差距。

      猜你喜歡
      應用層燈泡風扇
      “燈泡”誕生記
      燈泡創(chuàng)意秀
      快樂語文(2021年36期)2022-01-18 05:48:54
      點亮小燈泡
      點亮小燈泡
      家教世界(2020年1期)2020-03-07 04:57:30
      電風扇
      故事大王(2017年4期)2017-05-08 07:53:40
      基于分級保護的OA系統(tǒng)應用層訪問控制研究
      基于智能手機控制風扇運行的實現(xiàn)
      新一代雙向互動電力線通信技術(shù)的應用層協(xié)議研究
      新蒙迪歐車冷卻風扇常高速運轉(zhuǎn)
      物聯(lián)網(wǎng)技術(shù)在信息機房制冷系統(tǒng)中的應用
      乃东县| 贵港市| 阿尔山市| 沙田区| 新源县| 金平| 安新县| 巴林左旗| 芜湖县| 舒兰市| 台州市| 安庆市| 海伦市| 夏津县| 浠水县| 十堰市| 新郑市| 临沂市| 于都县| 台州市| 台北县| 车险| 永昌县| 广水市| 临清市| 阿合奇县| 大化| 九龙坡区| 许昌市| 镇原县| 崇左市| 灵璧县| 和静县| 铜鼓县| 嘉定区| 亚东县| 固镇县| 泰安市| 会宁县| 宁阳县| 佛山市|