• 
    

    
    

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

      基于建筑智能化實(shí)訓(xùn)平臺(tái)和Android的環(huán)境監(jiān)測(cè)軟件設(shè)計(jì)①

      2024-02-26 04:15:00
      關(guān)鍵詞:報(bào)警器環(huán)境監(jiān)測(cè)實(shí)訓(xùn)

      劉 理

      (阜陽(yáng)職業(yè)技術(shù)學(xué)院城鄉(xiāng)建設(shè)學(xué)院,安徽 阜陽(yáng) 236031)

      0 引 言

      建筑智能化實(shí)訓(xùn)平臺(tái)是用于高職建筑類(lèi)專(zhuān)業(yè)實(shí)驗(yàn)實(shí)訓(xùn)教學(xué)的成套設(shè)備,包括“綜合布線(xiàn)系統(tǒng)”、“門(mén)禁系統(tǒng)”、“消防系統(tǒng)”、“視頻監(jiān)控系統(tǒng)”和“照明系統(tǒng)”等多個(gè)子系統(tǒng)[1-2]。在不同的子系統(tǒng)中,包含了對(duì)采集溫度、濕度、煙霧濃度、光照強(qiáng)度等環(huán)境監(jiān)測(cè)數(shù)據(jù)的需求。實(shí)訓(xùn)平臺(tái)中已存在相應(yīng)無(wú)線(xiàn)傳感器節(jié)點(diǎn),可以實(shí)現(xiàn)對(duì)所需環(huán)境指標(biāo)的實(shí)時(shí)監(jiān)測(cè),采集數(shù)據(jù)通過(guò)無(wú)線(xiàn)網(wǎng)絡(luò)傳輸后,由電腦端的控制軟件完成數(shù)據(jù)顯示和管理。

      設(shè)計(jì)基于上述條件,開(kāi)發(fā)應(yīng)用于Android系統(tǒng)的環(huán)境監(jiān)測(cè)軟件,結(jié)合WiFi模塊、ZigBee節(jié)點(diǎn)和網(wǎng)絡(luò)協(xié)調(diào)器等硬件,實(shí)現(xiàn)通過(guò)手機(jī)或平板上的APP遠(yuǎn)程實(shí)時(shí)監(jiān)測(cè)、管理采集信息和控制報(bào)警裝置的功能。

      1 系統(tǒng)設(shè)計(jì)方案

      建筑智能化實(shí)訓(xùn)平臺(tái)中的環(huán)境監(jiān)測(cè)系統(tǒng)硬件部分由傳感器(探測(cè)器)、報(bào)警器、網(wǎng)絡(luò)節(jié)點(diǎn)、網(wǎng)關(guān)和終端設(shè)備等組成。傳感器(探測(cè)器)包含了溫度探測(cè)器、煙霧探測(cè)器、濕度傳感器、光照強(qiáng)度傳感器等,用于采集相應(yīng)的環(huán)境數(shù)據(jù)。數(shù)據(jù)信息由網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)出,通過(guò)以網(wǎng)關(guān)為核心的ZigBee自組網(wǎng)絡(luò)進(jìn)行傳輸,并通過(guò)WiFi方式與客戶(hù)端(電腦或手機(jī))軟件連接實(shí)現(xiàn)監(jiān)測(cè)和控制[3]。

      設(shè)計(jì)根據(jù)硬件設(shè)備情況,結(jié)合傳感器、嵌入式、無(wú)線(xiàn)通信(Zigbee和WiFi)及數(shù)據(jù)庫(kù)等多項(xiàng)技術(shù),開(kāi)發(fā)基于Android系統(tǒng)的應(yīng)用軟件,在手機(jī)或平板等移動(dòng)終端上實(shí)現(xiàn)對(duì)環(huán)境數(shù)據(jù)的采集、顯示、存儲(chǔ)、管理以及對(duì)報(bào)警器的控制,提高實(shí)訓(xùn)平臺(tái)環(huán)境監(jiān)測(cè)功能的實(shí)時(shí)性、便捷性、高效性和智能化。該系統(tǒng)整體架構(gòu)如圖1所示,主要分為環(huán)境采集模塊、網(wǎng)關(guān)模塊、服務(wù)器(數(shù)據(jù)庫(kù))模塊和用戶(hù)終端(Android軟件)模塊。

      2 硬件組成與分析

      2.1 環(huán)境采集模塊

      環(huán)境采集模塊用來(lái)采集各種環(huán)境數(shù)據(jù),由不同類(lèi)型的傳感器、探測(cè)器與Zigbee網(wǎng)絡(luò)節(jié)點(diǎn)、電源模塊共同組成。其中,選擇CC2530為網(wǎng)絡(luò)節(jié)點(diǎn)的主控芯片,該芯片具有良好的兼容性和可擴(kuò)展性[4]。為每個(gè)傳感器對(duì)應(yīng)的網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)置唯一的IP地址,設(shè)置定時(shí)指令讓Zigbee網(wǎng)關(guān)自動(dòng)匯集各個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)中傳感器所采集的數(shù)據(jù),并通過(guò)WiFi模塊將數(shù)據(jù)實(shí)時(shí)傳送到手機(jī)端,同時(shí)上傳至服務(wù)器的數(shù)據(jù)庫(kù)中。

      2.2 網(wǎng)關(guān)模塊

      該系統(tǒng)的網(wǎng)關(guān)模塊主要由兩部分組成,一是建立在CC2530芯片組基礎(chǔ)上構(gòu)成的ZigBee網(wǎng)絡(luò)協(xié)調(diào)器;二是WiFi模塊,采用ESP8266芯片組[5]。其中,ZigBee網(wǎng)絡(luò)協(xié)調(diào)器主要用于接收和處理各ZigBee網(wǎng)絡(luò)節(jié)點(diǎn)的采集數(shù)據(jù),再由WiFi模塊將數(shù)據(jù)信息發(fā)送至手機(jī)端和數(shù)據(jù)庫(kù)。

      2.3 服務(wù)器(數(shù)據(jù)庫(kù))模塊

      該系統(tǒng)使用建筑智能化實(shí)訓(xùn)平臺(tái)配備的上位機(jī)電腦作為服務(wù)器,服務(wù)器主機(jī)內(nèi)裝載了控制軟件和數(shù)據(jù)庫(kù)[6]。其中,數(shù)據(jù)庫(kù)的內(nèi)容主要為系統(tǒng)采集的歷史環(huán)境數(shù)據(jù)信息,并通過(guò)MySQL軟件對(duì)這些數(shù)據(jù)進(jìn)行存放和管理。服務(wù)器主機(jī)硬件規(guī)格——主板:B460M芯片組,CPU:Intel 酷睿i5 10400,內(nèi)存:8 GB DDR4,硬盤(pán):2 TB 7200轉(zhuǎn)機(jī)械硬盤(pán),網(wǎng)卡:外置1300 M無(wú)線(xiàn)網(wǎng)卡。

      圖1 環(huán)境監(jiān)測(cè)系統(tǒng)整體架構(gòu)

      2.4 用戶(hù)終端(Android軟件)模塊

      用戶(hù)終端模塊選用搭載了Android系統(tǒng)的智能手機(jī)為測(cè)試對(duì)象。根據(jù)Android系統(tǒng)開(kāi)源特性,對(duì)數(shù)據(jù)采集、處理和通信模塊的設(shè)計(jì)需求進(jìn)行分析后,決定使用Android studio軟件為應(yīng)用開(kāi)發(fā)環(huán)境。測(cè)試手機(jī)的硬件規(guī)格——操作系統(tǒng):Android 11.0,CPU:驍龍865 八核2.9 GHz,內(nèi)存:8 GB LPDDR5,外存:128 GB UFS 3.0,網(wǎng)絡(luò):支持WiFi6和5G全網(wǎng)通。

      3 軟件設(shè)計(jì)

      3.1 整體設(shè)計(jì)

      根據(jù)需求分析,設(shè)計(jì)將軟件系統(tǒng)結(jié)構(gòu)劃分為交互層、中間層和數(shù)據(jù)層三層架構(gòu)。如圖2所示,交互層用于人機(jī)交互、中間層用于數(shù)據(jù)和控制命令傳輸、數(shù)據(jù)層用于數(shù)據(jù)存放和調(diào)用。在軟件(APP)中,用戶(hù)可操作界面上的相應(yīng)按鈕,實(shí)時(shí)查看環(huán)境數(shù)據(jù)、設(shè)備狀態(tài)、調(diào)取歷史數(shù)據(jù)和手動(dòng)開(kāi)啟/關(guān)停報(bào)警器等,實(shí)現(xiàn)設(shè)計(jì)功能。設(shè)計(jì)選用的Android Studio作為開(kāi)發(fā)環(huán)境,其配套有2個(gè)開(kāi)發(fā)工具:JDK(Java Development Kit)、 SDK(Software Development Kit)。JDK使用Java語(yǔ)言編寫(xiě)程序代碼;SDK是生成APP所需的編譯器。將開(kāi)發(fā)環(huán)境配置完畢后,結(jié)合設(shè)計(jì)要求分別進(jìn)行各模塊的程序設(shè)計(jì)[7]。

      3.2 環(huán)境監(jiān)測(cè)顯示設(shè)計(jì)

      根據(jù)環(huán)境采集模塊硬件的主要作用和技術(shù)特點(diǎn),程序的設(shè)計(jì)應(yīng)能夠?qū)崿F(xiàn)將采集的數(shù)據(jù)信號(hào)以數(shù)值的形式顯示在手機(jī)界面上。由于系統(tǒng)中各傳感器采集現(xiàn)場(chǎng)物理量時(shí),數(shù)據(jù)將通過(guò)ZigBee網(wǎng)絡(luò)節(jié)點(diǎn)中自帶的A/D轉(zhuǎn)換器后以數(shù)字量的形式輸出,在程序中設(shè)置從WiFi模塊中讀取實(shí)時(shí)數(shù)據(jù)的部分,并設(shè)計(jì)環(huán)境監(jiān)測(cè)顯示界面,將接收的信息直接顯示在對(duì)應(yīng)位置處。

      以讀取和顯示溫度信息為例,編寫(xiě)代碼如下:

      public class TempCollector {

      public static void main(String[] args) {

      // 獲取WiFi連接信息

      WifiManager wifiMgr = (WifiManager)getSystemService(Context.WIFI_SERVICE);

      List scanResults = wifiMgr.getScanResults();

      // 遍歷掃描結(jié)果,獲取網(wǎng)絡(luò)節(jié)點(diǎn)溫度

      for (ScanResult scanResult : scanResults) {

      String ssid = scanResult.SSID;

      String bssid = scanResult.BSSID;

      int frequency = scanResult.frequency;

      int level = scanResult.level;

      int temperature = scanResult.temperature;

      // 顯示溫度

      System.out.println(" 溫度:" + temperature);

      }

      }

      }

      圖2 手機(jī)端軟件(APP)設(shè)計(jì)邏輯框圖

      3.3 數(shù)據(jù)庫(kù)調(diào)用設(shè)計(jì)

      為實(shí)現(xiàn)對(duì)歷史數(shù)據(jù)的存放和管理,還需要在APP中實(shí)現(xiàn)讀取服務(wù)器數(shù)據(jù)庫(kù)的功能。MySQL中存放的歷史數(shù)據(jù)已按照不同類(lèi)型進(jìn)行存放,根據(jù)系統(tǒng)功能設(shè)計(jì)需求建立了關(guān)系型數(shù)據(jù)庫(kù),按類(lèi)別劃分表格,包括溫度、濕度、煙霧濃度、光照強(qiáng)度等。按類(lèi)別設(shè)置表格存放的優(yōu)勢(shì)在于,可以分別單獨(dú)寫(xiě)入或讀取某一類(lèi)型的數(shù)據(jù),數(shù)據(jù)間互不干擾。APP調(diào)取的歷史數(shù)據(jù)是通過(guò)本地?zé)o線(xiàn)網(wǎng)絡(luò)接入服務(wù)器數(shù)據(jù)庫(kù)查詢(xún)后顯示的。

      以從數(shù)據(jù)庫(kù)中讀取和顯示歷史溫度信息為例,編寫(xiě)代碼部分內(nèi)容如下:

      public class MainActivity {

      public static void main(String[] args) {

      // 定義數(shù)據(jù)庫(kù)連接變量

      Connection conn = null;

      // 定義SQL語(yǔ)句

      String sql;

      // 定義結(jié)果集

      ResultSet rs;

      // 定義數(shù)據(jù)庫(kù)驅(qū)動(dòng)

      String driver = "com.mysql.jdbc.Driver";

      // 定義數(shù)據(jù)庫(kù)地址

      String url = "jdbc:mysql://localhost:3306/mydb";

      // 定義數(shù)據(jù)庫(kù)用戶(hù)名

      String user = "admin";

      // 定義數(shù)據(jù)庫(kù)密碼

      String password = "000000";

      try {

      // 加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)

      Class.forName(driver);

      // 連接數(shù)據(jù)庫(kù)

      conn = DriverManager.getConnection(url, user, password);

      // 定義SQL語(yǔ)句

      sql = "SELECT * FROM temperature";

      Statement stmt = conn.createStatement();

      rs = stmt.executeQuery(sql);

      // 遍歷結(jié)果集

      while (rs.next()) {

      // 獲取歷史溫度信息

      String historyTemp = rs.getString("history_temp");

      // 輸出歷史溫度信息

      System.out.println("歷史溫度信息:" + historyTemp);

      }

      conn.close();

      } catch (Exception e) {

      e.printStackTrace();

      }

      }

      }

      圖3 APP環(huán)境監(jiān)測(cè)界面

      3.4 報(bào)警器控制設(shè)計(jì)

      報(bào)警器有手動(dòng)控制和自動(dòng)控制兩種控制方式。其中,手動(dòng)控制指用戶(hù)可以通過(guò)手機(jī)App上的按鈕選擇開(kāi)啟/關(guān)閉報(bào)警器;自動(dòng)控制則是通過(guò)設(shè)定溫度或煙霧濃度的閾值,觸發(fā)報(bào)警器自動(dòng)開(kāi)啟,當(dāng)威脅消除時(shí)再自動(dòng)關(guān)閉。設(shè)計(jì)中的報(bào)警器直接連接在ZigBee網(wǎng)絡(luò)節(jié)點(diǎn)中,因此在設(shè)計(jì)控制程序時(shí),手動(dòng)控制可以通過(guò)直接向其發(fā)送指令的形式完成,自動(dòng)控制則需要增加一個(gè)觸發(fā)條件。

      以自動(dòng)開(kāi)啟報(bào)警器(實(shí)時(shí)溫度≥50 ℃)為例,編寫(xiě)代碼如下:

      //定義報(bào)警器類(lèi)

      public class Alarm {

      private boolean isOn;

      private int temperature;

      public Alarm(int temperature) {

      this.temperature = temperature;

      }

      //當(dāng)溫度大于等于50℃開(kāi)啟

      public void checkTemperature() {

      if (temperature >= 50) {

      isOn = true;

      }

      }

      public boolean isOn() {

      return isOn;

      }

      }

      //定義ZigBee節(jié)點(diǎn)類(lèi)

      public class ZigBeeNode {

      private Alarm alarm;

      public ZigBeeNode(Alarm alarm) {

      this.alarm = alarm;

      }

      //發(fā)出指令

      public void sendCommand() {

      alarm.checkTemperature();

      if (alarm.isOn()) {

      System.out.println("報(bào)警器已開(kāi)啟");

      }

      }

      }

      //測(cè)試類(lèi)

      public class Test {

      public static void main(String[] args) {

      Alarm alarm = new Alarm(50);

      ZigBeeNode zigBeeNode = new ZigBeeNode(alarm);

      zigBeeNode.sendCommand();

      }

      }

      4 功能測(cè)試

      將經(jīng)SDK編譯后生成的.apk文件安裝到測(cè)試手機(jī)中,連接本地WiFi后進(jìn)入登錄界面,輸入預(yù)設(shè)的用戶(hù)賬號(hào)和密碼,進(jìn)入控制界面,可選擇進(jìn)入“環(huán)境監(jiān)測(cè)”、“報(bào)警器控制”、“歷史查詢(xún)”和“設(shè)備狀態(tài)”四個(gè)選項(xiàng)。在環(huán)境監(jiān)測(cè)界面,可以查看到傳感器(探測(cè)器)采集反饋的溫度、濕度、煙霧濃度、光照強(qiáng)度等實(shí)時(shí)數(shù)據(jù)展現(xiàn),如圖3所示,實(shí)現(xiàn)了對(duì)建筑智能化實(shí)訓(xùn)平臺(tái)周?chē)h(huán)境的實(shí)時(shí)監(jiān)測(cè)。依次測(cè)試“報(bào)警器控制”、“歷史查詢(xún)”和“設(shè)備狀態(tài)”界面功能,均能實(shí)現(xiàn)設(shè)計(jì)需求,測(cè)試結(jié)果符合預(yù)期。

      5 結(jié) 語(yǔ)

      設(shè)計(jì)基于建筑智能化實(shí)訓(xùn)平臺(tái)環(huán)境監(jiān)測(cè)系統(tǒng)功能,結(jié)合傳感器、嵌入式、無(wú)線(xiàn)網(wǎng)絡(luò)和數(shù)據(jù)庫(kù)等多種技術(shù)手段,開(kāi)發(fā)了基于Android系統(tǒng)的手機(jī)端應(yīng)用軟件,實(shí)現(xiàn)了通過(guò)手機(jī)APP遠(yuǎn)程查看環(huán)境監(jiān)測(cè)實(shí)時(shí)數(shù)據(jù)、管理歷史數(shù)據(jù)和聯(lián)動(dòng)控制報(bào)警裝置的目標(biāo)。測(cè)試結(jié)果表明,已開(kāi)發(fā)的軟件能夠有效滿(mǎn)足設(shè)計(jì)需求。今后將嘗試依據(jù)建筑智能化實(shí)訓(xùn)平臺(tái)其他子系統(tǒng)功能需求,在軟件中增加新的控制模塊,比如:增加“門(mén)禁系統(tǒng)”中的開(kāi)/關(guān)門(mén)記錄等,進(jìn)一步增強(qiáng)手機(jī)端APP無(wú)線(xiàn)控制功能的覆蓋面和集成度,以提高全系統(tǒng)設(shè)備的易用性、高效性和先進(jìn)性。

      猜你喜歡
      報(bào)警器環(huán)境監(jiān)測(cè)實(shí)訓(xùn)
      基于CDIO理念的數(shù)控實(shí)訓(xùn)教學(xué)改革與實(shí)踐
      環(huán)境監(jiān)測(cè)系統(tǒng)的數(shù)據(jù)分析與處理
      電子制作(2019年19期)2019-11-23 08:41:54
      自制下雨報(bào)警器
      大氣污染問(wèn)題的環(huán)境監(jiān)測(cè)
      電工電子實(shí)訓(xùn)教學(xué)改革與創(chuàng)新
      電子制作(2017年8期)2017-06-05 09:36:15
      基于無(wú)線(xiàn)通信的入侵報(bào)警器設(shè)計(jì)
      電子制作(2017年24期)2017-02-02 07:14:15
      對(duì)環(huán)境監(jiān)測(cè)數(shù)據(jù)造假必須零容忍
      公民與法治(2016年4期)2016-05-17 04:09:15
      微課在數(shù)控實(shí)訓(xùn)課中的應(yīng)用探析
      便攜式GC-MS在環(huán)境監(jiān)測(cè)中的應(yīng)用
      基于AltiumDesigner10 的UPS電源停電報(bào)警器的設(shè)計(jì)
      西藏科技(2015年2期)2015-09-26 12:18:34
      缙云县| 盐山县| 姚安县| 翼城县| 丁青县| 孟连| 体育| 报价| 府谷县| 奇台县| 江源县| 宁津县| 漳州市| 马尔康县| 巨鹿县| 二手房| 潞西市| 武威市| 伊吾县| 金川县| 永兴县| 茌平县| 鱼台县| 福建省| 磐石市| 宽甸| 镇康县| 正阳县| 苏尼特右旗| 偏关县| 陵水| 兴业县| 鸡西市| 两当县| 邓州市| 镇沅| 平武县| 四子王旗| 晴隆县| 北宁市| 五指山市|