赵晶晶,谭方勇
(苏州市职业大学,江苏苏州,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 结束语