freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于物聯(lián)網(wǎng)的建筑結(jié)構(gòu)健康監(jiān)測系統(tǒng)服務(wù)器軟件設(shè)計畢業(yè)設(shè)計(完整版)

2025-01-16 01:13上一頁面

下一頁面
  

【正文】 0] RUP Request Update Program:請求更新程序 0x21 RUC Request Update Configure Table:請求更新節(jié)點配置表 0x23 RNR Request Net Repeater:節(jié)點入網(wǎng)請求(中繼和采集節(jié)點 0x24 節(jié)點物理 ID( UINT32); TL Test Link:發(fā)送探測鏈路握手請求 0x25 TR Timestamp Request:時間戳請求 0x26 Originate Timestamp( UINT16):起始請求時間; Receive Timestamp( UINT16):接收方接收到的時間; Transmit Timestamp( UINT16): TRY要回復(fù)的時間; RP Reply Program回復(fù)更新程序請求 0x31 程序包 請 求 回 復(fù) 類 [0x30] RTT Reply Topology Table:回復(fù)中繼節(jié)點配置表 0x32 回復(fù)此請求的時間( UINT16);該中繼節(jié)點的網(wǎng)絡(luò)拓撲設(shè)置表見 RCT Reply Configure Table:回復(fù)采集節(jié)點配置表請求 0x33 配置表包 RLA Reply Logical Address:回復(fù)采集節(jié)點其邏輯地址 0x34 時間( UINT16);采集節(jié)點邏輯地址( UINT8);采集節(jié)點物理地址( UINT32) RLS Reply Link Success:返回鏈路連接成功 0x36 TRY Timestamp Reply:時間戳回復(fù) 時間戳消息有以下功能:時間同步、測網(wǎng)絡(luò)延時、詢問時間 0x37 Originate Timestamp( UINT16):起始請求時間; Receive Timestamp( UINT16):接收方接收到的時間; Transmit Timestamp( UINT16): TRY要回復(fù)的時間; 5 詳細設(shè)計 軟件流程描述 建筑結(jié)構(gòu)健康監(jiān)測系統(tǒng)服務(wù)器軟件流程如圖 所示。然后根據(jù)協(xié)議對 UDP 包的合法性做初步判斷(包頭是否為 ‘*’,包尾是否為 ‘’),假如不合法則直接丟棄并且記入系統(tǒng)日志,假如合法則移交解析模塊。最后根據(jù)具體的數(shù)據(jù)類型,將最低兩字節(jié)的采集數(shù)據(jù)解析為常規(guī)格式。 難點和解決方案 ? 并行處理 難點:在服務(wù)器程序運行的過程中會經(jīng)常遇到這種情況:同時要與多個采集節(jié)點進行通信,有的是要接收采集節(jié)點上傳的數(shù)據(jù),有的是要向采集節(jié)點下發(fā)命令。 = buffer[1]。 i 。首先如何提取這若干張 Excel表中的節(jié)點信息,這是一個難點。 // 查詢數(shù)據(jù)庫獲取 MAC地址 = getNodeMacAddrByLogicalAddr( .get(indexInDownloadList).logicalAddr)。 i ()。 = originalSecond+。 int localMin = ()。 if(date == 0) { month。 解決方案:在數(shù)據(jù)庫中建立了一張 Mac 地址和邏輯地址的映射表,有了這張表后,可以根據(jù)數(shù)據(jù)包中的邏輯地址查詢數(shù)據(jù)庫得到物理 Mac 地址,也就知道了是物理上的哪一個采集模塊。 try { namePort = getNamePort(MacAddrStrUpperCase, channelNum, )。 } (通道類型: +(namePort))。 } if(subPacketLength == 2) { double value = 。 /////////////////////////////////////////////////////////////////////////////////// (檢測值: +value)。 (振動數(shù)據(jù): )。 = 。 圖 命令解析測試 完成對入網(wǎng)請求命令、全網(wǎng)對時命令、通道重啟命令解析正確性的測試。服務(wù)器軟件能夠?qū)崟r獲取底層傳感器采集到的建筑結(jié)構(gòu)數(shù)據(jù),并將解析處理后的數(shù)據(jù)存儲于數(shù)據(jù)庫中。魏老師平易近人,在我們畢業(yè)設(shè)計期間給予了我們無微不至的關(guān)懷,每次我們遇到問題時,魏老師都會與我們進行討論并引導(dǎo)我們?nèi)プ约禾岢鰡栴}解決問題,即使老師在外出差也不時通過網(wǎng)絡(luò)或是手機的方式詢問我們畢業(yè)設(shè)計的情況并給予幫助。服務(wù)器軟件的系統(tǒng)日志模塊還能對錯誤數(shù)據(jù)和異常情況進行記錄。 圖 服務(wù)器通道重啟命令解析結(jié)果 數(shù)據(jù)解析測試 測試用例:上傳充電電壓數(shù)據(jù) 2A 09 01 10 0000 11 00 23 測試結(jié)果:服務(wù)器程序接收到通信包后進行數(shù)據(jù)解析,并將解析后的數(shù)據(jù)存入數(shù)據(jù)庫如圖 所示。 } catch (FileNotFoundException e) { // TODO Autogenerated catch block ()。 (振動頻率 :+)。 } catch (IOException e) { ()。 for(int k = 0。 for(int j = 0。 } catch(Exception ex) { namePort = 1。 下面是解決該難點的關(guān)鍵代碼: String MacAddrStr = getNodeMacAddrByLogicalAddr(logicalAddrStr)。 } }else if(localHour = hour) { } = year++month++date+ +hour+:+min+:+sec。 } = year++month++date+ +hour+:+min+:+sec。 int year = ()??梢娪脙蓚€字節(jié)無法表示全天時間。 } catch (FileNotFoundException e1) { // TODO Autogenerated catch block ()。所有的節(jié)點配置表按順序存放在配置文件夾中,下載程序會依次進行讀取。 Thread praseThread = new Thread(praseDataPacketRunnable)。 = buffer[5]。 } catch (SocketException e) { // TODO Autogenerated catch block ()。 假設(shè)收到的是下載指令,首先區(qū)分是下載程序還是下載節(jié)點配置表。 圖 數(shù)據(jù)解析流程示意圖 包頭 有效載荷 包尾 *0 長度 1 匯聚 ID2 消息地址 3 ACK標志會話結(jié)束標志 4 流水號號 5 消息類型 6 消息參數(shù)列表 7 1B 1B 1B 1B 1B 1B 1B 1B 圖 根據(jù)第七個字節(jié)消息類型可以判定,此次接收到的是數(shù)據(jù)還是命令,假如是數(shù)據(jù),則第八個字節(jié)開始直至結(jié)束位是數(shù)據(jù)部分,這部分是由 n 個長度為 6字節(jié)的數(shù)據(jù)包構(gòu)成,最高兩個字節(jié)為數(shù)據(jù)地址,中間兩個字節(jié)為采集時間,最底兩個字節(jié)為采集數(shù)據(jù),如圖 所示。監(jiān)聽模塊是一個死循環(huán),循環(huán)監(jiān)聽端口9000,等待連接請求。 ? 若為下發(fā)控制命令時,該字段表示消息的目的地址(命令的施予方)。采集節(jié)點 amp。 數(shù)據(jù)庫操作模塊:對數(shù)據(jù)庫進行增、刪、改、查等操作。除了 Microsoft SQL Server,它還支持 IBM DB2和 Oracle數(shù)據(jù)庫。服務(wù)器軟件的測試工具采用 C語言編寫,使用 Visual Studio 2020 開發(fā)。 4 概要設(shè)計 硬件環(huán)境 建筑結(jié)構(gòu)健康監(jiān)測系統(tǒng)采用典型的物聯(lián)網(wǎng)三層架構(gòu):采集層、傳輸層、應(yīng)用層。 ? 下載功能: 分為采集節(jié)點的配置表下載和程序下載。 ? 解析客戶端下發(fā)的命令,根據(jù)具體的命令提供相應(yīng)的服務(wù)操作。著重于建筑結(jié)構(gòu)健康監(jiān)測與安全 監(jiān)控平臺服務(wù)器軟件的設(shè)計與實現(xiàn)。運用物聯(lián)網(wǎng)進行重大建筑的監(jiān)控,使得監(jiān)控更加全面,采集速度快、精度高、實時性好、自動化程度高,實現(xiàn)在線監(jiān)測,使得結(jié)構(gòu)在進行安全評判時更具有科學(xué)性。在當下的 “ 十五年 ” ,一場新的變革正悄然興起,那就是 “ 物聯(lián)網(wǎng) ”( Inter of things,簡稱 IOT)。 國外研究現(xiàn)狀 在土木工程領(lǐng)域中,結(jié)構(gòu)健康監(jiān)測概念早在 1985 年就已經(jīng)提出,最初主要應(yīng)用在橋梁健康監(jiān)測方面,近十幾年來,逐步推廣到針對建筑結(jié)構(gòu)的健康監(jiān)測開展了大量的研究。 本論文設(shè)計的軟件,是建筑結(jié)構(gòu)健康監(jiān)測系統(tǒng)的服務(wù)器軟件,主要負責(zé)接收和解析采集節(jié)點通過無線傳感網(wǎng)絡(luò)上傳的建筑結(jié)構(gòu)數(shù)據(jù),然后將解析后的數(shù)據(jù)存入服務(wù)器數(shù)據(jù)庫。 本論文著重于建筑結(jié)構(gòu)健康監(jiān)測系統(tǒng)服務(wù)器軟件的設(shè)計與實現(xiàn),通過該軟件可以實時獲取底層傳感器采集到的建筑結(jié)構(gòu)數(shù)據(jù),經(jīng)過解析處理后存儲于 MicrosoftSQlServer2020 數(shù)據(jù)庫中。同時,服務(wù)器軟件還可以解析 Excel 配置表,將 Excel 數(shù)據(jù)解析為 hex 記錄下發(fā)用于配置底層硬件工作模式。同時,還能夠配置底層硬件的采集頻率和采集通道號。隨著土木工程結(jié)構(gòu)設(shè)計的大型化、復(fù)雜化以及智能化,結(jié)構(gòu)健康監(jiān)測的內(nèi)容逐漸變得豐富起來,不再是單純的載荷應(yīng)力監(jiān)測,而要向結(jié)構(gòu)損傷檢測、快速損傷定位、結(jié)構(gòu)剩余壽命預(yù)測等方向努力。在 “ 物聯(lián)網(wǎng) ” 這個領(lǐng)域中,我國的技術(shù)研發(fā)水平正處于世界前列。所以,在施工階段和使用階段,這種監(jiān)測技術(shù)可以達到及時有效的保證建筑的安全性,具有很好的實際意義。 建筑 結(jié)構(gòu) 健康監(jiān)測與安全監(jiān)控平臺,能夠?qū)崟r監(jiān)測建筑的安全和健康狀態(tài),進行分析和評估,發(fā)現(xiàn)異常及時預(yù)警,以便做出必要的控制,提高建筑的安全性和使用壽命,最大限度地減少不必要的財產(chǎn)損失與生命傷亡。 ? 通過解析 Excel 配置表,將 Excel 數(shù)據(jù)解析為 hex 記錄下發(fā)實現(xiàn)對底層硬件工作模式的配置。采集節(jié)點配置表下載,是將存儲采集節(jié)點工作頻率和通道號信息的 Excel 表解析成 hex 記錄下發(fā);程序下載,是將單片機 /嵌入式程序解析成 hex 記錄下發(fā)。用到的硬件環(huán)境如下: 采集層硬件環(huán)境:應(yīng)力應(yīng)變傳感器、裂縫傳感器、撓度傳感器、風(fēng)力風(fēng)向傳感器、沉降傳感器、位移傳感器、傾斜傳感器、加速度傳感器、溫濕度傳感器等傳感器、多傳感器融合模塊、太陽能采電模塊、供電模塊。 Eclipse(集成開發(fā)環(huán)境): Eclipse 是一個開放源代碼的、基于 Java 的可擴展開發(fā)平臺。 SQL Server 2020 R2:是由美國微軟公司所推出的關(guān)系數(shù)據(jù)庫解決方案,近年來它的應(yīng)用范圍有所擴展,已經(jīng)觸及到大型、跨國企業(yè)的數(shù)據(jù)庫管理。 命令處理模塊:完成對下載、全網(wǎng)對時、入網(wǎng)請求命令、節(jié)點查詢命令的處理。485采集盒:用四個字節(jié)標識其物理地址,全 0全 1暫且不用;高八位標識類型,共 256種(現(xiàn)分別為中繼、采集節(jié)點及 485采集盒);低 24位標識每種類型節(jié)點的序號。 注:若為通道命令時,該字段表示采集節(jié)點的邏輯地址,具體通道在作用通道中指出。為了不阻塞主線程,所以創(chuàng)建了一個 MainListener 監(jiān)聽線程。 圖 采集數(shù)據(jù)包格式圖 2 個字節(jié)數(shù)據(jù)地址是由 1 個字節(jié)的通道號和 1 個字節(jié)的邏輯地址構(gòu)成。假設(shè)是下載節(jié)點配置表,那么讀取用于存儲節(jié)點信息的 Excel 表,并將 Excel 表中的數(shù)據(jù)解析成 hex 記錄下發(fā);假設(shè)是下載程序,那么獲取用于存儲嵌入式程序的 hex 文件進行組包下發(fā)。 } dataPacket = new DatagramPacket(buffer, bufferSize)。 = buffer[6]。 ()。對于每一張 Excel表,下載程序首先逐行讀取含義這部分的內(nèi)容,當找到帶有 ‘*’的含義時,將其對應(yīng)通道號下的數(shù)值轉(zhuǎn)換成 16進制后存入 byte[]數(shù)組中,當含義部分讀取完畢后返回 byte[]數(shù)組并插入 ArrayList中,接著讀取下一張 Excel表直至遍歷結(jié)束。 } catch (IOException e1) { // TODO Autogenerated catch block ()。這就得區(qū)分采集時間是 AM還是 PM,假如是 PM,還得區(qū)分是當天的 PM還是前一天的 PM。 int month = ()+1。 } else {
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1