吴雪寒,张廷秀,茅 磊,李若瑜,2,朱元彩,2
(1.江苏建筑职业技术学院 信电工程学院,江苏 徐州 221116;2.徐州市水资源高效利用与生态安全应用技术工程研究中心,江苏 徐州 221116)
太阳能智慧树是一种基于物联网技术的新型能源解决方案,可以将太阳能转化为电能,同时提供充电、照明、信息传输等服务[1]。太阳能智慧树通过光伏发电的方式将太阳能转化为电能,可以减少城市的空气污染和噪声,同时为市民提供充电、照明、信息传输等服务。基于物联网技术,太阳能智慧树还可以实时监测环境数据,并通过云端平台进行数据分析和管理。通过运用太阳能智慧树,可以有效改善城市环境,减少能源浪费,促进可持续发展。因此,研究基于物联网的太阳能智慧树具有重要的理论意义和实际应用价值。本文对传统太阳能智慧树进行改进,实现了基于微信小程序对太阳能智慧树进行管理。
如图1所示,整个系统架构主要包含微信小程序服务端、太阳能智慧树硬件及微信小程序客户端。其中,微信小程序服务端作为整个系统的后端服务程序主要负责采集和控制智慧树硬件;太阳能智慧树为整个系统的硬件终端,负责温湿度感应、一键报警等功能;微信小程序客户端主要负责统一配置控制太阳能智慧树并接收服务端推送的预警信息。
图1 系统功能架构
1.1.1 心跳协议
太阳能智慧树通过LoRa模块实现联网功能,为判断每个太阳能智慧树的工作情况,太阳能智慧树会通过传感器收集周围环境信息,并通过定期发送的心跳信息与服务器通信确保服务器能够掌握所有智慧树的实时工作状态,如果某个智慧树连续45 s没有发送心跳信息则判定这个智慧树为离线,微信小程序服务端则会发送通知消息给对应的维护人员,同时报送故障信息[2]。
1.1.2 温湿度报送协议
太阳能智慧树可以通过预先配置的温湿度传感器感知周边环境温度,当周围环境温度变化超过预先设定的阈值,太阳能智慧树会通过内置的温湿度协议将当前的温度发送到服务器端。
1.1.3 视频监控流推送
太阳能智慧树基于RTMP协议实现视频流的传输,微信小程序可以通过RTMP协议连接太阳能智慧树的摄像头实现实时监控的效果,同时太阳能智慧树也会根据预先设定的服务器地址,将视频流数据推送到流媒体服务器,确保视频数据能被服务器实时分析和保存[3]。
1.1.4 一键报警
一键报警功能是在紧急情况下,附近的人可以通过按钮向服务中心求救。为了防止按钮误触,在发送报警信息的同时,微信客户端还会接收按钮触发时的现场截图来帮助审核人员判断现场的真实情况。
1.2.1 统一参数设置
传统的太阳能智慧树不具备统一组网和批量设置功能,本文设计的基于物联网的太阳能智慧树可以通过微信小程序端针对分布在城市各个角落的智慧树进行统一批量设置,如设置灯光阈值、心跳时间等。
1.2.2 视频监控查看
微信小程序客户端可以通过流媒体服务器查看各个太阳能智慧树的实时监控视频,微信小程序后台服务端也可以通过AI视频分析自动发现视频监控的可疑信息。
1.2.3 预警信息推送
当微信小程序服务端收到太阳能智慧树的报警信息或者通过AI视频分析发现智慧树周边可能存在危险情况时会自动向监控中心推送报警信息,同时也可以通过微信小程序查看报警的详细信息和报警时的详细视频截图。
AI智能视频监控中最主要的就是视频分析技术,是将运动目标同背景进行有效的分离,然后识别出准确的目标,排除其他因素产生的影响,对目标行为进行追踪及分析,视频分析可以分为多个模块,常见的有目标运动分析、目标移动方向检测和定位、停止状态检测等。太阳能智慧树将采集到的视频流推送到流媒体服务器进行存储分析,利用AI视频分析技术后台可以识别视频中的主要内容进而识别一些常见的危险行为并触发报警,如跌倒、攀爬等行为。通过AI智能视频监控应用,对目标进行跟踪、定位及识别,并进行有效的分析判断,不仅能及时对异常行为做出反应,还可以对群体行为进行相应分析,保障监控区域的安全,减少事件发生,降低管理成本。
腾讯地图API可以为微信小程序提供基础的位置标记能力。微信小程序客户端会依据预先配置好的微信小程序服务端地址,把智慧树的经纬度信息实时报送并持久化到数据库中以供微信小程序客户端查询和访问,小程序端利用微信小程序服务端提供的REST接口获取或者搜索智慧树分布数据,微信小程序客户端收到包含智慧树经纬度的数据的信息后使用MAP组件提供的Makers属性将智慧树渲染到界面上。腾讯地图可以根据智慧树不同的状态如在线、离线显示不同的图标以便维护人员能够直观地了解智慧树终端的在线情况。
系统通过V4L2 (video for linux 2)采集图像,将采集到的YUM格式的视频通过UDP协议发送到服务端以便存储和分析[4]。V4L2是基于Linux的框架,在Linux中一切设备都是文件,摄像头接入后会在/dev目录下产生视频设备文件vedio0, 可以对其进行读、写等操作。系统通过读取设备文件可以获取YUM格式的视频文件,但所采集到的视频占用的内存资源较多,因此需要对视频进行压缩,目前最为常用的编码标准有国际电信联盟的H.261、H.263、H.264,考虑到兼容性和大小系统采用H.264作为编码压缩标准,在视频传输时为了保证视频流传输的速度使用UDP协议进行传输,具体视频采集传输流程如图2所示。
图2 视频采集传输流程
微信小程序首页可以通过图形化的方式查看当前太阳能智慧树的分布情况,进入首页后微信小程序首先会对当前用户的位置进行定位,随后微信小程序会将当前用户的位置发送给服务端,服务端程序收到当前用户位置后会将当前用户周边的智慧树分布数据返回给微信小程序,当小程序收到服务端发送的数据时会根据智慧树的坐标渲染到地图上,点击地图上的小太阳图标可以查看当前选中太阳能智慧树的具体信息。在地图的下方展示当前可视化窗口内包含智慧树的数量及在线的智慧树的数量。若需要查找的智慧树不在当前窗口内,还可以在下方搜索框内搜索相关的关键字查询其他智慧树信息。
消息预警页面主要负责接收一键报警的预警消息和智慧树状态的变化消息。当有人按下智慧树报警按钮时,报警信息和实时照片会传送到微信小程序服务端,服务端会通过Websocket协议将信息实时推送到微信小程序客户端,微信小程序会以消息通知的形式展现给用户,用户可以点击查看消息的详情,消息详情页面详细展示了消息的具体内容,包含报警发生的位置、实时图像等[5]。
实时监控页面可以用来查看智慧树的实时监控画面,如图3所示。每个智慧树的监控页面包含智慧树监控的设备名称、设备编号、设备类型、设备地点等信息。页面的下方展示了某个智慧树下面所包含的摄像头通道,一个通道表示一个摄像头,一个智慧树可以包含多个通道,点击下方不同的通道可以切换到不同的摄像头一边看到不同的摄像头视角。
本文介绍了基于物联网的太阳能智慧树微信小程序设计与开发,微信小程序通过REST接口方式配置、控制太阳能智慧树硬件端;同时,微信小程序可以通过WebScoket协议实时接受太能智慧树的报警通知。事实证明,本研究能对行业的发展产生深远影响,能够为太阳能智慧树设计人员提供参考。