• 
    

    
    

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

      基于Java的溫濕度自動控制系統(tǒng)的設(shè)計與仿真研究

      2021-06-28 11:07:34秦鵬珍
      山西電子技術(shù) 2021年3期
      關(guān)鍵詞:新大陸波特率自動控制

      秦鵬珍

      (山西機(jī)電職業(yè)技術(shù)學(xué)院,山西 長治 046011)

      0 前言

      隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,物聯(lián)網(wǎng)技術(shù)在人們的日常生活中也得到了廣泛的應(yīng)用,如智能家居、智能醫(yī)療、智能生產(chǎn)、智能環(huán)境、智能教學(xué)等[1]。山西作為能源大省、重工業(yè)基地,工業(yè)物聯(lián)網(wǎng)的建設(shè)與完善尤顯重要,而這方面的專業(yè)人才需求也非常緊迫。因此,為了能夠有效適應(yīng)山西工業(yè)市場人才需求,提高工業(yè)物聯(lián)網(wǎng)建設(shè)專業(yè)技能人才的培養(yǎng)質(zhì)量,本研究嘗試設(shè)計與構(gòu)建了一個符合真實應(yīng)用場景的工業(yè)物聯(lián)網(wǎng)實訓(xùn)項目——室內(nèi)外溫濕度的顯示以及室內(nèi)溫濕度的自動控制,并將其應(yīng)用到了實際的教學(xué)當(dāng)中,獲得了良好的教學(xué)效果。

      1 溫濕度自動控制物聯(lián)網(wǎng)搭建

      1.1 模塊的選取

      在溫濕度自動控制系統(tǒng)中需要準(zhǔn)備的硬件模塊如表1,主要包含溫濕度傳感器模塊及其數(shù)據(jù)獲取模塊ADAM4017,負(fù)載風(fēng)機(jī)、報警燈以及負(fù)載控制模塊ADAM4150和繼電器,此外還有電腦終端以及若干電線[2]。

      本文采用的實驗系統(tǒng)中溫濕度傳感器選擇:室內(nèi)采用新大陸型號為EL-FTW32的溫濕度傳感器,室外采用新大陸公司的RS-WS-DCB溫濕度傳感器。器件與器件之間的通信使用串口通信實現(xiàn)。

      表1 模塊的選取與模塊的功能簡介

      1.2 溫濕度自動控制物聯(lián)網(wǎng)搭建

      考慮到新大陸有物聯(lián)網(wǎng)仿真軟件,本文功能驗證方式為: 首先在新大陸物聯(lián)網(wǎng)仿真軟件進(jìn)行虛擬仿真,驗證通過之后再在硬件設(shè)備驗證。硬件連線以及仿真電路圖如圖1所示。由于仿真元件沒有風(fēng)機(jī),用風(fēng)扇取代,補光燈用白熾燈取代。

      圖1 仿真電路界面

      1.3 波特率的選擇

      傳感器型號不同,其傳輸波特率設(shè)置也各不相同[3],系統(tǒng)中采用ADAM4150控制執(zhí)行元件并通過ADAM4017讀取傳感器數(shù)據(jù),波特率選擇9600bps,如果要通過RS485總線讀取室外溫濕度傳感器數(shù)據(jù),則需要將波特率選擇為4800bps。

      1.4 ADAM4150、ADAM4017及室外溫濕度傳感器命令解讀

      為了實現(xiàn)對溫濕度傳感器數(shù)據(jù)的讀取以及對各負(fù)載的開關(guān)控制,編寫代碼時需要用到ADAM4150采集器各個端口的控制指令,以及ADAM4017數(shù)據(jù)讀取指令,本采集系統(tǒng)中,ADAM4150 各通道開關(guān)命令如表2所示,ADAM4017讀取傳感器數(shù)據(jù)的命令為02 03 00 00 00 08 44 3F,通過對獲取到的命令進(jìn)行解析以及依據(jù)相關(guān)設(shè)備的量程等數(shù)據(jù)量計算得出溫濕度傳感器數(shù)值,若要實現(xiàn)對室外溫度傳感器的讀取,則讀取傳感器數(shù)據(jù)命令為01 03 00 00 00 02 C4 0B。

      表2 ADAM4150 各通道開關(guān)命令

      2 程序代碼分析

      2.1 溫濕度獲取代碼實現(xiàn)

      本系統(tǒng)中在獲取溫濕度數(shù)據(jù)的同時將獲取到的數(shù)據(jù)存儲到相關(guān)數(shù)據(jù)表中,便于后續(xù)數(shù)據(jù)分析時使用。為了能夠?qū)崿F(xiàn)循環(huán)讀取溫濕度傳感器數(shù)據(jù),在系統(tǒng)中首先要實現(xiàn)線程代碼的編寫。ADAM4017類代碼主要部分如下:

      第一步:讀取傳感器數(shù)據(jù)

      public void run(){

      while (true){//因為數(shù)據(jù)的讀取是永遠(yuǎn)進(jìn)行著,所以這里循環(huán)采用條件永遠(yuǎn)為真。

      SerialPortManager.sendToPort(Data.OpenPort,Data.ADAM4017Command);

      SerialPortManager.addListener(Data.OpenPort, new SerialPortEventListener() {

      @Override

      public void serialEvent(SerialPortEvent serialPortEvent) {

      switch (serialPortEvent.getEventType()) {

      case SerialPortEvent.DATA_AVAILABLE:

      byte[] res = SerialPortManager.readFromPort(Data.OpenPort);

      String tempStr = ByteUtils.byteToHex(res[3]) + ByteUtils.byteToHex(res[4]);

      double tempValue = Integer.parseInt(tempStr, 16);

      }}}

      第二步:依據(jù)傳感器量程實現(xiàn)對讀取到數(shù)據(jù)的轉(zhuǎn)化

      double temp =tempValue*70/65535-10;

      String humiStr = ByteUtils.byteToHex(res[5]) + ByteUtils.byteToHex(res[6]);

      double humiValue = Integer.parseInt(humiStr, 16);

      double humi =humiValue*50/65535+50;

      DecimalFormat df = new DecimalFormat("00.0");

      第三步:將獲取到的數(shù)據(jù)存儲到數(shù)據(jù)表中

      sql = "INSERT INTO S4017DATA (TEMP,HUMI) VALUES ("+temp+","+humi+")";

      sqLiteJDBC.insert(sql);

      第四步:依據(jù)獲取到的實際溫濕度值與臨界溫濕度值進(jìn)行比較實現(xiàn)對系統(tǒng)的智能控制

      if(temp<15){

      SerialPortManager.sendToPort(Data.OpenPort,Data.DO3Open);

      SerialPortManager.sendToPort(Data.OpenPort,Data.DO0Close);

      }else if(temp>30){

      SerialPortManager.sendToPort(Data.OpenPort,Data.DO0Open);

      SerialPortManager.sendToPort(Data.OpenPort,Data.DO3Close);}

      if(humi<30){

      SerialPortManager.sendToPort(Data.OpenPort,Data.DO2Open);

      SerialPortManager.sendToPort(Data.OpenPort,Data.DO1Close);

      }else if(humi>60){

      SerialPortManager.sendToPort(Data.OpenPort,Data.DO1Open);

      SerialPortManager.sendToPort(Data.OpenPort,Data.DO2Close);}

      室外溫度傳感器數(shù)據(jù)的讀取和此類相近。

      2.2 窗口界面及數(shù)據(jù)顯示

      程序最終的執(zhí)行結(jié)果如圖2所示。為了便于學(xué)生理解,采用Java窗口展示為溫濕度自動控制的數(shù)據(jù)。圖3為本系統(tǒng)功能實現(xiàn)代碼編寫的總流程圖。值得說明的是由于代碼編寫以及數(shù)據(jù)獲取都采用的是新大陸仿真平臺,傳感器溫濕度采用隨機(jī)數(shù)據(jù),仿真環(huán)境中的燈泡并不能真正實現(xiàn)加溫的效果,風(fēng)扇仿真中也得不到降溫或除濕的效果。但是此虛擬仿真和真實的自動溫濕度控制原理以及實現(xiàn)步驟是一樣的,使用該代碼在真實實訓(xùn)平臺也一樣能夠?qū)崿F(xiàn)對系統(tǒng)的智能控制,在真實的自動溫濕度控制時是可以實現(xiàn)這個效果的。依據(jù)我們獲取以及存儲的溫濕度數(shù)據(jù),后期可以使用獲取到的數(shù)據(jù)圖、室內(nèi)或者室外溫濕度傳感器歷史變化曲線,依據(jù)此數(shù)據(jù)以及圖形,相關(guān)人員就可時進(jìn)行一定的數(shù)據(jù)分析,從而實現(xiàn)系統(tǒng)價值。

      圖2 溫濕度自動控制的窗口數(shù)據(jù)

      圖3 代碼的總流程圖

      3 結(jié)論

      基于Java的智能溫濕度控制仿真實訓(xùn)項目作為工業(yè)物聯(lián)網(wǎng)實訓(xùn)技能培訓(xùn)的典型案例之一,一方面可以強化學(xué)生的專業(yè)學(xué)習(xí)技能,提高專業(yè)人才培養(yǎng)質(zhì)量;另一方面,還能為教師提供一定的科研資源,并以此為平臺提高教師團(tuán)隊整體的科研水平和教學(xué)水平,為校企合作、產(chǎn)教融合的專業(yè)教學(xué)發(fā)展提供有力的保障。

      猜你喜歡
      新大陸波特率自動控制
      發(fā)現(xiàn)新大陸
      發(fā)現(xiàn)新大陸的貓
      簡易熱水器自動控制設(shè)計
      房地產(chǎn)的“新大陸”
      CAN 總線波特率自適應(yīng)程序設(shè)計
      智能制造(2020年5期)2020-07-03 06:24:00
      發(fā)現(xiàn)新大陸
      基于FPGA的異步串行通信波特率容錯設(shè)計
      電子測試(2018年7期)2018-05-16 06:27:18
      基于DCS自動控制循環(huán)水液面的改造
      電子測試(2018年6期)2018-05-09 07:31:47
      編組站停車器自動控制開通方案
      唐鋼熱軋1810線工藝潤滑改造自動控制的實現(xiàn)
      夏邑县| 绿春县| 永兴县| 景德镇市| 壤塘县| 含山县| 五峰| 濉溪县| 平罗县| 沅陵县| 宣化县| 泰和县| 类乌齐县| 广饶县| 丰城市| 碌曲县| 金门县| 永州市| 乌拉特后旗| 惠水县| 新晃| 昌乐县| 邛崃市| 张掖市| 察哈| 昌江| 邯郸县| 广灵县| 榆社县| 盘山县| 宁安市| 三门县| 寻乌县| 双江| 台南市| 海原县| 太白县| 石屏县| 若羌县| 元谋县| 昌宁县|