基于CW32的车载安全系统

2023-11-27 17:20
文章标签 系统 安全 车载 cw32

本文主要是介绍基于CW32的车载安全系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

0 前言

       基于 CW32,设计一款车载安全系统,能实现防酒驾、防车内儿童滞留、防 “开门杀”同时防盗功能。防酒驾方面,采用压力传感器判断主驾驶是否有人, 使用气体压力传感器判断是否进行吹气,MQ3 酒精模块判断酒精浓度是否超过阈 值;防车内儿童滞留方面,当压力传感器检测到主驾驶无人时,使用雷达检测是否有滞留儿童,当检测到有儿童滞留时,通过移远 4G 模块 EC600N 拨打联系人电话进行提醒;防“开门杀”与防盗面,使用摄像头对驾驶人进行人脸识别,当车内人员下车时,进行语音提醒,注意后方车辆,同时摄像头会检测驾驶人是否回 头查看后方车辆,检测成功,才会打开车门锁。通过以上车载系统来避免安全事故的发生。

1 系统方案

1.1 系统功能

基于 CW32,设计一款车载安全系统,能实现防酒驾、防车内儿童滞留、防 “开门杀”同时防盗功能。防酒驾方面,采用压力传感器判断主驾驶是否有人, 使用气体压力传感器判断是否进行吹气,MQ3 酒精模块判断酒精浓度是否超过阈值;防车内儿童滞留方面,当压力传感器检测到主驾驶无人时,使用雷达检测是否有滞留儿童,当检测到有儿童滞留时,通过移远 4G 模块 EC600N 拨打联系人电话进行提醒;防“开门杀”与防盗面,使用摄像头对驾驶人进行人脸识别,当车内人员下车时,进行语音提醒,注意后方车辆,同时摄像头会检测驾驶人是否回头查看后方车辆,检测成功,才会打开车门锁。通过以上车载系统来避免安全事故的发生。

1.2 系统设计方案

将压力传感器安装在车座位下面,当检测到驾驶座上有人时,提醒其吹气, 使用气体压力传感器判断驾驶人是否进行吹气检测,同时摄像头也会进行人脸识别,只有当酒精浓度与人脸识别均成功,才会开锁;如果人脸识别失败,会进行相应的短信通知,起到防盗作用。 我们注意到,每次下车前,车内人员都需要打开车门锁,才能下车,所以我们用按键模拟开车门键,当检测到按键按下,会进行语音播报,提醒其注意后方车辆,同时摄像头会判断其有无回头查看车辆行为,若无,则不会开车门锁。 当压力传感器检测到驾驶座上没人时,一段时间后,雷达会检测车内是否有其它人,如果有则会拨打联系人电话,提醒其车内有儿童。 同时,为了防止车内其它人员喝酒导致防酒驾系统误触发时,我们会发送一段随机码给系统录入的其它成员,也就是驾驶人的家属一段随机码,驾驶人可以询问其家人随机码,通过输入随机码方式开锁开车。 我们为改该系统设计了一个可行的安装方案,如图 1 所示,

图 1 车内安装布局示意图

1.3 模块选择

1.3.1 主控MCU选择

CW32F030C8 单片机作为系统的控制器。CW32F030C8 是一款基于 ARM Cortex_M0 内核的低功耗微控制器,具有高性能、低功耗、多功能性、存储容量 大、安全性强、易于开发等优势。

1.3.2 酒精浓度检测

选择 MQ3。MQ3原理是当传感器所处环境中存在酒精蒸汽时,传感器的电导率随空气中酒精气体浓度的增加而增大。使用简单的电路即可将电导率的变化转 换为与该气体浓度相对应的输出信号。MQ3 对酒精的灵敏度高,可以抵抗汽油、烟雾、水蒸气的干扰。这种传感器可检测多种浓度酒精气氛,是一款适合多种应用的低成本传感器。

1.3.3 人体检测

压力传感器。将压力传感器置于车座下,人坐在车座上时,可以清晰的检测到压力的变化,用于判断人是否在车上。

1.3.4 吹气检测

HX711 气体压力传感器。当检测到吹气时,输出会有明显变化,通过检测变化判断是否吹气。

1.3.5 4G 通信模块

选择 EC600N_CN。EC600N-CN 是移远通信专为 M2M 和 IoT 领域而设计的 LTE Cat 1 无线通信模块。我们使用了发送短信和拨打电话功能,该模块还可将实时 数据上传阿里云、ONENET 等物联网开放平台,实现手机电脑与单片机的数据交换。

1.3.6 语音播报模块

使用 EC600N TTS 功能。

1.3.7 雷达模块

使用 LD2410C,支持手机调参,可选择检测到人时输出高电平还是低电平。

2 电路图与程序设计

2.1 系统总方案

图 2 系统方案设计图

2.2 程序流程

系统上电后,要等待 2 分钟以上,等待酒精传感器稳定。程序流程如下:

图 3 程序设计流程图

2.3 引脚功能定义表

PA00ADC0(电池)
PA1压力传感器
PA2气体压力传感器(TX)
PA3气体压力传感器(RX)
PA4TFT(DC)
PA5TFT(SCL)
PA6TFT(RES)
PA7TFT(SDA)
PA8UART1(TX)
PA9UART1(RX)
PA10按键1
PA11LED1
PA12按键2
PA154G模块
PB02ADC10(电位器)
PB0UART2(RX)
PB1UART2(TX)
PB2雷达(高电平有人)
PB3电源控制(5V)
PB4LED3
PB5按键3
PB6LED2
PB7按键4
PB10ADC11(酒精)
PB13背光
PB15

电源控制(3.3V)

PF0无线电控制
PF1车锁

表 1 引脚功能定义表

2.4 实物照片

图 4 实物图

2.5 摄像头识别原理

2.5.1 K210

K210 是一款国产 64 位 RISC-V CPU,其中包含了一个神经网络硬件加速器 KPU,可以高性能地进行卷积神经网络运算。使用 k210 搭载人脸识别模块和转头 检测模块,利用其 ai 加速的特性,可以对人脸识别和转头检测进行高效的处理。

2.5.2 人脸检测和识别模型

人脸识别使用 YOLOlite 模型检测出人脸所在位置。检测到人脸后,会将检 测到的人脸裁剪出来并送入“人脸 5 点检测模型”。“人脸 5 点检测模型”会标 出 2 个嘴角、1 个鼻尖、2 个眼睛共 5 点,这 5 点将与标准人脸的 5 点进行对比, 根据对比结果,对裁剪出来的人脸进行矫正,使其转变为正脸。将矫正后的人脸 输入至特征提取网络,得到 128 纬的特征向量。使用特征向量进行对比实现已保 存人脸的识别。

2.5.3 转头检测模型

使用卷积网络对驾驶员的转头看后视镜行为进行检测。采集共 374 张“转头” 和“非转头”的图像对卷积识别网络进行训练,训练结果如下图:

图 5 转头检测模型训练结果

可见训练集和验证集的准确率均达到了 99%左右,模型收敛,可以较好的完成转头检测任务。

3 系统测试

3.1 测试功能表

功能 1压力传感器检测到有人时唤醒系统
功能 2检测到驾驶座有人时提醒吹气,并进行人脸识别
功能 3人脸识别失败,发送短信告知车主
功能 4酒精浓度超过阈值短信通知其家属,并发送随机码
功能 5人脸识别成功并且酒精浓度低于设定阈值开锁
功能 6输入随机码开锁
功能 7检测到人按开车门键播报:注意后方车辆,并进行回头检测
功能 8回头检测成功,则开车门,否则持续播报请转头
功能 9三次播报请转头后,打开车门锁
功能10检测到主驾驶座上无人,一段时间后,雷达检测车内是否有人

功能

11

雷达检测车内有人,电话通知家属,连续两次不成功,则拨打 110 功能
功能12雷达检测无人进入深度睡眠模式
功能13长时间不使用系统时,给系统断电

表 2 系统功能表

3.2 测试方法与测试结果

用无线电模块模仿车锁和车门锁的开与关,按键模仿开车门锁。无线电接受模块与气体压力传感器以及酒驾模块组合的防酒驾模块如下图所示:

图 6 无线电接受模块

图 7 气体压力传感器与酒精模块

经检验,所有功能均正常。

4 总结展望

4.1 优点与创新之处

很显然,我们的系统功能丰富,能降低安全事故的发生,具有很强的实用性, 同时,结合实际,在防酒驾误触发时给予解决方法,加入 PMOS,实现不使用时, 系统断电,降低功耗。

4.2 总结与展望

从初期硬件、软件理论知识的学习,到后面主题的选择,作品的设计与不断地改进创新,我们见证了自己的提升,也收获了作品完成时的喜悦。在此期间, 我们也遇到过各种各样的困难,例如防酒驾模块中,怎样设计能防止司机“作弊” 逃避检查;防儿童滞留模块中选用何种方式检测车内儿童,又采用哪种模块向外呼救;选择核心板设计还是自己打板设计等等,这些问题带领我们不断地思考、选择、设计和实践,最终完成了我们的作品。虽然我们的作品可能还不够完美,但瑕不掩瑜,我们的作品还是具有一定的可行性与实用性的,相信未来,我们定能不断完善该作品。

后记

感谢 武汉芯源半导体 提供的技术支持和赞助 ❤,近期官方推出了 CW32开发者扶持计划,感兴趣的小伙伴可以关注 官方公众号 CW32生态社区 & 官方QQ群 482146847。

开源链接:https://pan.baidu.com/s/1_DcIFUhiF6EbnXGJEnITUg?pwd=z6jc

提取码:z6jc

这篇关于基于CW32的车载安全系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/428187

相关文章

在C#中获取端口号与系统信息的高效实践

《在C#中获取端口号与系统信息的高效实践》在现代软件开发中,尤其是系统管理、运维、监控和性能优化等场景中,了解计算机硬件和网络的状态至关重要,C#作为一种广泛应用的编程语言,提供了丰富的API来帮助开... 目录引言1. 获取端口号信息1.1 获取活动的 TCP 和 UDP 连接说明:应用场景:2. 获取硬

JAVA系统中Spring Boot应用程序的配置文件application.yml使用详解

《JAVA系统中SpringBoot应用程序的配置文件application.yml使用详解》:本文主要介绍JAVA系统中SpringBoot应用程序的配置文件application.yml的... 目录文件路径文件内容解释1. Server 配置2. Spring 配置3. Logging 配置4. Ma

2.1/5.1和7.1声道系统有什么区别? 音频声道的专业知识科普

《2.1/5.1和7.1声道系统有什么区别?音频声道的专业知识科普》当设置环绕声系统时,会遇到2.1、5.1、7.1、7.1.2、9.1等数字,当一遍又一遍地看到它们时,可能想知道它们是什... 想要把智能电视自带的音响升级成专业级的家庭影院系统吗?那么你将面临一个重要的选择——使用 2.1、5.1 还是

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

windows系统下shutdown重启关机命令超详细教程

《windows系统下shutdown重启关机命令超详细教程》shutdown命令是一个强大的工具,允许你通过命令行快速完成关机、重启或注销操作,本文将为你详细解析shutdown命令的使用方法,并提... 目录一、shutdown 命令简介二、shutdown 命令的基本用法三、远程关机与重启四、实际应用

Debian如何查看系统版本? 7种轻松查看Debian版本信息的实用方法

《Debian如何查看系统版本?7种轻松查看Debian版本信息的实用方法》Debian是一个广泛使用的Linux发行版,用户有时需要查看其版本信息以进行系统管理、故障排除或兼容性检查,在Debia... 作为最受欢迎的 linux 发行版之一,Debian 的版本信息在日常使用和系统维护中起着至关重要的作

什么是cron? Linux系统下Cron定时任务使用指南

《什么是cron?Linux系统下Cron定时任务使用指南》在日常的Linux系统管理和维护中,定时执行任务是非常常见的需求,你可能需要每天执行备份任务、清理系统日志或运行特定的脚本,而不想每天... 在管理 linux 服务器的过程中,总有一些任务需要我们定期或重复执行。就比如备份任务,通常会选在服务器资

TP-LINK/水星和hasivo交换机怎么选? 三款网管交换机系统功能对比

《TP-LINK/水星和hasivo交换机怎么选?三款网管交换机系统功能对比》今天选了三款都是”8+1″的2.5G网管交换机,分别是TP-LINK水星和hasivo交换机,该怎么选呢?这些交换机功... TP-LINK、水星和hasivo这三台交换机都是”8+1″的2.5G网管交换机,我手里的China编程has

基于Qt实现系统主题感知功能

《基于Qt实现系统主题感知功能》在现代桌面应用程序开发中,系统主题感知是一项重要的功能,它使得应用程序能够根据用户的系统主题设置(如深色模式或浅色模式)自动调整其外观,Qt作为一个跨平台的C++图形用... 目录【正文开始】一、使用效果二、系统主题感知助手类(SystemThemeHelper)三、实现细节