基于RT-Thread的麻雀一号无人值守门禁系统
概述
应用产生的背景是基于公司的机房长期无人在岗的情况下需要改进监控方案。采用麻雀一号为主控设备来实现,摄像头数据,人体红外感应或门开关来判断是否有人闯入机房。通过Node-Red来实现上位机节目,通过摄像头采集显示,语音播放提示有人靠近。通过MQTT协议远程控制或者通过内网穿透的方式实现控制。减少了人力物力,节约人工成本。提高机房的安全性。
该控制系统还可以用于家庭的安防监控,检测门和窗等有可能让小偷入室盗窃的入口。
RT-Thread使用情况概述
本作品代码是基于麻雀一号官方提供的SDK固件进行二次开发,采用到了RT-Thread的任务管理,MSH命令方式实现启动函数,使用到了MQTT、PIN设备等主要组件。MSH的命令方式与Node-red图形化设计完好的结合在一起,按需求启动相应功能。
使用VScode软件进行编辑,使用ENV工具进行编译,然后按照教程通过OTA进行升级应用。
硬件框架
硬件框图:
这里借助功能齐全的麻雀一号,所以所需的外围硬件很少,需要的硬件设备有:
电脑:运行Node-Red通过串口节点或MQTT节点与开发板通信。
人体红外传感器:作为PIN设备检测人体红外。
门检测开关:作为PIN设备检测门开关。
麻雀一号开发板:使用MQTT组件连接腾讯云平台,检测红外传感器和门检测开关后发送串口信息或MQTT信息到Node-Red平台实现语音播报和启动摄像头拍照等。
软件框架说明
当检测到门被打开或有人靠近时,就会启动拍照功能和语音提示播报功能,这里的语音播报是Node-Red控制电脑语音输出提醒监测人员查看。再将相关信息通过MQTT协议发送到云平台,手机或电脑端应用连接云平台实时查看数据。
软件模块说明
Node-Red:这是个图形应用平台,使用它和开发板通过串口本地控制和MQTT远程控制。
网云穿:实现的内网穿透,可远程查看终端设备运行情况。
麻雀一号连接云平台:连接的是腾讯云的IoT Hub平台,可实现MQTT快速连接,通过云平台的规则引擎将数据发送到Node-red的MQTT节点,该节点也是连接腾讯云的物联网平台。
PIN设备:实现的是中断检测开关量,实现快速响应。连接人体红外传感器和门检测开关等。
演示效果
Node-Red平台作为上位机
人体红外检测
电脑通过内网穿透远程监控
腾讯视频链接:https://v.qq.com/x/page/k31031p9l11.html?ptag=qqbrowser
代码地址
源码Gitee地址:
https://gitee.com/flytianya2010/SparrowOneGuardingSystem.git