趙晶晶,譚方勇
(蘇州市職業大學,江蘇蘇州,215104)
燃氣是我們日常生活中必不可少的生活資源,它的安全還關系著我們的生命和財產安全。雖然現在家庭中普遍使用天然氣,但是在當前很多城市的放心早餐攤、晚上的夜市大排檔等場合,煤氣瓶仍是一種主要的經營設施,它們的安全管理非常的重要,因為一旦發生事故,影響會非常大,但是,目前我們對煤氣瓶的使用管理還處于一種離散狀態,缺少一種集中有效的、能實時監測的管理手段,因此城市管理部門無法及時了解這些煤氣瓶的使用狀態,這就會帶來不少的安全隱患,所以,如果能對煤氣瓶的使用和定位情況進行監測,及時了解煤氣瓶的行蹤和狀態,這樣就能更好地讓城市管理部門來對其監管,減少安全隱患的發生。
文獻[1]采用B/S結構進行動態監測,讓使用者隨時的進行在線查詢、對相關數據進行瀏覽,但是該系統沒有進行硬件方面的設計,無法對城市范圍內的煤氣瓶進行綁定,所以沒法定位和跟蹤其使用的狀況。文獻[2]采用條碼技術對煤氣瓶進行標識,制定了JPM碼編碼規則,在此基礎上設計并實現了JPM碼編碼系統;但該軟件僅限于標識煤氣瓶,無法預測煤氣瓶的環境信息以及數據上報。文獻[3]根據煤氣瓶安全管理存在的問題,對煤氣瓶監測終端進行了需求分析,提出了煤氣瓶監測終端的硬件設計方案。但是并沒有給出具體的實施方案,在器件選型和軟件設計需要進一步優化。
本文采用低功耗NB-IOT技術,在煤氣瓶上附加硬件裝置,通過內置的振動、GPS等傳感器獲取煤氣瓶使用的狀態,同時監測裝置的電池余量,并將采集的數據上報至云端,用戶的前端采用Spring Boot框架進行設計。城市監管部門可以通過本系統,實現對城市小攤販的煤氣瓶使用狀況的實施監管,及時消除安全隱患,提高城市安全管理水平。
本系統的整體架構設計如圖1所示,包括物聯網終端設備、物聯網接入與IOT聯接管理平臺、業務數據處理中間件、WEB前端應用等四個部分。
(1)物聯網終端設備:是物聯網體系架構的基礎,主要負責信息的收集和獲取,在感知層,通過傳感器可以感知物體周圍環境的信息。煤氣瓶監測系統通過一系列傳感器,采集煤氣瓶的溫度、位置、振動等信息,當遇到高溫或煤氣泄露時,該系統進行警報。
(2)物聯網接入與IOT聯接管理平臺:通過NB-IOT模組,將感知層的采集到的數據發送到物聯網云平臺,同時將物聯網云平臺下發的命令發送至業務層。在本系統中主要是指信號基站和IOT物聯網開發平臺,當NB-IoT模組接收到AT指令后,將數據封裝為CoAP協議的消息并發送給物聯網平臺,物聯網平臺接收數據后,自動解析CoAP協議包,將數據存于平臺之上。由物聯網云平臺對煤氣瓶狀態信息進行分析,對煤氣瓶進行監測。
(3)業務數據處理中間件:主要包含了對煤氣瓶的設備管理、數據檢測等業務邏輯,可以根據編號進行指定查詢煤氣瓶的詳細信息。該層處理來自感知層的數據,展示給前端用戶;調用業務邏輯層中的方法處理來自前端的控制命令。
(4)WEB前端應用:前端主要是與用戶進行交互,該層將感知層的數據以一個友好的方式展示給用戶,其主要功能是呈現用戶向服務器請求的 Web 資源,顯示在瀏覽器窗口中,用戶可以通過客戶端進行查看煤氣的實時狀態。
系統整體架構設計如圖1所示。

圖1 煤氣瓶移動監測系統體系架構
煤氣瓶監測系統硬件總體架構如圖2所示。

圖2 煤氣瓶監測系統硬件總體架構
本系統采用型號為STM32F103ZET6的單片機,基于ARMv7- M體系結構的32位標準RISC處理器,工作頻率為72MHz,具有高性能、低功耗的特點。STM32F103ZET6的GPIO有8種模式,其中包含上拉、下拉輸入模式。能夠支持USB、UART/USART 等通訊協議,其外圍設備包括溫度傳感器、DMA、PWM等80個可設置的GPIO,故此處理器可滿足系統的設計需求。
該模塊主要獲取煤氣瓶的移動狀態數據,并通過NBIoT通信模組上報云平臺。其終端模塊主要分為三個部分:采集模塊、通信模塊、主控模塊。
(1)采集模塊由壓力傳感器、溫度傳感器、振動傳感器組成,采集煤氣瓶的電池電壓、溫度、一氧化碳濃度、位置等信息,采集模塊受主控模塊控制,并將這些數據傳輸給主控模塊。
(2)通信模塊受主控模塊控制,采集模塊的數據需要通過通信模塊匯聚到網絡層,進而通過云平臺對設備進行遠程管控。
(3)主控模塊實現對采集模塊和通信模塊的管理和控制,并且處理采集模塊和通信模塊的數據。
中間件在本系統中主要是指信號基站和中國電信物聯網云平臺,該層主要是上報設備層采集的數據,或者下發業務層的控制命令,不同的接口通過中間件仍能交換信息,保證了數據傳輸的安全性、設備的可擴展性和快速開發。煤氣瓶監測終端要接入中國電信物聯網云平臺,需要按以下步驟操作:
(1)注冊、登錄中國電信物聯網云平臺后,創建NB-IoT應用。
(2)在建立的應用中開發Profile產品。Profile是一種格式文件,用來說明設備所具有的功能與特性,云平臺通過Profile理解設備的服務、屬性、命令等信息。
(3)開發編解碼插件。云平臺的數據格式采用JSON格式,物聯網云平臺和NB-IoT設備通信采用CoAP協議通信,應用層的數據處理一般采用十六進制,因此編解碼插件供物聯網平臺調用,以實現十六進制與JSON格式的相互轉換。
(4)部署成功后,注冊設備獲得唯一標識deviceID,通過NB無線模塊聯網接入平臺。(5)終端設備的數據上報,在云平臺處保存并顯示數據。(6)云平臺進行命令下發操作,在串口中接收到十六進制數據。
應用層分為三層架構,數據接口層、業務邏輯層、接口層 (API層 )。
數據接口層:該層負責業務實體對象的數據處理,如煤氣設備的增加狀態、刪除設備、修改信息、查詢信息等。
業務邏輯層:該層主要有兩大職責,一是定義業務實體;二是業務邏輯的具體實現。本系統主要對煤氣瓶設備管理、數據監測等業務邏輯。
接口層(API層):該層用來對接前端,為前端提供業務處理接口,將煤氣瓶的數據實時交互與更新,并通過前端展示在頁面上。
業務邏輯流程如圖3所示。

圖3 業務邏輯流程圖
本系統使用的是常閉式振動傳感器,煤氣瓶靜止時屬于低電平,振動時低電平與高電平來回切換,獲取振動信息,GPS模塊接收位置信息傳送給終端進行處理,實時監測煤氣瓶位置發生變化,并顯示位置信息,代碼如下:
void Shake_Init()//配置振動傳感器
{ GPIO_InitTypeDef Shake_GPIO_Init; //定義結構
RCC_APB2Periph ClockCmd( RCC_APB2Periph_GPIOA, ENABLE); //使能時鐘打開
Shake_GPIO_Init GPIO_Mode = GPIO_Mode_IPD;//配置GPIOA結構體內容
}
void Relay_Init(void) //配置繼電器
{ GPIO_InitTypeDef Relay_init; //初始化繼電器
GPIO_Init( GPIOA, &Relay_init );
}
int main(void)
{ if(SkyTra_Cfg_Rate(5)!=0) //信息更新速度為 5Hz
{ while(1) //通過讀取傳感器的電平的高低,去判斷并控制gps
{
if(GPIO_ReadOutputDataBit(GPIOA,GPIO_Pin_1 == 0)) //低電平,開gps
{ GPIO_ResetBits(GPIOA, GPIO_Pin_3); //開gps
if(USART3_RX_STA&0X8000) //接收到一次數據了
{
for(i=0;i USART3_RX_STA=0; //啟動下一次接收 Gps_Msg_Show(); //顯示信息 If(upload)printf(USART1_TX_BUF); //發送接收到數據串口 1 } GPIO_SetBits(GPIOA, GPIO_Pin_3); }else{ GPIO_SetBits(GPIOA, GPIO_Pin_3);} //關gps }} } 獲取GPS定位信息代碼如下: void Gps_Msg_Show(void) // 獲取GPS定位信息 { tp=gpsx longitude; LCD_ShowString(30,140,200,16,16,dtbuf); //得到相關字符串 if(gpsx fixmode<=3) //獲取定位的狀態 { sprintf((char *)dtbuf,"Fix Mode:%s",fixmode_tbl[gpsx fixmode]); LCD_ShowString(30,200,200,16,16,dtbuf); } ",gpsx utc hour,gpsx utc min,gpsx utc sec); // 顯示 UTC 時間 LCD_ShowString(30,300,200,16,16,dtbuf); } 本系統主要圍繞NB-IoT技術實現了煤氣瓶監測的功能,利用Spring Boot框架進行界面設計,所監測的數據通過在web端登陸系統之后進行查看管理,本系統功能如下: (1)設備管理。記錄了煤氣瓶的設備編號、設備名詞、安裝區域、安裝位置、設備狀態等狀態信息,無論在哪終端都可以及時把位置發送給相關部門,提醒相關部門及時預防。 (2)數據監測。該系統給煤氣瓶進行編號排序,高效查看對應的煤氣瓶信息。具有溫濕度、一氧化碳濃度、位置等功能的信息采集,及時了解煤氣罐的狀態。 (3)用戶管理。超級管理員可新建用戶,查看普通用戶的詳情以比如用戶名稱、手機號碼,狀態、創建時間等,并且指定用戶添加角色的權限。 (4)角色管理:可以對用戶進行分配角色,超級管理員可以擁有所有的權限,可停用到角色的所有權限;對不同角色用戶也具有不同的管理功能。管理員有備煤氣瓶管理、系統管理和系統監控的功能;普通角色則具有煤氣瓶管理、查看系統通知公告的功能。 (5)日志管理:超級管理員能夠查看所有登陸該網站的日志編號、系統模塊等信息,查看用戶名稱及登錄日期等。 煤氣瓶監測系統主要實現的功能如圖4所示。 圖4 煤氣瓶移動智能監測系統功能圖 本文從煤氣瓶安全需求入手,分析了現有煤氣瓶安全監管技術的不足,提出了流動攤販煤氣瓶移動智能監測系統設計,將NB-IoT技術與城市管理相結合,提升城市安全水平。本文主要完成的工作如下:查閱文獻,了解煤氣瓶安全監管相關技術的發展現狀,對煤氣瓶的安全監管進行分析,并依據分析給出煤氣瓶監測終端設計方案。對嵌入式系統的通信數據處理進行了分析,實現了設備終端和物聯網云平臺間的通信。采用HTML+JS完成網頁設計,將信息以一個友好的方式展示給用戶。本文設計的煤氣瓶監測終端滿足了設計要求,可以實現對煤氣瓶狀態的實時監測。但是還有許多需要改進的地方:考慮到功耗問題,應該從器件選型上考慮,進一步優化系統功耗。煤氣瓶監測終端外殼重量還需要進一步減輕,避免對煤氣瓶本身造成影響。壓力傳感器會隨著時間的推移發生變化,影響重量測量,可以考慮根據歷史數據動態進行重量比對。
6 結束語