• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 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)中的應用
    庆安县| 镇江市| 新余市| 永德县| 清水河县| 五莲县| 商南县| 梨树县| 新乡县| 科技| 垣曲县| 炎陵县| 乌兰浩特市| 阿克陶县| 巴楚县| 右玉县| 江都市| 卢氏县| 岗巴县| 尼木县| 唐山市| 秦皇岛市| 肇源县| 东平县| 康保县| 准格尔旗| 新闻| 西华县| 德江县| 昭觉县| 英德市| 天峻县| 曲靖市| 边坝县| 平舆县| 台湾省| 合水县| 张家界市| 蒙山县| 石泉县| 民权县|