68
Software Development And Application
电子技术与软件工程
Electronic Technology & Software Engineering
人流量数据成为一项非常有价值的衡量指标,人流量统计技术在现今社会生活领域也有广泛的应用。目前统计人流量的主流方法分两类:第一种是基于机器视觉的视频识别技术[2],同时借助于已有的算法,比如百度AI 平台[3],或利用计算机图像处理技术[4] 。此类方法较精确,但成本高且技术复杂[5]。第二种是基于红外传感器的统计监测技术[6]。此外,还有一种方法是使用Wi-Fi 探针识别指定区域内开启Wi-Fi 的移动设备,因为电子设备具有唯一的MAC 地址,所以探针探测到的终端信息可以映射人流量数据[5]。此类方法使用场景限制性较大,且存在Wi-Fi 区域交叉的问题[7]。目前,人流量数据基本上在地点入口的液晶屏幕或者大屏幕上显示[8]
,比如景点、图书馆等公共场所的显示屏等,用户只有到该地点才能看到人数信息。目前鲜有能实现人
流量数据在手机端的直接显示,使用户足不出户就可及时查询实时数据,尤其是高校范围内对具有上述类似功能的小程序,开发和使用都较为薄弱。 全国高校内,频繁出现餐厅、澡堂等公共区域高峰拥挤的现象[9]
,造成拥挤现象原因如下:首先,由于在校大学生作息表相似。其次因在校学生数量大、大规模扩招导致了部分高校基础设施不足,如餐厅小,澡堂浴位过少等问题[10]。
为解决澡堂拥堵问题,本设计以“红外计数器统计人流+小程序云开发”方式,调用云服务器进行数据分析处理,npm 网络请求库外包提供技术支撑,发起网络请求。对公共澡堂进出入人数进行实时统计,学生只需通过客户端就可快速便捷地查询数据,以此科学规划生活,错峰洗澡。同时,也减缓了后勤部管理压力。1 系统设计
本文所设计的人流量监测系统整体架构如图1所示,通过统计进出入公告澡堂区域的人流量数据,利用小程序官方开发文档、git 开源项目引入相关package ,将数据信息在小程序端显示出来,学生可以根据数据规划自己的日常生活,合理地避开洗澡高峰期。此方法将以往的人流监测系统与小程序云开发技术结合,有效提高了系统的实效性。人流量数据的上传、传递、显示的设计是本系统架构的核心,由以下三部分构成:
(1)第一步搭建硬件设备,即红外计数器和基于gprs 技术的数据上传器,将进出入数据上传至中端服务器;
(2)第二步通过小程序云开发和基于requests-https 请求的开源外包,实现中端服务器与“掌上有数”小程序云服务器后端的接口对接,进而实现数据通信;
(3)第三步进行小程序后端与前端UI 界面,即用户手机端界面的连接,通过使用小程序高效的应用开发框架和丰富的组件及API ,以此达到用户随时随地通过“掌上有数”小程序查看人流量数据的目的。2 硬件
2.1 红外传感装置
基于小程序云开发的人流量监测系统
李茹平 合子琦 张林燕 黄文杰 谢珺*
(太原理工大学信息与计算机学院 山西省晋中市 030600)
人流量统计硬件部分包括红外发射装置以及基于gprs 的数据接收装置,红外发射和接收装置分别安装在门框两侧[11],高度保持在1.2~1.3m 左右,如图2所示。根据人体经过阻挡红外线而产生的高低电
平,统计红外信号中断的次数,处理通断信号并转换成人体经过次数,以此来统计进出入监测区域内的人数。
摘 要:本文设计了一种基于小程序云开发的人流量监测系统。硬件基于红外传感计数器,软件端“掌上有数”小程序前端基于MINA 框架,后端基于云开发实现数据通信。最终测试结果表明小程序达到预期效果,便捷高校学生生活。
关键词:
人流量监测;小程序;云开发
●基金项目:2020年国家级大学生创新创业训练计划项目:202010112013。
图1:系统整体架构
图2:红外传感装置检测
示意图
图3:“掌上有数”小程序架构
69
软件开发与应用
Software Development And Application
电子技术与软件工程
Electronic Technology & Software Engineering
2.2 数据接收装置
数据接收装置内部装有物联卡,也就是俗称的流量卡。物联卡把任何物品与互联网连接起来[12],采
用专业号段和独立网元,满足智能硬件和物联网行业对设备联网的需求,进行信息交换和通讯。同时,该装置数据通讯技术基于gprs 通用分组无线服务技术,属于第二代移动通信中的数据传输技术。以物联卡和gprs 技术为基础,保证了此装置和中端服务器之间的数据传递。3 软件实现3.1 小程序
小程序(Mini Program )相对于APP ,具备无需安装、无需注册、开发费用低等优点。基于平台超9亿的用户流量入口以及小程序“用完即走“的理念,同时可以节省用户的手机空间,成为取代手机APP 的最佳选择[13]。
小程序依靠平台,近三年内发展迅速,涉及生活娱乐、医疗交通、健身阅读等各个领域,但对于实现实时查询公共场所进出
人流量需求的小程序较稀缺。对于高校学生,此类小程序新颖且便捷日常生活。对于开发者,小程序开发门槛相对较低,能够满足简单的基础需求,如查询、通知、统计、打卡等。因此,本研究将小程序作为开发平台。
除查询实时人流量外,“掌上有数”小程序同时会辅以其他模块,比如查看澡堂不同时间段人数统计图,查询餐厅对应窗口菜单种类及通知公告等,以提高实用性和功能的多样性。小程序架构如图3所示。整体分三个层次:前端层、逻辑层、云服务层。
(1)前端层是小程序功能最直接的体现。前端基于小程序特有的应用开发框架MINA ,该框架提供了基础组件和丰富的原生API ,使“掌上有数”小程序页面简洁美观,编程语言主要是WXML 、WXSS 、JavaScript 。
(2)逻辑层是小程序数据通信的核心部分,是开发者与小程序直接“交流”的空间。"掌上有数"
小程序有澡堂人流量实时查询、
餐厅菜品查看、通知公告和联系建议四大基础页面,MINA
框架在
前端层与逻辑层间提供了数据传输系统,管理了页面间的路由、切
图4:“掌上有数”小程序云开发公网链路
图5:分时间段人数统计图图6:用户获取数据流程图
图7:人体经过时测试示意图
图8:云服务器监测数据
图9:“掌上有数”小程序端显示数据
软件开发与应用
Software Development And Application
电子技术与软件工程Electronic Technology & Software Engineering
换与每个页面的生命周期,保证了“掌上有数”小程序页面切换流畅和用户的良好体验感。四大基础功能采用模块化设计,利于小程序后期修改完善。逻辑层基于小程序API,与云服务层进行数据传输、方法函数调用,用户进入小程序点击屏幕按钮(选择功能)时,逻辑层触发函数发起云调用,获取云函数返回的实时人流量数据,并将数据反馈给用户。
(3)服务层是小程序的技术保障后台部分,云函数基于
node[14],引入git开源项目 request-promise外包发起云调用,进行https请求调取中端服务器的数据。
3.2 云开发
小程序云开发(CloudBase)集成于小程序控制台的原生Serverless 云服务,为开发者提供完整的原生云端支持和服务支持,底层由腾讯云提供专业支持,以确保本研究数据安全,且服务稳定。传统开发小程序需要购买域名、物理机托管、专门的运维人力等,无疑是高花销且大工作量[15]。而云开发使用腾讯云服务取代第三方服务器,只需专注编写核心逻辑代码,借助云开发提供的丰富的云端 API ,就可以实现数据的存储传递、文件的上传、结果的计算等,确保本研究高效完成。
综上,借助于云开发云端一体化的全新研发和运维模式,在高效、安全开发的需求背景下,云开发无疑是最佳的技术选型方案。本设计遵从小程序界面——后台——云开发这一公网链路,如图4所示。从”掌上有数“小程序端触发的云函数,发起云调用会经过自动鉴权,后台通过专线走内网,将请求传递给云开发后台服务。该专线是私有协议,不仅保障了“掌上有数”小程序的数据安全性[15],而且提高了传输性能。
本设计主要使用了小程序云开发的云函数、云存储和云数据库三大功能[16]。用户点击数据图展示页面,触发相应云函数中读写JSON 云数据库中存储的不同时段人流量数据,该页面基于云数据库和开源可视化图表库Echarts,使统计数据直观的显示在移动端,增强用户体验感,如图5所示。用户在手机端通过点击“澡堂人流查询”,该页面相应的触发函数发起云调用 wx.cloud.callFunction,定义的云函数代码会在云端 Node.js 环境中执行,使用axios中post 请求URL,根据中端服务器的请求条件发送异步请求,即可将数据返回后台,流程见图6所示,最终通过小程序的前端显示在用户手机界面上。
4 系统测试与维护
4.1 系统测试
系统测试针对红外计数器计数功能和移动端小程序的查询准确度,通过比较人工统计和系统监测的进出入人数,测试硬件检测功能。通过比较人工统计与小程序查询所得数据,测试云服务器后台的数据处理、和用户手机端小程序的信息通信功能。
将两个红外对射计数器安装在门框两侧,从8:00至10:00,时长2小时内两名测试人员分别多次经过,测试情况下单人进出入,如图7所示。系统监测的数据,开发者工具调试器输出结果显示如图8所示,“leftNum”对应进入人数,“rightNum”对应出去人数。手机端“掌上有数”小程序查询显示如图9所示,
该页面显示进60出58,当前滞留人数为2,小程序页面显示与后台检测数据一致,表明云服务器与小程序数据通信正常。测试结果表明该系统可以达到人流量监测效果,如表1所示,符合设计需求。
4.2 系统维护
“掌上有数”小程序的系统维护基于小程序云开发控制台,控制台监控图表清晰统计了云函数读取写入及请求次数,云存储上传次数、CDN流量,云函数调用次数、使用时间等,根据上述数据可以分析小程序的用户行为,对小程序进行及时更新、优化、整合。同时,”掌上有数“小程序将计划绑定学校后勤官方,进一步与校园后勤管理系统融合,保证小程序服务持久高效。5 结束语
本设计基于小程序的前端技术(WXML+WXSS+JavaScript)与云开发后端技术,实现了用户通过手机端,可以实时查看具体区域进出入人数的设想。本文所设计的人流量监测系统工作稳定,代码简洁,且系统在软硬件端相互独立,适用于不同的环境,只需做出少量变动,就可以在很多地方完成人流量监测,对于其它使用小程序云开发实现相似功能的设计有一定的借鉴意义。
参考文献
[1]战疫情 助复产 南京计量人在行动 南京市计量监督检测院
[J].计量与测试技术,2020,47(04):3-4..
[2]李敏,杨阳,王钤等.基于智能视频分析的人流量态势感知方
法研究[J].信息安全研究,2019,5(06):488-494.
[3]冉涌.基于百度AI的人流量监测系统[J].黄冈职业技术学院
学报,2020,22(06):143-146.
[4]郭荣庆,赵轩,许世维等.公交车人流量监测系统设计[J].
长安大学学报(自然科学版),2011,31(05):80-84.
[5]黄翔,汪吟昊,张嫔英等.基于WIFI探针的高效客流量大数
据监控分析系统设计[J].数字技术与应用,2020,38(03):150-151.
[6]千承辉,王超,曹曦元等.多传感器数据处理的人流量监测系
统[J].实验室研究与探索,2013,32(02):35-38.
[7]裘凝远.景区区域人流量实时显示的小程序设计[J].现
代商贸工业,2019,40(10):187-189.
[8]周强.基于嵌入式系统的人流量监测系统设计[D].武汉:武
汉理工大学,2015.
[9]邱建全.基于移动互联智慧学生餐厅的设计与应用[D].厦门:
华侨大学,2015.
[10]罗印.高校食品安全管理信息平台的设计与实现[D].成都:
电子科技大学,2020.
[11]王旭,韩敏.便携式人流量监测系统设计[J].怀化学院
报,2017,36(05):83-86.
[12]李文芳,杨益,乔惠.基于物联网技术的用电采集数据通信
自动管理探析[J].电力设备管理,2019(01):40-42.
[13]李昊.基于小程序的智能推荐点餐系统的设计与实现[D].
南京:南京邮电大学,2020.
[14]张利香,甘发旺,薄建国.基于小程序与云开发的成绩
查询系统实现[J].内蒙古科技与经济,2019(13):59-60. [15]邹中华.一种基于小程序的专利服务平台[J].中国科技
信息,2020(21):96-97.
[16]华伟,杨菲,韩斌.多平台疫苗查询管理和疫苗知识推广系
统的开发与应用[J].电子技术与软件工程,2018(19):73-74.
作者简介
李茹平(2000-), 女,山西省运城市人。本科在读,通信工程专业。合子琦(2000-),女,山西省大同市人。本科在读,通信工程专业。张林燕(2000-),女,山西省吕梁市人。本科在读,通信工程专业。黄文杰(2000-),男,安徽省合肥市人。本科在读,工业设计专业。谢珺(1979-)(通讯
作者),女,山西省太原市人。博士,硕士生导师。研究方向为粗糙集、粒计算、数据挖掘和智能信息处理。
表1:测试数据
方向人工统计/人后台监测/人小程序/人
进606060
出585858
滞留222
70