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