基于群智感知的城市噪声监测系统设计与实现
2018-11-26赵立鹏季磊
赵立鹏 季磊
摘要:在现代化城市中,噪声污染问题正在逐渐蔓延。如果长期处于噪声环境中,人的身心健康会遭受伤害。传统解决方案采用无线传感器网络,通常需要花费大量的人力、物力和财力来实施和维护,整个工程的实施成本很高。另一方面,随着智能手机的普及,移动互联网技术的快速发展,基于群智感知技术的城市噪声监控系统可以借助普通用户的贡献数据来估量城市的总体噪声状况,大大降低噪声监控的成本。然而,群智感知技术的应用需要解决几个关键问题。首先是智能手机测量的噪声误差较大,精度远小于标准噪声仪。其次监测时涉及用户定位信息的上传,用户隐私的保护非常重要。在涉及用户隐私方面,采用了参与式感知的形式,让用户自主选择上传噪声采样数据,降低了用户隐私泄露的风险。数据存储基于云端服务器搭建,以获取较好的扩展性和灵活性。
关键词:群智感知;智能手机;噪声监控;数据可视化;云技术
中图分类号:TP315 文献标识码:A 文章编号:1009-3044(2018)22-0190-02
1 背景
通常所說的噪声污染是指人为造成的。从生理学的角度定义,凡是对人们日常生活产生影响的声音,统称为噪声。噪音对于人们的身心的伤害可能是巨大的,并且已经被列为世界四大公害之一[1]。如果长期在这种环境中工作,高血压、动脉硬化和冠心病等重大疾病的发生率也会比普通人高1至k倍[2]。为了降低噪音污染的风险,许多国家很早开始监测噪音。最常用的方法是绘制噪声图[3]。
2 相关技术
2.1 群智感知
学术界通常将利用普适的移动设备提供感知服务的物联网新型感知模式称之为“以人为中心的感知”[5]。按照感知对象的类型和规模,这种感知模式的应用可以分为两类:个体感知[Persional Sensing]和社群感知[Community/Social Sensing]典型的个人感知应用包括监测个人运动模式(如站立、散步、慢跑、跑步等),以促进健康和监测个人的日常交通模式,记录个人的碳足迹等[6]。相比之下,社群感知能够应对那些个体难以实现的大规模、复杂的社会感知任务[7]。
近年来,人们将众包与移动感知的概念相结合,让普通用户参与进来,他们的移动设备作为基本传感单元,通过移动互联网合作,形成群智感知网络,完成大规模、复杂的社会感知任务[8]。
2.2 用户感知方式
2.2.1 参与式感知
参与式感知的基本思想是让民众使用手机等移动终端设备收集并共享周围环境的感知数据,将这些信息用于各种创新性的服务[9]。
2.2.2 机会感知
机会感知通过直接或间接方式感知用户的行为,对用户干扰较小,但数据精度依赖于感知算法和应用环境,且机会感知需较高的隐私保护机制激励用户的参与。因此在现实应用中较少[10]。
3 需求分析
噪声图是显示噪声分布的有力工具[13]。它能够将地图上地理区域的噪声分布标注出来,可以反映噪声随空间的变化。如果将时间戳添加到噪声分布图中,则可以同时看到噪声的空间和时间分布。建立一个实时粒度噪声图,还需要识别一定范围(如一个城市)每个位置的噪声强度,并可以实时更新。噪声图为噪声污染控制策略的制定提供数据,是数字城市的重要组成部分。
4 系统设计与实现
4.1 系统框架设计
设计中将系统根据功能划分为客户端模块、云服务(Web服务、数据库服务、高德地图服务、Docker容器服务)和管理端模块。
1)客户端模块
客户端基本功能是实现用户所处位置地图的展示,加载用户周围待采集数据的位置,同时客户端还具备使用麦克风进行环境声音录制并上传的功能。根据方案设计框架图1所示:
客户端模块基于主流的androd平台。该设计方案集成了高德地图服务用于对用户的地理位置进行实时发现并定位。同时,安卓平台的手机传感器非常丰富,在噪声采集上设计采用手机自带的听筒进行环境声音的采集、存储和上传。
2)服务端模块
服务端模块设计实现的基本功能是收集用户上传的噪声数据并通过Flask服务将数据写入云端的MongoDB数据库。管理端通过对Web页面访问生成的噪声地图。服务端框架图如2所示:
群智感知技术要求服务端具备海量的数据存储功能和大量用户数据的写入操作,所以方案设计采用云端服务作为服务端以增强存储和数据读写的灵活性。
4.3 客户端
APP的首页有四个底部标签页,第一个标签页是APP的主页,显示用户所在处的位置,下拉刷新时展示用户周围的监测点位置。第二个标签页是噪声录制页,用户可以进行环境噪声的录制或取消。第三个标签页是用户上传页,用户可以选择是否上传噪声数据。手机应用与高德地图服务进行交互获取用户位置定位信息,以及通过OkHttp库进行网络通讯。
4.4 服务端
噪声监控的实现基于群智感知技术,由需求分析得出的设计方案要求服务端具备海量的数据存储功能和大量用户数据的并发写操作的承载能力,所以方案设计采用云端服务作为服务端以增强存储和数据读写的灵活性。具体来说,服务端基于腾讯云服务器搭建。系统基于ubuntu部署了三个Docker容器,同时为提高读写性能和开发效率,采用了文档型数据库MongoDB,并用三个MongoDB文档数据库容器搭建了一个三个节点的集群,包括一个主节点,两个从节点。管理端访问服务使用Nginx作为Web服务器搭建,Web开发框架采用了Python 语言中流行的Flask创建。在web地图开发上选择了与客户端开发相同的地图厂商高德,便于地图格式转换。
参考文献:
[1] 刘云浩. 群智感知计算[J]. 中国计算机学会通讯, 2012(8).
[2] 王振丽. Android底层开发技术实战详解[M]. 北京: 电子工业出版社, 2012(8).
[3] 陈荟慧, 郭斌, 於志文. 移动群智感知应用[D]. 西安: 西北工业大学, 2014.
[4] 范怀宇. Android开发精要[M]. 北京: 机械工业出版社, 2012.
[5] 马建. 物联网技术概论[M]. 北京: 机械工业出版社, 2011.
[6] 霍多罗夫, 迪洛尔夫. MongoDB权威指南[M]. 程显峰, 译. 北京: 人民邮电出版社, 2011.
[7] 赵东, 马华东. 群智感知网络的发展及挑战[J]. 信息通信技术, 2014(5): 66-70.
[8] 董伟明. Python Web开发实战[M].北京: 电子工业出版社, 2016(9).
[9] Jeff Nickoloff. Docker实战[M]. 胡震, 译. 北京: 电子工业出版社.
[10] 高群凯. 深入剖析Nginx[M]. 北京: 人民邮电出版社, 2013.
[11] 李楠, 冯涛, 刘斌, 等. 基于面向服务对象体系结构的交通噪声地图分布式计算方法[J]. 计算机应用, 2012(8).
[12] Lindsay Bassett. JSON必知必会[M]. 魏嘉汛, 译. 北京: 人民邮电出版社, 2016.
[13] 朱利安·丹乔. Python 高手之路[M]. 王飞龙, 译. 北京: 人民邮电出版社, 2015.
[14] Riva O, Borcea C. The Urbanet revolution: Sensor power to the people![J]. Pervasive Computing, IEEE, 2007, 6(2): 41-49.
【通联编辑:谢媛媛】