?

基于物聯云平臺的橋梁傾角監測系統

2024-01-05 02:02林偉浩蔡宇洋賴聯有許偉堅秦德興
關鍵詞:開發板阿里傾角

林偉浩,蔡宇洋 ,賴聯有,許偉堅,秦德興

(1.中國移動通信集團廣東有限公司汕頭分公司,廣東 汕頭 515041;2.集美大學海洋信息工程學院,福建 廈門 361021)

0 引言

實時監控橋梁安全性能是現代橋梁工程不可缺少的一部分[1]。橋梁傾角監測系統已呈智能化、自動化、信息化的趨勢[2]?,F階段,已經能夠實現橋梁全生命周期檢測,掌握橋梁全生命狀態;同時也有用AI技術預測橋梁結構未來時間段的發展。

ESP32-C3-DevKitM-1[3]開發板是適合用于物聯網[4]基礎通信的開發板,具有感知性強,實施遠程傳送和智能處理的特點。其搭載有ESP32-C3-MINI-1模組,該模組因其尺寸小而得名[5]。該開發板上集成了2.4 GHz Wi-Fi和藍牙功能于一體的芯片[6],配網的難度顯著降低。ESP32系列開發板的工作溫度范圍在-40~125 ℃之間[7-9],可以滿足在極端惡劣氣候下對橋梁傾角的數據傳送,當數據超過一定閾值時,用戶可在移動端收到報警信號,實現遠距離的實時監測。

ADXL345[10-13]三軸線性加速度傳感器具有體積小功耗低的特點,分辨率精度高,加速度測量范圍達到了±16g。工作電壓范圍為3.3~6 V,工作溫度范圍為-40~105 ℃,能適應絕大多數氣候條件下的橋梁傾角監測。ADXL345采用16位信號輸出,可以通過SPI和IIC接口進行數據采集和調用。ADXL345傳感器還具有多種特殊功能:1)在系統動態或靜態時檢測是否有運動或者靜止狀態的出現;2)當系統處于上升或是下降狀態時,可以對系統是否處于自由落體狀態進行判斷;3)可以感知單軸上的加速度值是否超過開發人員設定的閾值;4)可以檢測外界對系統的碰撞次數,例如單擊、雙擊;5)可在ADXL345的低功耗模式下通過ADXL345的動作感應,進行電源的管理,而功耗損失極低。

傳感器為一個表面經過微加工的多晶硅結構,可以感知微小的加速度變化。ADXL345上的差分電容由獨立固定板和活動質量連接板組成,能夠對結構的偏轉量進行測量。ADLX345傳感器自帶相敏解調,可以確定加速度的幅度與極性。

為改善傳統橋梁監測技術在時間和空間上的靈活性,本文擬采用ADXL345傳感器和ESP32C3物聯網芯片[14],開發橋梁傾角的遠程監測系統,通過阿里云物聯網平臺將橋梁傾角數據實時發送到手機客戶端,使居家也能實時觀測橋梁傾角數據,可隨時隨地開展科研工作,具備成本低測量方便的優點。

1 系統架構

基于阿里云物聯網平臺的橋梁監測系統主要包括:ESP32C3物聯網芯片,ADXL345三軸線性加速度傳感器,阿里云物聯網平臺,以及應用服務器、終端用戶四個部分。

對ESP32開發板基本功能進行編程和調試,通過IIC協議接收ADXL345傳感器測得的傾斜角度,使ESP32C3開發板能夠與阿里云物聯網平臺進行橋梁傾角實測數據的通信。手機小程序端通過微信開發者工具進行MQTT(messege queuing telemetry transport)連接參數的配置和JSON格式轉換,終端用戶能夠與ESP32C3互相發布消息和訂閱消息。

圖1為系統設計流程圖。此次系統設計的思路如下:1)實現ESP32C3開發板接收ADXL345三軸線性加速度傳感器采集的數據,并轉換成加速度;2)ESP32C3物聯網芯片能夠與阿里云物聯網平臺互通,實現數據的實時傳送;3)在阿里云物聯網平臺上配置云產品流轉和SQL,獲取ESP32C3上傳到云端的由ADXL345傳感器采集到的數據;4)實現微信小程序對云端數據的讀取。監測人員可通過互聯網設備的軟件應用或是微信小程序界面,遠程監控橋梁的傾角數據。

2 橋梁傾角監測系統設計

2.1 阿里云端配置與調試

設備通過MQTT協議與物聯網平臺建立長連接[15],上報數據(通過Publish發布Topic和Payload)到物聯網平臺。通過AMQP消費組,將設備消息流轉到業務服務器上。通過物聯網平臺的云產品流轉功能,處理設備上報數據,如將處理后的數據轉發到云數據庫RDS、表格存儲、函數計算、時間序列數據庫TSDB、云原生多模數據庫Lindorm、DataHub、消息隊列RocketMQ等云產品中,進行存儲和處理。通過業務應用下發指令,使業務服務器調用基于HTTPS協議的API接口Pub,給Topic發送指令,將數據發送到物聯網平臺。物聯網平臺通過MQTT協議,使用Publish發送數據(指定Topic和Payload)到設備端。

在阿里云上配置的主要內容是一個產品和其下的兩個設備。產品也被稱作設備的集合,之后相關的設備都建立在這個產品下,且從屬于這個產品。為了能夠在對多個產品開發和維護的同時對產品進行管理,在創建產品時可以根據每一個產品的不同功能,自定義產品的名稱??梢酝ㄟ^這個特性對開發的多個產品進行切換和選擇,使設備配網和監測數據更加便捷有效,也可以通過添加設備模塊方式創建設備。

成功創建好產品和設備后,阿里云端會自動生成產品證書ProductSeceret和設備密鑰ProductKey。這兩個通常以成對方式出現,用于一型一密的認證方案。通過設備密鑰和產品證書,可以對設備進行前端開發,實現設備與阿里云物聯網平臺通信。

阿里云物聯網平臺消息的發布與訂閱采用MQTT協議,通過云端連接方式,設備可以選擇是訂閱消息或者是發布消息。設備的配網離不開MQTT連接參數,MQTT連接參數包含ClientID、Username、Passwd、MQTTHostUrl和Port。ClientID是可供自定義的參數,表示的是客戶端的ID,每一個客戶端的ClientID都不能混用,多個設備接入同一個ClientID,會把先前的設備彈出,僅保留最后一個,被彈出的設備需要等候已經連接的設備下線后才能再次進行連接上線。Username由設備名和產品名組成,具有固定格式:${DeviceName}&${ProductKey}。Passwd是參數和參數值在拼接之后形成的密碼。MQTTHostUrl則是其Brokeraddress的值。Port是固定的端口號,為1883。設定好這些連接參數,便可以通過mqtt.fx對設備連接進行模擬測試。在測試過程中,可以在沒有硬件的同時對硬件設備的消息訂閱和發布進行模擬通信。

2.2 監測終端硬件設計

橋梁傾角監測系統的硬件部分主要采用樂鑫公司研發的ESP32-C3-DevKitM-1開發板,使用ADXL345傳感器測量在水平面和垂直方向上的加速度。

2.2.1 ESP32物聯網芯片

ESP32開發板上的主要組件,有ESP32C3-MINI-1模組、5V轉3V LDO、5V的電源提示燈、Boot功能按鍵、Micro USB接口、Reset復位按鍵、RGB LED、USB至UART橋接器。

ESP32-C3-DevKitM-1有30個引腳,每一個引腳都有獨立的排針,可以通過跳線將傳感器或其他外圍設備與開發板連接起來。開發板集成了22個GPIO引腳、3組SPI、2組UART,支持IIC協議。ESP32-C3-DevKitM-1有三種供電方式,可以通過USB接口進行供電。ESP32-C3-DevKitM-1開發板的功能豐富,能夠模擬生活中常出現的物聯網場景,在算力性能、啟動速度、穩定性和耐久度方面基本滿足現代物聯網智能交通安全的開發和檢測。通過接入外圍設備,在一塊ESP32-C3-DevKitM-1開發板上可以同時控制開關,接入不同的安全檢測傳感器。能通過云平臺實現與實驗設備的相互通信,實現遠程控制。ESP32的開發不止停留在云平臺,還可以在手機上接收到ESP32端測得的有關數據。

2.2.2 ADXL345傳感器

ADXL345傳感器IIC的SDA接到了ESP32C3開發板的GPIO2,IIC的SCL接到了GPIO3引腳。ADXL345的電源VCC與ESP32C3的3.3 V引腳相連,ADXL345的GND連接ESP32C3的GND。

ADXL345傳感器可以自動地對功耗進行調節,其功耗與輸出數據速率具有一定的比例關系。ADXL345具有典型功耗模式、低功耗模式、自動休眠模式和待機模式四種狀態。ADXL345傳感器在省電模式下,傳感器內部的采樣速率降低,可以在12.5~400 Hz數據速率范圍內達到省電的目的。通過對比發現,低功耗模式下的功耗會比正常狀態下的功耗顯著降低。當檢測到ADXL345傳感器處于靜止狀態時,會自動切換到休眠模式,減少電量的損失。開啟休眠模式,可在THRESH_INACT寄存器和TIME_INACT寄存器設置一個值表示靜止,這個值可以根據系統的要求進行設定。

橋梁傾角檢測系統的設計使用ADXL345的IIC模式傳輸數據,其連接方式簡單,只需要把ADXL345的SDA和SCL引腳通過條線連接到ESP32對應的GPIO引腳。此模式下ADXL345的數據傳輸由SCL控制,SCL控制著SDA的時鐘使能,當只有SCL為高電平時,數據才會根據SDA引腳的狀態進行傳輸。當SDA的電平由高向低轉變時,ADXL345傳感器會開始把數據傳輸到ESP32;當SDA的電平由低向高轉變時,ADXL3445傳感器將會結束數據的傳輸。

2.2.3 ESP32開發環境

橋梁傾角系統采用VSCODE作為開發平臺。搭建環境需要下載ESP-IDF和ESP-IDF工具,二者共同提供了開發所需要的整包源碼。ESP-IDF的安裝包可以選擇離線包也可選擇在線包,離線狀態的安裝包更加方便,可以一次就下載完。在下載ESP-IDF工具時,會捆綁下載內置的Python、交叉編譯器、OpenOCD、CMake和Ninjia編譯工具。在安裝成功后,將會分別出現一個ESP-IDF的PowerShell和CMD。

2.3 監測終端軟件設計

2.3.1 阿里物聯云固件編程

配置阿里云連接參數,使固件能夠成功連接阿里云物聯網平臺。在程序的開頭可以通過宏定義的方式對硬件的連接參數進行配置。需要定義的連接參數有:host、port、client_id、username和password。以host為例進行定義的示例,其格式為:#define Aliyun_host“iot-06z00bzwg4b91ey.mqtt.iothub.aliyuncs.com”。其他的參數只需將引號內的參數改為在MQTT連接參數中獲得的參數。

設置一個處理連接中各種事件發生的函數,命名為mqtt_event_handler_cb,采用switch結構應對不同事件發生的情況。事件結構中event_id為事件序號,event_data為收到的報文的數據,event_topic為報文的主題。想要處理對應的事件,就在對應的事件下設置函數。

需要發送的數據格式為JSON,為了將數據轉換為JSON格式再發送,用C語言中“cJSON.h”來進行。

2.3.2 ADXL345傳感器程序設計

ADXL345傳感器通過IIC方式與ESP32C3進行通信,只需要控制時鐘信號和數據使能信號就可以對數據進行傳輸。對IIC方式進行頭文件的定義,配置引腳號。程序開始之初,需要對ADXL345傳感器初始化的寄存器地址進行配置和宏定義。允許ADXL345的GPIO引腳輸出,使ADXL345的DRDY引腳有效,且設置數據為輸入有效模式。設置ESP32C3串口波特率為115 200 Hz。ADXL345傳感器需要一個寄存器來存儲數據,用esp_err_t ret來判斷程序是否成功運行。ADXL345傳感器的采樣率為200 Hz,數據模式為四線SPI模式,關閉ADXL345的自測功能,使高電平終端全分辨率有效數字達13位,輸出數據左右對齊,量程設置為±16g,將讀取的數據轉換成傾斜角度。ADXL345接收到的數據與重力加速度具有一定的換算關系[19-20]。

ADXL345傳感器可用于測量物體在X、Y、Z三軸的加速度,分別對空間中X、Y、Z三軸的受力大小進行分析,轉換為三個方向上的加速度。當物體處于一個相對穩定的狀態,即物體加速度可忽略時,可以通過X、Y、Z三軸的線性加速度得出物體的傾斜角度。記采集的三軸數據分別為X、Y、Z,加速度為ax、ay、az。

ADXL345傳感器的數據格式默認為16位。數據最低有效位(least signification bit,LSB)與重力加速度的換算關系為1 LSB=0.039g,有專門的存儲空間對每一個軸的數據進行存儲。高4位為符號位,余下的12位為數據位。

通常情況下,Z軸由于受重力加速度的影響有一定的偏移數值,因此在借助Z軸對傾斜角度進行計算時,需要對Z軸設置一個偏移量,抵消因自然加速度帶來的影響。

表 1 在水平桌面測試得到的三軸角度值Tab.1 horizontal angle value obtained from testXYZ0.032°0.205°89.793°0.021°0.190°89.809°0.021°0.198°89.801°0.036°0.199°89.798°0.024°0.203°89.796°0.017°0.195°89.804°0.033°0.200°89.797°0.026°0.200°80.798°0.030°0.192°89.906°

將程序下載到ESP32C3開發板中,將ADXL345傳感器放置于水平桌面上。表1為電腦監視終端得到的9組數據,可以發現,其精度能夠滿足對物體的傾斜角度進行監測。表1中的數據以水平桌面作傾角參照平面,Z軸為豎直方向與水平桌面的偏轉角度,X軸與Y軸為水平方向上的偏轉角度。

雖然在代碼中對數據采樣率的設置為200 Hz,而實際測試過程中,由于阿里云端對消息接收請求不能太過頻繁,以及網絡傳輸的不穩定,傾斜角度的測量并不能達到實際的200次/s。經過多次計時計算和驗證,以固定時長5 s為例,測得的數據樣本個數為260組,即每秒鐘有52組數據,總計每秒有156個數據。

2.3.3 系統的測試方法

該系統在測量時需要先連接手機熱點,在VSCODE平臺上對ESP32C3開發板的網絡連接進行配置,使其能夠連接手機設置的移動熱點,以確保數據能夠通過物聯云平臺發送和接收。在測試時可以通過移動ADXL345傳感器得到不同方向上的偏轉角度值。在測量精度方面,需要先與實際值做對比,再在程序上增加偏置值。

3 系統調試

3.1 阿里物聯云調試

根據設備的要求對阿里云物聯網平臺上的模擬設備進行配置。在測試時,可借助MQTT調試工具。打開MQTT調試工具,將MQTT調試工具接入產品的連接參數,對設備的在線狀態和消息的發布與訂閱進行模擬。檢驗設備是否成功連接阿里云物聯網平臺,一旦成功連接后,阿里物聯云平臺設備管理中的設備會顯示在線狀態,MQTT調試工具右上角的圓點會由紅色變成綠色。

3.2 硬件端與阿里云端通信調試

通過配置MQTT連接參數,實現阿里云物聯網平臺與硬件設備通信。成功連接后,在阿里云端監控運維的日志服務下可以接收到ESP32C3發布的消息,云端會先收到ESP32C3發布的“mqtt connect ok”,然后接收到“mqtt subscribe successful”消息。

3.3 客戶端與阿里云端通信調試

通過對MQTT連接參數進行配置,將MQTT上得到的三元組用于連接。在物聯網平臺檢測客戶端的在線狀態。成功連接后,客戶端數據接收和發送需要使用JSON格式。

3.4 實驗原型系統

圖2為實驗原型系統。用面包板模擬橋梁平面,ESP32C3模塊需要對網絡進行配置。連接手機移動熱點,使用Wi-Fi作為ESP32C3的網絡。系統可以通過物聯云將數據傳遞到手機小程序上。ADXL345傳感器與ESP32C3模塊通過IIC方式通信。配置好ESP32C3的MQTT連接參數,若ESP32C3接上Wi-Fi,會自動連接阿里物聯云平臺。轉動硬件設備,可在小程序上得到設備的傾斜角度。

該實驗原型對本文提出的橋梁傾斜度監測方法進行驗證,驗證結果證明了該方案具有可行性。

4 結論

本文提出一種基于阿里物聯云平臺的橋梁傾角監測系統,用來監測橋梁傾角數據。從實驗結果來看:本設計同人工橋梁傾角監測相比具有較好的靈活性;系統性能穩定,具有在惡劣環境下工作的能力;系統的消息發布與訂閱通過阿里云物聯網平臺進行傳輸;用戶能夠在微信小程序上,實時讀取傾斜角度數據,這意味著當橋面發生振動時可以第一時間采取措施減小橋面抖動。本系統操作簡單、便攜性好,可遠程監測橋梁傾角數據,方便更多終端客戶對橋梁傾角變化進行監測和研究。該系統在未來的工作中會被繼續優化,運用到實際工作場景中。

猜你喜歡
開發板阿里傾角
地球軸傾角的改斜歸正
激光傾角儀在CT引導下經皮肺穿刺活檢中的應用
車輪外傾角和前束角匹配研究
云上阿里
辰辰帶你游阿里
Microchip最新推出兩款PIC32 Curiosity開發板
淺析單片機開發板的設計與制作
阿里戰略
阿里是個好榜樣
Mouser為您呈上開發關鍵之STMicroelectronics Nucleo開發板
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合