APP下载

物联网环境下楼宇逃生系统设计实现

2018-05-25丁仲全

计算机技术与发展 2018年5期
关键词:楼层楼宇火灾

丁仲全,侯 芳,张 航,邵 珂,王 震

(北京理工大学珠海学院 计算机学院,广东 珠海 519000)

0 引 言

随着人口的增加和经济的崛起,各类建筑不断发展,建筑规模越来越大,层次越来越高,建筑的标准也越来越高。新建的各类大楼都具备人员密集、设备先进、功能多、装饰豪华等特点。那么,火灾自动报警和消防系统就成为了高层建筑不可缺少的重要组成部分[1]。

火灾一旦发生,对于群众而言,他们很难知道火灾的明确地点以及火灾严重程度,更难在短时间内找出最佳的逃生路线。如此一来,他们很可能会在慌乱中到处乱跑而错过最佳的逃生时间,从而导致踩踏事件或葬生火海的悲剧。对于消防人员而言,当他们到达现场时,通常只能根据浓烟判断火源,并不清楚火灾发生的准确地点,从而无法准确有效地展开灭火行动。更不利的是,因难以确定楼宇中受难人的具体位置,在面积庞大且地形复杂的地方盲目展开救援行动,消防员很可能错过最佳救援时间,导致多数被困人群的伤亡甚至消防人员的伤亡[2-3]。

为解决上述问题,设计了一个物联网环境下[4]的楼宇安全逃生系统。该系统主要有最佳逃生路线规划、逃生指示灯引导、实时监测室内环境状况、一键呼叫求救以及火灾警报等功能。

1 系统设计

物联网环境下楼宇安全逃生系统主要由中央控制系统(简称“中控”)、云服务器及移动端APP三大模块组成,如图1所示。中央控制系统设置在楼宇建筑的控制室里,主要用于采集环境状况的数据和向用户展示楼层状况;云服务器主要用于存储整个安全逃生系统所产生的数据;移动端APP作为安全逃生系统的展示载体,其中功能包括路径规划、楼层状况查询、室内导航、手机定位呼救[5]等功能。

图1 系统框架

中控段:由温湿度传感器模块、烟雾浓度传感器模块、Zigbee模块[6]、协调器和Mini210开发板[7]组成。在中央控制系统运转过程中,温湿度传感器模块和烟雾浓度传感器模块实时对现实环境进行数据采集,保证环境状况真实;同时,Zigbee模块将采集的数据通过串口传输至Mini210开发板,实时更新环境状况。Mini210开发板则用于楼层显示屏,获取数据并分析判断出楼层中的具体环境状况,以及向用户展示整个楼层的环境状况。若遇到火灾情况发生,中央控制系统会及时启动消防联动功能和发出警报告知用户。

云服务器端:用来存储和发布实时数据信息。存储的数据主要有三个来源:一是存储来自中控端采集的实时环境数据;二是存储来自移动端APP上传的个人用户信息;三是由后台管理系统上传的楼宇信息。由于整个服务器存储的数据量非常大,该项目使用后台管理系统对数据进行管理与操作[8]。

应用端:即移动端APP,用于室内导航[9]、楼宇信息查询;当发生火灾时,APP则会基于楼层状况精确规划出最佳逃生路线,告知用户如何快速逃生。若遇到重大火灾无法逃脱时,用户可以通过APP进行GPS定位向外界发出求救。

2 数据库设计

考虑到人群的安全疏散问题,物联网下楼宇安全逃生系统必须准确及时地获取和发布火灾实时数据。因此数据库的选择和设计就起到了至关重要的作用。

在云服务器环境下建立数据库时,需要选择一个灵活性高、查询速度快的关系型数据库。MySQL[10]是一种关联数据库管理系统,它将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL是使用C和C++编写,并使用了多种编译器进行测试,保证了源代码的可移植性;而且其为多种编程语言提供了API,包括C、C++、Python、Java、Perl、PHP等,以及优化的SQL查询算法,有效地提高查询速度;同时也提供用于管理、检查、优化数据库操作的管理工具。既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。

由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。因此选用MySQL来开发云服务器的数据库[1]。

基于数据来源与数据使用情况分析,数据库中主要设定管理员信息表、楼宇信息表、城市字典表、楼层信息表、传感器数据表、用户信息表;其中,楼宇信息表、城市字典表、楼层信息表通过添加外键方式实现表与表之间的关联,保证了楼层、楼宇、城市之间关系的唯一性。

3 硬件设计

中央控制系统在采集数据与火灾警报提醒过程中,需通过相关硬件设备实现。硬件框图如图2所示。

图2 硬件框架

3.1 中控模块设计

Mini210开发板用作于整个中央控制系统的核心控制器,采用嵌入式Linux系统[11-12],拥有独立的文件库与库函数;提供自适应以太网RJ45接口、3.5 mm立体声音频输出接口;电源电路支持低功耗待机省电模式,保证开发板能长时间处于工作状态。

根据系统设计,具有以下相关功能:

(1)服务数据上传。

在中控系统里,数据的传输与交互是在服务请求中实现的,当各组传感器需将采集的数据上传至云服务器时,需通过开发板访问服务器,发送命令并请求服务器允许数据上传。

(2)楼层状况展示。

楼层状况信息会实时性更新,每隔5秒时间,开发板会更新传感器采集的数据,并展示最新状况。

(3)楼层平面地图显示。

每个楼层出口都会放置楼层显示屏,向用户展示楼层状况、室内地图与温馨提示。在日常生活中,提供给用户作室内导航指示;在火灾发生情况下,楼层显示屏将呈现火灾状况信息提醒用户,远离火灾发生点,及时逃生。

(4)火灾发生警告提醒。

基于楼层状况实时性更新,当火灾发生即室内温度高达60°以上时,中控系统会将警报信息呈现在楼层显示屏上并同时发出警报声提醒群众及时逃生。

3.2 环境状况监测模块设计

中控系统在环境状况监测过程中,需使用到温湿度传感器模块[13-14]与烟雾浓度传感器模块[15-16]对室内环境的数据进行采集,两种传感器模块主要用于实时采集环境数据(每3秒采集一次数据),并将采集的数据及时发送至Mini210开发板中,保证数据的实时性与准确性。

(1)温湿度传感器模块。

DHT11温湿度传感器,具有相对湿度和温度测量、全部校准,数字输出、卓越的长期稳定性、无需额外部件、超长的信号传输距离、超低能耗、引脚安装、完全互换等特点,广泛应用于暖通空调、测试及检测设备、汽车、数据记录器、消费品、自动控制、气象站、家电、湿度调节器、医疗、除湿器等领域[9]。

传感器特色:

(a)湿度测量范围为20%~95%;湿度测量误差值为±5%。

(b)温度测量范围为0°~50°;温度测量误差值为±2°。

(2)烟雾浓度传感器模块。

烟雾浓度传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增加。使用简单的电路将电导率的变化转换成与该气体浓度相对应的输出信号。

传感器特色:

(a)具有DO开关信号TTL输出和AO模拟信号输出。

(b)TTL输出有效信号为低电平。

(c)浓度越高,模拟量输出电压越高。

(d)对液化气、天然气、城市煤气、烟雾有较好的灵敏度。

4 软件设计

4.1 室内地图绘制

物联网环境下楼宇安全逃生系统的移动端APP由算法实现引导用户逃生的路线。最优路径规划必须以全局室内地图为基础。为模拟真实环境,本团队手动制作室内地图,并导入至移动端APP内;用户可根据所在楼层位置调用对应的室内地图。

首先使用CAD[17]工具绘制一张室内地图,以png格式保存,再使用slicingtool工具对室内地图进行切片,切成类似瓷砖般格子图像,这些被切开的格子组织成多个缩放级别。缩放级别是从0开始,其中0级别缩放的地图图像尺寸为1﹡1像素。在每下一个缩放级别,图像尺寸则会两倍递增。

每个地图都有层和地图对象。地图对象是可以在地图上显示的对象,其中绘制对象可以用来显示地图对象。地图对象可以添加到任何层,对象坐标以像素为单位。图像的最左上角是(0,0)坐标。地图上的对象分为两种:店铺图标和火灾图标。

(1)店铺图标。

对不同店铺在地图中的坐标进行收集,并将其保存在house_info.txt中;创建对象图层houseLayer,再通过addScalableMapObject(index,poxX,poxY,houseLayer,startId)在图层houseLayer上创建店铺对象。其中,index为对象的ID,poxX为对象的X坐标,poxY为对象的Y坐标,houseLayer为对象所在的图层,startId为该对象与路线规划所对应的起点。最后使用Touch事件来监听点击店铺图标时,弹出“从这里出发”的按键。

(2)火灾图标。

设计好传感器的位置,收集传感器在地图中的坐标,并将其保存在sensor_info.txt中;通过php接口文件获取云服务器中传感器的状态值,再通过状态值来判断当前位置是否着火(当status为1时,表示正常;当status>1时,表示出现火灾)。创建对象图层sensorLayer,若当前传感器的位置为无火灾时,addScalableNFireObject(i,x,y,sensorLayer),在sensorLayer图层上放置无火灾的图标;若当前传感器的位置为有火灾时,则addScalableYFireObject(i,x,y,sensorLayer),在sensorLayer图层上放置有火灾的图标。并通过实时读取后台数据,以实时检测是否发生火灾。火灾图标也是实时变化的,通过实时变化来提醒用户是否发生火灾。

控制地图放大与缩小的三种方式:双击控件、pinch手势、物理按键。缩小一个地图级别,调用mapWidget.zoomIn();增大一个地图级别,调用mapWidget.zoomOut();获取当前地图级别,调用mapWidget.getZoomLevel()。初始化地图时,使用构造器设置,如设置地图初始级别为11,使用Int initialZoomLevel=11,MapWidget mapWidget=new MapWidget(this,“map”,initialZoomLevel)。

图3 室内地图B1

4.2 搜索算法

基于最佳逃生路线[18-19]规划与生成,采用深度优先遍历算法实现;其原理是沿着树的深度遍历树的节点,尽可能深入搜索树的分支。

(1)递归定义。

假设给定图G的初态是所有顶点均未曾访问过。在G中任选一顶点v为初始出发点(源点),则深度优先遍历可定义如下:首先访问出发点v,并将其标记为已访问过;然后依次从v出发搜索v的每个邻接点w。若w未曾访问过,则以w为新的出发点继续进行深度优先遍历,直至图中所有和源点v有路径相通的顶点(亦称为从源点可达的顶点)均已被访问为止。若此时图中仍有未访问的顶点,则另选一个尚未访问的顶点作为新的源点重复上述过程,直至图中所有顶点均已被访问为止。

(2)遍历过程。

设x是当前被访问顶点,在对x做过访问标记后,选择一条从x出发的未检测过的边(x,y)。若发现顶点y已访问过,则重新选择另一条从x出发的未检测过的边,否则沿边(x,y)到达未曾访问过的y,对y访问并将其标记为已访问过;然后从y开始搜索,直到搜索完从y出发的所有路径,即访问完所有从y出发可达的顶点之后,才回溯到顶点x,然后再选择一条从x出发的未检测过的边。上述过程直至从x出发的所有边都已检测过为止。此时,若x不是源点,则回溯到在x之前被访问过的顶点;否则图中所有和源点有路径相通的顶点(即从源点可达的所有顶点)都已被访问过。若图G是连通图,则遍历过程结束,否则继续选择一个尚未被访问的顶点作为新的顶点,继续遍历。

(3)路径生成与存储。

根据地图的整体布局,利用深度优先遍历算法[20]可以实现路线规划。在深度优先遍历算法中,以出口为最终节点,以用户点击的店铺为起点构建出森林,即生成路径。每个节点结构Node分成Node.id,节点的唯一标识,用以查找节点坐标与相邻节点。(Node.X,Node.Y)表示为节点坐标,用以识别节点位置。Node.neightberList表示节点的邻居列表,用于记录节点的可达节点。每条路径结构Path分成Path.crossNodes(经过的节点)和Path.PathDistance(当前路径的距离)两个部分。

森林构建完成后,系统将地图中所有路径的拐点存入data.txt,保存格式为(id,x-height,Y-coordinate,可达点)。再读取data.txt中的数据,将x坐标与y坐标存入nodeList链表中,把每个点对应的可达点存入nerhborList链表中,完成对生成路径的保存。

(4)实现最短路径。

在遍历节点时,新路径会不断地与已存路径的距离(简称PathDistance)进行对比。若新路径距离大于PathDistance,则直接放弃此次遍历;因为不可能找到更短的路径,节省遍历的时间。若新路径更短,则PathDistance直接替换为新路径。下一次遍历节点时,同样继续与PathDistance进行对比,不断存储与优化路径,直至规划出最短路径ShortestPath。

(5)实现最佳路线。

在实现最短路径的基础上,通过算法规划最优路径。设定某间店铺为起点A,地图存在多个终点。无火灾发生情况下,基于起点A规划出至所有出口的最短路径ShortestPath,将所有ShortestPath进行对比判断出最佳路线。火灾发生情况下,基于起点A规划出至所有出口的最短路径ShortestPath,并经过两层筛选判断出最佳路线(第一层:优先删除发生火灾的路径,第二层:在剩下的ShortestPath筛选出最优路线)。伪代码如图4所示。

图4 搜索算法伪代码

4.3 移动端APP设计

移动端APP登陆后主要分为4个菜单:【地图】、【楼宇】、【消息】、【我的】。

【地图】菜单页面:显示当前室内地图,用户可对地图进行如下操作:通过按键放大与缩小,或通过手势进行放大与缩小;双击地图,可放大地图;点击店铺名称,弹出“从这里出发”按钮,点击按钮即可生成通往出口的最佳路线。

【楼宇】菜单页面:用户通过选择不同的楼宇,获取不同楼宇的相关信息。

【消息】菜单页面:定期推送火灾逃生知识,提高个人火灾逃生意识。

【我的】菜单页面:显示用户信息、当前室内环境状况信息以及提供一键呼叫求救功能。

【登录】页面:用户通过输入正确的用户名与密码成功登陆进入主界面。

【注册】页面:新用户通过输入用户名、密码与手机号进行注册。

用户注册实现:在APP端,通过jsonObject对用户信息(用户名、密码、手机号码)的数据进行封装,访问接口文件路径连接服务器,接受封装的数据,并将数据传送到数据库,实现注册功能。

用户登录实现:在APP端,通过jsonObject对用户信息(用户名、密码)的数据进行封装,访问接口文件路径上传数据,并将数据与云数据库的数据进行匹配,匹配成功,则登录成功,匹配失败,则登录失败。

软件框架如图5所示。

图5 软件框架

5 系统测试与分析

系统应用的功能较多,且分为几大模块组合而成,其分别为:

(1)硬件模块:Zigbee模块接入各种传感器,收集周围环境数据,通过节点同意发送到终端机中另做处理。

(2)终端开发板负责把Zigbee收集的数据上传到数据库中并加以显示。

(3)软件模块:服务器端存储环境状况监测模块采集的数据,并对数据进行实时检测;最终把正确信息反馈至移动端APP中。

(4)移动端APP实现登录注册功能,注册信息将保存在云服务器中,用户登陆后即可查看楼宇信息以及在发生火灾时系统规划的最佳逃生路径。

系统在测试过程中,针对每个功能进行检测,保证环境状况监测、安全指示灯指引、火灾警报通知、最佳逃生路径规划等功能可以正常实现,达到预期效果。

6 结束语

纵观现今的高楼大厦与大型建筑,基本都有安装消防系统与配置相关的消防设备。不过,随着人们对消防安全知识的重视,以及消防意识的增强,现有的消防系统在消防效果上并不是很显著,远远达不到人们的预期。那么,基于物联网下的楼宇安全逃生系统的应用价值就体现出来了,其基于蚁群算法的逃生路线规划与移动智能终端的逃生信息推送,以及室内WiFi定位[21]等功能很好地满足了人们的需求。

针对各种构造复杂的大型楼宇,该系统在整个走廊通道上都设置了多个相关设备,而且多个设备同时进行工作,不会因为某个硬件坏了而导致整个系统的崩溃,与此同时各个设备间都有信息的交流,实时将采集的数据传送到终端机上。该项目利用了系统的实时性功能,无论何时何地,只要连上楼宇WIFI且登录移动端APP,就可以清楚知道用户所在楼宇的实时情况。

针对目前市场上各种建筑需求的不同,将会由该系统分化出各种符合需求的子系统。如小区楼盘,针对于楼层路线简单以及人口数量偏多,其子系统上的相关路线规划功能会相对简化以及添加住户之间通信等实用性功能。因此,无论在公共场合或者在小区楼盘,人们的安全保障都会得到大幅提高。该系统具有很好的应用价值及发展前景。

参考文献:

[1] 唐一行.浅谈火灾自动报警系统高层建筑的设计及发展状况[J].中国科技信息,2011(1):40-41.

[2] 陈昳宏,耿望阳.超高层建筑的火灾自动报警系统设计[J].现代建筑电气,2014,5(2):39-41.

[3] HWANG E K.A study on the system improvement for ensuring evacuation safety of people vulnerable to disasters in case of a fire in the building[J].Advanced Materials Research,2015,1065-1069:2372-2376.

[4] 刘 强,崔 莉,陈海明.物联网关键技术与应用[J].计算机科学,2010,37(6):1-4.

[5] 陆 艇.医疗急救中心手机定位系统设计与实现[D].成都:电子科技大学,2015.

[6] FIRDAUS F,NUGROHO E,SAHRONI A.ZigBee and wifi network interface on wireless sensor networks[C]//International conference on electrical engineering and informatics.[s.l.]:[s.n.],2015:54-58.

[7] 刘 岩.基于S5PV210开发板的Android系统移植与应用开发[D].青岛:中国海洋大学,2013.

[8] 张建伟,潘秀琴.基于量子优化的云服务器负载均衡算法研究[J].计算机应用研究,2015,32(10):3128-3130.

[9] 林 雕,宋国民,邓 晨.基于图的语义室内导航模型构建研究[J].测绘工程,2015,24(1):48-52.

[10] 唐汉明.深入浅出MySQL数据库开发、优化与管理维护[M].第2版.北京:人民邮电出版社,2014.

[11] 路青起,席丹丹.嵌入式Linux系统移植[J].国外电子测量技术,2014,33(12):78-81.

[12] 霍玲玲,王世君,徐晓卉,等.嵌入式Linux系统的设计与实现[J].计算机技术与发展,2014,24(5):87-89.

[13] 秦 华,孙晓松.基于Arduino/Android的环境状况监测系统设计[J].无线互联科技,2013(1):59-61.

[14] 陈克忠,房建东.环境温湿度模糊识别传感系统设计与仿真分析[J].电子设计工程,2016,24(12):57-59.

[15] 杨正东.烟雾连续在线检测无线传感器关键技术研究[D].镇江:江苏大学,2012.

[16] 昝 杰.温度和烟雾监测及远程报警系统的设计与实现[D].成都:电子科技大学,2015.

[17] 孙玉龙,茅志兵.CAD地图的快速发布及在移动设备中应用[J].测绘工程,2014,23(3):50-54.

[18] 苏 航,田逸宁,陈惠迪,等.基于物联网技术的模块化多传感器高楼火灾逃生路线规划装置[J].消防界,2016(7):58.

[19] 薛 明.恶劣天气因素下最优车辆路线调度路径选择[J].计算机仿真,2015,32(3):210-212.

[20] 李立红,许元飞.深度优先搜索的支持向量机参数优化算法[J].计算机仿真,2011,28(7):216-219.

[21] 杨 帆,赵东东.基于Android平台的WiFi定位[J].电子测量技术,2012,35(9):116-119.

猜你喜欢

楼层楼宇火灾
奶奶做的“楼层儿”
基于物联网的智能楼宇顶层架构设计
通信生产楼宇建设项目造价问题分析
楼层
商务楼宇治理中党建融入的逻辑与路径——基于广州S楼宇的观察与思考
电梯的升与降
掌握火灾逃生知识
高层楼宇灭火装备
离奇的火灾