基于傾角傳感器的大型廣告牌匾傾斜監(jiān)測系統(tǒng)設計
引言
隨著城市的飛速發(fā)展,城市中的商業(yè)化元素也在迅速的增長,其中最主要的一類就是廣告牌匾。特別地,隨著商業(yè)競爭的日益加劇,眾多商家已經不再滿足傳統(tǒng)的店面式牌匾,而是設立一些大型的、高空的巨型廣告牌匾。但是,當出現(xiàn)大風、驟雨等極端天氣時,這些大型戶外廣告則有可能發(fā)生傾倒,成為城市管理中的安全隱患。傳統(tǒng)廣告牌匾監(jiān)管方式往往以人工巡查為主,不僅費時費力且無法實現(xiàn)對大型戶外廣告牌匾穩(wěn)固性的實時監(jiān)測叫曾在2013年6月,南寧市就發(fā)生過一起因大型廣告牌匾倒塌處理不及時而引起的交通事故,經法院判定,城管局承擔40%的責任。隨著近幾年來物聯(lián)網技術的快速發(fā)展,“智慧城市”的相關應用不斷深入,廣告牌匾監(jiān)管單位越來越希望可以利用傳感器等設備自動、方便地對大型廣告牌匾進行實時的監(jiān)管,由此,基于傾角傳感器的大型廣告牌匾傾斜監(jiān)測系統(tǒng)被設計出來,實現(xiàn)了對大型牌匾傾斜角度的實時測量、動態(tài)智能感知預警,輔助監(jiān)管單位第一時間發(fā)現(xiàn)存在的安全隱患,保證及時修繕。
1總體結構
大型廣告牌匾監(jiān)測系統(tǒng)由前端信息采集裝置和后臺信息處理與展示部分組成,前端信息采集裝置采用基于MEMS(MicroelectroMechanicalSystem,微機電系統(tǒng))的雙軸傾斜傳感器和微電子控制技術設計,雙軸傾斜傳感器可對牌匾進行水平與豎直方向的實時監(jiān)測,監(jiān)測數(shù)據(jù)采用RS485接口與微處理器通信,對微處理器進行一些基本設置(例如:對日期時間、傳輸協(xié)議、監(jiān)測頻率、基站信息等設置)后,把所有相關數(shù)據(jù)通過GSM/CMDA/3G網絡發(fā)送到指定服務器,由服務器對數(shù)據(jù)進行處理并入庫,提供給前臺B/S系統(tǒng),最終實現(xiàn)牌匾監(jiān)測以點的形式在地圖上標注顯示、實時數(shù)據(jù)展示、數(shù)據(jù)查詢與統(tǒng)計、用戶信息管理以及達到預警級別給用戶發(fā)送短信等功能,如圖1所示。
2.1采集端結構
前端信息采集裝置由5部分組成:包括測量部分(雙軸MEMS傾角傳感器和RS485通訊接口[8])、處理部分(單片機)、操作部分(液晶顯示屏和鍵盤)、通信部分(GSM通信模塊)、供電部分(太陽能光伏供電),具體如圖2所示。
各組成部分詳述如下:
(1)測量部分:雙軸MEMS傾角傳感器:角度測量設備;RS485通訊接口:傳感器將傾角數(shù)據(jù)傳輸給單片機的通道;
(2)處理部分:起連接作用,協(xié)同個設備工作;
(3)操作部分:便于修改參數(shù);
(4)供電部分:控制供電模式,當有陽光時,太陽能板與蓄電池同時給單片機供電,并且太陽能板給蓄電池充電,當沒有陽光時,只有蓄電池供電;
(5)通信部分:將單片機接收的傾角數(shù)據(jù)和通過鍵盤設置的配置信息通過無線方式發(fā)出。
2.2 布設參考
由于前端設備比較零散,需要放在室外,并且與供電相關,所以最好放在一個設備箱中,考慮到靈活性,設備箱最佳放置方式采用固定在立桿上的方式,再者根據(jù)現(xiàn)場及可負重情況,設計一個用來固定設備箱以及太陽能板的鋼管立桿,要求立桿不宜過高、不宜損壞,能夠方便地掛設設備箱和太陽能板,然后在大型廣告牌匾后面挖坑,放入地錨打地基,待穩(wěn)固后立桿,最后將傾角傳感器固定在牌匾背面,固定前盡量將傳感器橫軸或縱軸與地面或垂直地面方向平行,并前后左右擺動傳感器,觀察傳感器 X、Y 軸與實際橫縱軸的對應關系以及角度變化情況,示意圖見圖 3。
3軟件設計
3.1系統(tǒng)框架
本系統(tǒng)根據(jù)當前監(jiān)管單位的實際情況和需求,通過調查,并依照經濟性、實用性、可靠性的原則制定了整體架構,主要分為五個層次,從下到上依次為基礎設施層、數(shù)據(jù)處理層、數(shù)據(jù)存儲層、業(yè)務邏輯層、服務對象層,見圖4。
各層詳述如下:
(1)基礎設施層位于最底層,是指與軟件部署向相關的硬件設備,具體包括服務器、網絡和短信發(fā)送設備(短信貓)。
(2)數(shù)據(jù)處理層是指對第一手數(shù)據(jù)進行接收、解析、入庫、運算等一些行為,由于程序使用Java語言編寫,還要與數(shù)據(jù)庫連接,所以需要Java環(huán)境和jdbc包,數(shù)據(jù)庫軟件和GIS軟件供后續(xù)操作使用。
(3)數(shù)據(jù)存儲層是指永久存儲數(shù)據(jù)部分,主要是以數(shù)據(jù)庫表的形式存放數(shù)據(jù),供Web端直接調用。
(4)業(yè)務邏輯層對應所有核心系統(tǒng)與應用,系統(tǒng)的復雜性也主要體現(xiàn)在此,包含基礎數(shù)據(jù)中心(區(qū)級)、地圖展示、查詢統(tǒng)計、預警、短信通知等功能。
(5)服務對象層將中心各業(yè)務功能向不同用戶以不同表現(xiàn)形式進行展示。具體為,針對各用戶(市、區(qū)級監(jiān)管單位、其他部門單位和領導等)需求,在界面集成基礎上,通過統(tǒng)一訪問門戶提供不同的訪問內容和功能服務。
3.2數(shù)據(jù)處理
數(shù)據(jù)由前端監(jiān)測設備以UDP或TCP協(xié)議傳輸?shù)椒掌髦付ǘ丝?,雖然UDP較TCP相比,缺乏可靠性,但其具有傳輸速度快的優(yōu)點,且更適用于少量數(shù)據(jù)傳輸,再加上系統(tǒng)是以連續(xù)觀測方式測量,即使丟失一兩條數(shù)據(jù),也不會影響到數(shù)據(jù)的總體情況,因此選用 UDP 方式進行數(shù)據(jù)傳輸。
考慮到接收程序需要一直運行,并且也不需要用戶操作界面,因此采用 Windows 服務的方式來實現(xiàn),服務程序中應包括數(shù)據(jù)獲取、提取信息、數(shù)據(jù)入庫、發(fā)送報警短信等功能,之所以將發(fā)送短信功能納入此處,而不是包含在 Web 端,首先考慮到短信報警的實時性,其次不需要用戶控制何時發(fā)送短信,流程見圖 5。
獲取數(shù)據(jù)的主要代碼如下:
DatagramSocket ds = new DatagramSocket(5535);
// 設定需要監(jiān)聽的端口
byte[] buf = new byte[35] ;
DatagramPacket dp = new DatagramPacket(buf,0,buf.length);
// 創(chuàng)建接收數(shù)據(jù)包
ds.receive(dp); // 接收數(shù)據(jù)
String data = new String(dp.getData(),0,dp.getLength());
// 得到數(shù)據(jù)包中的數(shù)據(jù)
char[] chars = data.toCharArray();
// 將得到的數(shù)據(jù)存入字符數(shù)組
提取信息過程需要知道字符數(shù)組中每個字符的含義,通信格式見表 1,字符采用16 進制形式表達。
這里最難處理的就是提取角度值,由于其占兩個字節(jié),所以需要進行合并,再加上有可能為負值,而計算機是以最高位形式表示,因此需要進行轉換,若用二進制進行運算,操作方法為對負數(shù)取絕對值,然后取反,再加一,但本程序根據(jù) byte 型數(shù)據(jù)類型的特點進行轉換,關鍵部分代碼如下(代碼非連續(xù)):
short a = 0 ;short s = 0
if(buf[i] < 0)// buf[i] 為字符數(shù)組中與角度對應的位
a =(short)(256 - Math.abs(buf[i])); // 將負數(shù)轉為正
s =(short)(s ^ a); // 取得第一位角度值
s =(short)(s << 8); // 移位
s =(short)(s ^ b); // 插入第二個角度值
得到角度值之后要與預警范圍進行比較,到達預警級別后發(fā)送短信,由于與牌匾相關的規(guī)范中還未涉及角度相關規(guī)定,因此我參考桿塔傾斜的相關規(guī)范,根據(jù)牌匾高度和材質指定預警級別,最后共分3個等級,見表2。
3.3 數(shù)據(jù)庫設計
根據(jù)系統(tǒng)功能,創(chuàng)建了6 張表,包括預警等級表、歷史表、短信模板表、短信接收人信息表、按小時統(tǒng)計表、按天統(tǒng)計表;兩個存儲過程,包括統(tǒng)計站點每小時特征值和統(tǒng)計站點每天特征值 ;兩個數(shù)據(jù)庫作業(yè),分別用于定時執(zhí)行存儲過程,下面挑出幾個重要的說明。
3.3.1 歷史表
該表中的數(shù)據(jù)是通過 Windows 服務處理后的數(shù)據(jù),可以理解為實時數(shù)據(jù),目的是為了提供給 Web 前端和其他表使用,表結構如表 3。
3.3.2 統(tǒng)計站點每小時特征值存儲過程
由于 Web 端提供了數(shù)據(jù)查詢與統(tǒng)計的功能,再根據(jù)以往經驗,當數(shù)據(jù)量系統(tǒng)運行周期較長后,歷史表中的數(shù)據(jù)會較多,在做查詢與統(tǒng)計時,Web 端可能需要等待較長時間,降低用戶體驗,因此把數(shù)據(jù)進行抽吸。該存儲過程的主要思想就是從歷史表中查詢出一小時的數(shù)據(jù),然后進行篩選,篩選方式為取出這一小時內的角度最大的前三個值,分別命名為 a、b、c,計算出這一小時的角度平均值 d,然后分別和平均值求差后得到 e、f、g,在計算 e - f 和 f - g,若前者大,則挑選出 b,若后者大,則挑選出 c,將挑選出的數(shù)作為該小時的角度特征值存入按小時統(tǒng)計表中。該存儲過程使用數(shù)據(jù)庫作業(yè)方式每小時執(zhí)行一次。
3.4 功能模塊設計
該系統(tǒng)主要包括站點地圖定位展示功能、實時數(shù)據(jù)和前一小時數(shù)據(jù)展示功能、查詢與統(tǒng)計功能、查詢預警值功能、信息管理功能。
(1)地圖展示模塊中,采集設備在地圖上的位置會以小氣泡的形式標注出來,點擊小氣泡后會顯示出站點圖片、當前傾角值,并且可以查看到當前站點前一小時的傾角數(shù)據(jù)曲線圖。
(2)查詢與統(tǒng)計模塊中會以表格和柱狀統(tǒng)計圖的形式展示,若選取時間大于 31 天,統(tǒng)計圖中只會顯示出用戶所選時間范圍內的較大的 31 天以曲線圖形式顯示。
(3)預警查詢模塊是用來查詢達到預警級別的數(shù)據(jù)。
(4)信息管理模塊中可以進行預警等級的修改、編寫發(fā)送短信內容、管理短信接收人信息等操作。
(5)集成界面訪問門戶提供系統(tǒng)訪問內容的顯示界面,具體見圖6。
4 結 語
本系統(tǒng)利用傾角傳感器實現(xiàn)了大型戶外廣告牌匾的實時監(jiān)測和預警,實現(xiàn)了監(jiān)測數(shù)據(jù)實時展示、查詢與統(tǒng)計、預警預報,用戶信息管理等功能。與傳統(tǒng)監(jiān)管方式相比,系統(tǒng)具有自主性、全天候的特點,在提升監(jiān)測效率的同時大大節(jié)約了人力監(jiān)測成本。另外,傾角傳感器技術主要應用于橋梁、大壩、輸電線桿塔以及地質災害等角度變化監(jiān)測,在城市管理領域鮮有應用,本研究中的大型廣告牌匾監(jiān)測可以作為一項有益探索。目前,系統(tǒng)已經投入試運行,有些問題已經逐漸顯露,例如網站首次登陸的加載時間比較長、信息管理模塊中對人員的權限管理還不夠全面,雖然可能還會有問題出現(xiàn),但我相信隨著問題的解決,系統(tǒng)還有很大的提升空間。
20211223_61c37473324de__基于傾角傳感器的大型廣告牌匾傾斜監(jiān)測系統(tǒng)設計





