APP下载

基于视觉物联网的智能家居安防软件系统设计

2023-05-29高贝贝崔金龙白锌姚爱芬郭宝军

电子制作 2023年7期
关键词:驱动程序流程图网关

高贝贝,崔金龙,白锌,姚爱芬,郭宝军

(沧州交通学院,河北黄骅,061199)

0 引言

随着中国经济的不断发展以及人们物质生活水平的不断提高,人们的安全防患意识也在逐渐增强,快节奏生活下的人们对家庭的安全问题越来越重视。一方面,火灾、煤气泄露等安全隐患问题是社会重点关注的对象,每年因为意外火灾造成的人员伤亡和财产损失仍然很严重;另一方面,小区和单位防盗设施简陋匮乏、治安防范力不足等因素,给入室盗窃者以可乘之机。为了更好地保护家庭的安全人们需要一种功能完善的安防系统。本文在传统安防系统的基础嵌入机器视觉传感器,可实现多传感器融合技术的智能家居环境的安防保障。下面对基于视觉物联网技术的智能家居安防平台的软件系统设计进行介绍。

1 系统方案设计

基于视觉物联网的智能安防系统由三部分构成,第一部分为采集家居环境参数的前端监测节点设备(从机设备),主要实现采集环境温度、烟雾浓度、可燃气体浓度,监测非法入侵事件、异常事件发生等功能;第二部分为互联前端监测节点的网关设备,网关设备使用ModBus 扩展协议组建一主多从无线通信网络,将前端节点传回的数据经由网关设备上传至物联网云平台。第三部分为Tlink 物联网云平台,该平台免费提供PC 端和手机端的云组态,可快速开发物联网云台及数字化系统产品。本文使用Tlink 物联网云平台实现与网关设备间的数据传输,通过自定义云组态实现PC 端或手机端与用户间的信息交互。系统方案设计架构图如图1所示。

图1 系统架构图

2 软件系统设计

2.1 显示屏驱动程序设计

显示屏选用0.96O 寸LED 屏,屏幕通过I2C 接口与主控芯片相连。显示屏驱动程序设计如下。首先,主函数调用OLED 屏初始化函数,完成相关屏幕参数设置;然后,简单对屏幕做下清屏处理;最后,使用单字符显示函数showChar()实现显示字符串、整型数值复合函数功能,完成网关及子设备的相关参数显示功能。图2 是单字符显示函数showChar()子程序设计流程图。

图2 单字符显示函数程序设计流程图

2.2 WiFi 模块联网驱动程序设计

利用AT 指令控制 ESP8266 WiFi 模块实现联网,WiFi模块通过主控芯片的串口2 相连。WiFi 模块联网驱动程序设计如下。首先,初始化ESP8266 实现退出透传、重启、检查模块是否存在、关闭回显、检查设置是否成功等操作;然后发送WiFi 名和密码连接目标AP;最后通过TCP 协议到连接TLink 云平台。图3 为WiFi 模块联网驱动程序设计流程图。

图3 WiFi 模块联网驱动程序设计流程图

2.3 LoRa 无线局网关模块驱动程序设计

使用SPI 通信协议来驱动LoRa SX1278 无线模块,LoRa 模块驱动程序设计如下。首先,完成SPI 引脚及工作状态设置和SX1278 工作参数配制;然后,如果设备为网关则通过LoRa 模块每3 秒收集从机数据,如果设备为从机则通过LoRa 模块时刻监听“网关询问”指令任务。图4 为LoRa 模块驱动程序设计流程图。

图4 LoRa 模块驱动程序设计流程图

2.4 视觉异常事件监测程序设计

使用OpenMV 机器视觉模块的帧差异算法进行运动物体检测,然后通过OpenMV 模块的串口通信接口将数字量信号输送给主控芯片,主控芯片使用串口1 与OpenMV 模块相连,在串口1 的中断服务函数中添加异常事件累计语句。OpenMV 嵌入式视觉模块安装到二自由度平台上,通过水平和垂直方向的PWM 控制信号实现视觉模块的宽视野异常事件检测。图5 为主控器串口2 接收异常事件监测信号的程序设计流程图。

图5 常事件监测信号采集程序设计流程图

2.5 非法入侵事件监测程序设计

门窗非法入侵监测信号传输选用“凌承芯电子公司”的蜂鸟无线模块,无线接收端为灵-R1 模块,该模块的4 路开关量输出给主控芯片的外部中断模式引脚。开关量为低电平时会触发外部中断服务函数,在中断服务函数中添加非法入侵事件累计语句。图6 为非法入侵事件监测B 通道开关量信号采集程序设计流程图。

图6 非法入侵数字量信号采集程序设计流程图

2.6 烟雾及可燃气体监测程序设计

烟雾传感器及可燃气体传感器输出的信号为模拟信号,使用主控芯片自带的AD 转换器将传感器信号转为数字量,方便后期数据的运算及储存。图7 为AD 转换器程序设计流程图。

图7 烟雾及可燃气体信号ADC 转换程序设计流程图

2.7 DHT11 传感器驱动程序设计

DHT11 采用单总线双向串行通信协议,每次采集信息都要由主控器发起开始信号,如果传感器正常且存在则DHT11 将起始信号拉低一段时间,然后 DHT11 会向单片机发送响应并开始传输40 位数据帧,并且数据帧的高位在前。图8 为DHT11 传感器驱动程序设计流程图。

图8 DHT11 模块连接电路原理图

3 联网测试

3.1 连接 TLink 云平台

本文选用的是TLink 物联网云平台。首先,登录TLink云平台创建设备,并完成页面参数设置(设备名称、链接协议、掉线延时、传感器)等操作。然后,配制设备的协议标签,协议标签是传输一帧数据的格式,包括数据头、分隔、数据、结束符四部分构成。最后,设置网关程序关键参数,包括TLink 云平台的IP 地址、设备端口号、设备ID 地址。网关设备发送的第一帧数据为设备序列号以便与TLink 云平台建立连接,接着定期发送传感器数据即可。

3.2 发布云组态

为了提高用户使用系统的便捷性,增强设备与用户间的交互性,本文使用TLink 云平台的云组态功能设计搭建了“基于视觉物联网的智能家居安防系统”云组态,图9 为“基于视觉物联网的智能家居安防系统”云组态界面,云组态可发布成PC 端版和手机端版。云组态可实现显示前端节点采集的温度值、可燃气体浓度、烟雾浓度、非法入侵事件累计次数、异常事件累计次数等信息。同时可通过下发数据操作实现前端节点的OpenMV 二组自由度平台旋转角度控制。如指令:1-X50-Y65,即为设备1 的OpenMV 机器视觉模块X 轴转动50PWM 值,Y 轴旋转65PWM 值。

图9 “视觉物联网家居安防系统”云组态界面

3.3 联调测试

系统上电后网关通过WiFi 模块连接到Tlink 云服务器,此次测试网关设备通过无线局域网与三台前端节点设备(从机)相连,网关设备每隔3 秒钟广播监听前端节点采集的温度值、烟雾浓度值、非法入侵次数、事件异常次数等信息。联网测试效果如图9 所示,到此已完成“监测端+云传输+智能端”三维一体的智能家居安防平台的软件系统设计。

4 结论

本文主要针对基于视觉物联网技术的智能家居安防平台的软件系统进行了设计与实现,包括显示屏驱动程序设计、WiFi 模块联网驱动程序设计、LoRa 无线局网关模块驱动程序设计、非法入侵事件监测程序设计、视觉异常事件监测程序设计、烟雾及可燃气体监测程序设计、DHT11 传感器驱动程序设计及“基于视觉物联网的安防系统”云组态界面搭建。经过联网测试,嵌入视觉检测技术的智能家居安防系统能够准确实时的监测家居环境,良好的云组态交互界面提高了用户操作的便捷性和实用性。

猜你喜欢

驱动程序流程图网关
计算机硬件设备驱动程序分析
专利申请审批流程图
专利申请审批流程图
LTE Small Cell网关及虚拟网关技术研究
应对气候变化需要打通“网关”
宁海县村级权力清单36条
一种实时高效的伺服控制网关设计
基于Zigbee与TCP的物联网网关设计
基于MPC8280的CPU单元与内部总线驱动程序设计
《天津医药》稿件处理流程图