基于RT-Thread+RA6M4的智能安防系统
应用背景
无论是在家里还是在公司,安防都尤为的重要,与其亡羊补牢,更重要的是防患于未然。安全是目的,防范是手段。通过防范的手段达到或实现安全的目的,就是安全防范的基本内涵。
本项目就是基于安防的大背景设计的一款智能安防系统,目前提供的功能有红外检测,有毒气体及烟雾检测,后续还会对项目功能有所完善。
实现功能
红外检测
红外检测使用的是HC-SR501模块,传感器在检测到红外信号后,会触发高电平,将高电平信号送入蜂鸣器(本项目使用的是有源高电平触发蜂鸣器),进行报警,当红外信号消失后,会返回低电平,将低电平信号送入蜂鸣器,停止报警。
有毒气体及烟雾检测
有毒气体及烟雾检测使用的是MQ-2模块(大家如果想实现别的功能检测还可以使用MQ系列的其他模块),在检测到有毒气体或烟雾时,输出的模拟量会变大,根据不同的使用环境,我们可以通过调整代码实现在一定范围内触发蜂鸣器报警。
系统框架
RT-Thread使用情况
基于官方文档的试例Demo开发,使用了FSP。
模块介绍
HC-SR501
产品特点
HC-SR501是基于红外线技术的自动控制模块,采用LHI778探头设计,灵敏度高,可靠性强,超低电压工作模式,广泛应用于各类自动感应电器设备,尤其是干电池供电的自动控制产品。
实物图片
电气参数
MQ-2
产品特点
MQ-2气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。MQ-2气体传感器对丙烷、烟雾的灵敏度高,对天然气和其它可燃蒸气的检测也很理想。这种传感器可检测多种可燃性气体,是一款适合多种应用的低成本传感器。
实物图片
电气参数
所需软硬件
软件
RT-Thread Studio,FSP。
硬件
CPK-RA6M4开发板,USB转串口工具,HC-SR501,MQ-2,蜂鸣器,USB数据线,杜邦线若干。
作品完整图片
视频演示效果
基于RT-Thread+RA6M4的智能安防系统
代码地址
Intelligent_security_system
项目过程
1. 开发环境搭建
首先请参考官方教程搭建好环境:环境搭建
2. 新建RT-Thread标准项目
首先,我们打开RT-Thread Studio,文件—新建—RT-Thread 项目。
接着,在弹出的框中我们依次选择基于开发板,起项目名称(自拟),其余保持默认(最好也检查一下),点击完成。
等待进度条走完,项目创建成功,在Studio左侧的项目资源管理器中可以找到我们新建的项目。打开项目文件夹,在src文件夹中新建一个.c文件。
文件名自拟,点击完成。
输入以下代码,点击保存。
/** Copyright (c) 2006-2021, RT-Thread Development Team** SPDX-License-Identifier: Apache-2.0** Change Logs:* Date Author Notes* 2022-06-21 Tom_onemore the first version*/
#include <rtthread.h>
#include <rtdevice.h>
#include "hal_data.h"#define ADC_DEV_NAME "adc0" /* ADC 设备名称 */
#define ADC_DEV_CHANNEL_1 0 /* ADC 通道 HC-SR501 */
#define ADC_DEV_CHANNEL_2 1 /* ADC 通道 MQ-2 */
#define BUZZER BSP_IO_PORT_06_PIN_11 /* 蜂鸣器I/O引脚 */static int adc_vol_sample(int argc, char *argv[])
{rt_adc_device_t adc_dev;rt_uint32_t value1, vol1, value2, vol2;rt_err_t ret1 = RT_EOK;rt_err_t ret2 = RT_EOK;/* 查找设备 */adc_dev = (rt_adc_device_t)rt_device_find(ADC_DEV_NAME);if (adc_dev == RT_NULL){rt_kprintf("adc sample run failed! can't find %s device!\n", ADC_DEV_NAME);return RT_ERROR;}/* 初始化蜂鸣器引脚为低电平 */rt_pin_write(BUZZER, PIN_LOW);while(1){/* 使能设备 */ret1 = rt_adc_enable(adc_dev, ADC_DEV_CHANNEL_1);ret2 = rt_adc_enable(adc_dev, ADC_DEV_CHANNEL_2);/* 读取采样值 */value1 = rt_adc_read(adc_dev, ADC_DEV_CHANNEL_1);value2 = rt_adc_read(adc_dev, ADC_DEV_CHANNEL_2);rt_kprintf("the value1 is :%d the value2 is :%d \n", value1,value2);/* 转换为对应电压值,3.3V对应12位最大值4096,数据精度乘以100保留2位小数 */vol1 = value1 * 330 / 4096;vol2 = value2 * 330 / 4096;rt_kprintf("the voltage1 is :%d.%02d the voltage2 is :%d.%02d\n", vol1 / 100, vol1 % 100, vol2 / 100, vol2 % 100);if (vol1 > 3.3 || vol2 > 13 ){rt_pin_write(BUZZER, PIN_HIGH); /*打开蜂鸣器*/}else{rt_pin_write(BUZZER, PIN_LOW); /*关闭蜂鸣器*/}}/* 关闭通道 */ret1 = rt_adc_disable(adc_dev, ADC_DEV_CHANNEL_1);ret2 = rt_adc_disable(adc_dev, ADC_DEV_CHANNEL_2);return ret1;return ret2;
}
/* 导出到 msh 命令列表中 */
MSH_CMD_EXPORT(adc_vol_sample, adc voltage convert sample);
接着我们打开FSP,会跳出一个弹窗提示,点击“是”,然后选择FSP的安装文件夹,点击“选择文件夹”,等待进入FSP即可。
下图为FSP界面。
选择Pins,在Pin Selection中依次点击Peripherals—Analog:ADC—ADC0,然后再Pin Configuration中将P002~P005上锁。
接着选择Stacks,在右上角点击New Stack—Analog—ADC(a_adc)。
在左下角Settings中,点击Common—Parameter Checking,将Value改为Enabled。
然后点击Module g_adc0 ADC(r_adc)—Input—Channel Scan Mask(channel availability varies by MCU),将Channel 0和Channel 1打√,然后保存,点击右上角Generate Project Content,关闭FSP。
接着我们回到Studio中,在新建的项目下,进入RT-Thread Settings,找到组件和服务层,鼠标放到Pins上,会弹出候选框,选择配置项。然后选择硬件,点击芯片设备驱动,打开Enable ADC,接着打开Enable ADC0,保存。
回到我们刚刚新建的.c文件,点击编译,控制台显示0 errors, 0 warnings,到这里我们的代码部分完成,将程序下载到开发板,可以正常工作,具体代码和演示请参考上文的代码和视频地址。
3. 接线方式
RA6M4 | USB转串口 |
---|---|
P613 | TXD |
P614 | RXD |
RA6M4 | HC-SR501 |
---|---|
P000 | OUT |
VCC | VCC |
GND | GND |
RA6M4 | MQ-2 |
---|---|
P001 | AO |
VCC | VCC |
GND | GND |
DO悬空 |
RA6M4 | 蜂鸣器 |
---|---|
P611 | I/O |
VCC | VCC |
GND | GND |
参考资料
- ADC设备
- CPK-RA6M4介绍
- CPK-RA6M4用户手册
- CPK-RA6M4原理图
- RT-Thread BSP
- RT-Thread 官网
- 瑞萨电子官网
基于RT-Thread+RA6M4的智能安防系统相关推荐
- 基于WiFi的宿舍智能安防系统
word完整版可点击如下下载>>>>>>>> 基于WiFi的宿舍智能安防系统.rar-自然语言处理文档类资源-CSDN下载1.资源内容:毕业设计lun- ...
- 基于人脸识别技术的智能安防系统优化升级
作者:禅与计算机程序设计艺术 近年来随着无人机.机器人等新型产品的出现,越来越多的人群开始把目光投向安防领域.虽然在短时间内智能化建筑.物联网.无人机等技术出现并迅速崛起,但由于技术发展速度不断加快, ...
- 基于单片机的智能安防系统
设计简介: 本设计是基于单片机的智能安防系统,主要实现以下功能: 可通过LCD1602安防状态和是否有人: 可通过按键控制安防状态: 通过人体红外监测是否有人: 通过GSM模块实现发送短信. 标签:5 ...
- 高清智能安防系统旅游景区解决方案分析
核心提示:智能视频分析与视频监控系统相结合,实现真正的7X24小时实时监控,使每路监控视频都无空窗期,避免了因监控人员疲劳造成的失误.视频智能分析技术主要包含人流统计.恶意破坏.跨线检测.进入区域检测 ...
- stm32/esp32/cam智能安防系统远程视频监控物联网远程传输视频图像GSM短信报警
系统实现了智能安防报警系统设计,人体感应报警,烟雾报警,GSM短信报警,同时支持远程视频监控功能,安卓端app端远程查看视频流.实物展示视频 基于stm32单片机ESP32智能安防系统远程 ...
- 智能安防系统-视频监控系统
一.智能安防系统 1.智能安防系统介绍 安全防范系统成为了智慧城市与物联网行业应用中的一个非常重要的子系统. 安防系统主要包括:视频监控系统.入侵报警系统.出入口控制系统.电子巡查系统以及智能停车场管 ...
- 智能安防系统中的人工智能应用实践思考
[toc] <64. 智能安防系统中的人工智能应用实践思考> 引言 智能安防系统是人工智能在安防领域的应用之一.随着人工智能技术的不断发展,智能安防系统逐渐成为人们生活中不可或缺的一部分. ...
- 物联网卡解决智能安防系统监控难题,开启全新安防时代
安防系统对于社会生活的监控与防护的重要性不言而喻,然而长久以来由于技术的不到位,我国安防监控系统不管是对社会的监管还是对社区家庭的保护都存在有很多漏洞,技术层面的难题是安防系统之所以监管不到位的主要原 ...
- SkeyeVSS天燃气场站智能安防系统 实现天燃气智能化监管解决方案
凛冬将至,各地争相在冬季来临前完成天然气储备.安全供气成为关乎民生福祉.经济发展和社会和谐的大事.天然气易燃易爆,单纯依赖人工运维难以满足场站风险预警和快速的应急响应的需要,再加上燃气场站周边环境复杂 ...
最新文章
- html 多项选择,选项标签中的HTML多字段选择
- 华为存储服务器v3存储协议,华为oceanstor v3融合存储介绍.pdf
- 【vue.js】vue后台项目权限功能实现思路
- SQL Server 影响dbcc checkdb的 8 种因素
- Matlab中transpose函数的使用
- http、https、密码学基础、GET和POST区别
- 矩阵论-集合与映射,线性空间及其性质
- Hbase Compaction 源码分析 - RatioBasedCompactionPolicy 策略
- python显示当前中文日期_Python--获取当前日期和时间(含中文格式)
- 1.4.3 编写自己的模块和包
- 你们期待的小屏旗舰来了: 骁龙855 没有刘海!
- 大数据系统由哪些核心组件构成
- Linux服务器authorized_keys添加公钥后登录仍需要密码
- 操作系统源码及GeekOS学习
- C# 真正完美的 汉字转拼音
- java限制ip登陆次数_手把手教你自定义IP访问次数限制器
- 实训一#1.7F1方程式冠军
- Java基础重点总结
- Excel Vba快速界面设计入门
- 【效率办公】推荐一款非常好用的电脑桌面便签