个人项目——基于STM32的智能物联网寝室

这个项目是我参加学校的一个电子设计比赛的作品,主要包括非特征语音识别控制,扬声器播放,物联网监控与控制等,分享给大家,下面是比赛时用的展示视频。

(视频中SG90的舵机扭矩太小,所以没办法把门把手拽动,大家可以换成MG995舵机,另外所有模块的代码在我之前的博客中都可以下载,也可以下载本项目的完整项目代码,机智云物联网开发在我的博客中也有详细教程,在这里不详细阐述)

点击播放视频

点击打下载项目代码

点击下载语音识别模块代码

实现我把项目划分为了三大块,分别是智能门禁部分、健康监测部分、娱乐部分,在控制灯光和风扇方面使用了24V的电压代替220V电压做展示。

(1)智能门禁系统

为了叙述方便,我将开锁分为一级、二级,一级开锁就是转动门把手就可以开锁,二级开锁是钥匙要旋转两到三圈或者门内旋转门扣两到三圈才能开锁。

家中的防盗门在外面是没有把手的,开门只能使用钥匙,即使你只是短暂出去也不得不再用钥匙开锁,或者出去的时候把门留一条缝,这样就容易有不法分子溜进室内盗窃或者被走廊的风关掉,然后被锁在外面。只属于一级的开关锁,因为关闭以后锁芯并没有动,从门内转动门把手就可以开门。只有在你要出门的时候或者晚上睡觉的时候才会用钥匙锁门或者门扣反锁,这属于二级开锁,下图为智能门禁系统路线图


本智能门禁系统采用模块功能与作用如下:

STM32F103ZET6:基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核,作为本项目的微处理器。

LD3320语音识别模块:具有非特征语音识别功能,不需要语音训练,再本系统中负责识别语音命令并将指令通过UART发送给STM32微处理器。

RCC522 RFID模块:采用射频识别技术,通过刷ID卡确认身份开门,主要用于一级开锁。

AS608指纹识别模块:可以录入指纹,在确认身份正确后发送确认指令给微处理器开门,主要用于二级开锁。

步进电机:可以任意指定角度旋转,控制门扣在门内进行二级开锁与关锁。

SG-90舵机:有限角度旋转,控制门把手在门内一级开锁,不负责关锁,需要自己闭门进行一级关锁。

ESP8266 WIFI模块:负责与机智云通信,将APP命令通过云端返回微处理器,实现APP二级开锁与关锁,一级开锁。

(2)健康监测系统

技术路线如下图


本健康监测系统采用模块功能与作用如下:

STM32F103ZET6:本项目的微处理器。

DHT11温湿度模块:监测寝室内的温湿度,并上传给APP显示。在偏离正常值时语音提示开关窗,开关微型130电机风扇。

光照传感器:监测寝室内的光照,并上传给APP显示。偏离正常值时语音提示开关窗帘。

MQ-2烟雾传感器:监测寝室内空气质量,并上传给APP显示。空气质量差时提醒开门开窗。

HC-SR04超声波模块:用来测量身高,并上传给APP显示。与体重一起计算得出体型是否正常。

MAX30100心率血氧模块:测量心率与血氧,并上传给APP显示。

(3)娱乐系统

技术路线如下图


本娱乐系统采用模块功能与作用如下:

LD3320语音识别模块:具有非特征语音识别功能,不需要语音训练,再本系统中负责识别语音命令并将指令通过UART发送给STM32微处理器。

JQ8400FL-10P语音模块:按照语音命令做出回应,播放相应的MP3文件应答,实现简单的人机对话,也可以按照命令播放SD卡中的音乐,放松身心。

比赛预期的成果如下


总的来看整个系统的核心是STM32微处理器,并利用ESP8266模块实现与机智云的通信传输,并将数据发送到APP,再将APP的命令通过机智云返回微处理器。整个系统的语音与播放依赖的是娱乐系统的语音识别与播放,智能门禁系统与健康监测系统依赖的是各传感器与模块。这些模块共同构成了智能寝室系统。

智能门禁系统应用:在你火急火燎的从六楼寝室出去,到了楼下才意识到门没锁,你是否很不情愿再跑到六楼去锁门。有了智能寝室,掏出手机点击二级关锁,门马上就反锁,或者等你到了教室才意识到没锁门,也可以用手机APP二级关锁,是不是很方便。当你回到寝室发现没带钥匙,你要么等其他舍友回来,要么去一楼宿管那登记拿备用钥匙,再或者舍友都没带钥匙,凉凉。但有了智能寝室,掏出手机点击二级开锁,或者验证指纹,门马上就开了。你出去上个厕所,门突然被风刮上了,寝室门从门外是不能拧把手打开的,你敲门让你舍友给你开门,你舍友都在床上懒得下来,你怎么办?有了智能寝室,用你的ID卡一刷,或者手机点击一级开锁,门就开了,再或者寝室定了外卖,外卖送上来敲门,如果你在上铺,你的下铺也不愿意帮你拿,怎么办同样手机点击二级开锁,让外卖小哥送饭到你的床前。

健康监测系统应用:熬夜过后,是不是感觉心跳加快,为了确定是不是快的异常,来心率血氧模块这里,对着语音系统喊一声“我要测心率”,或者APP点击“测心率”按钮,把手指放到模块上,你的心率、血氧就显示在了OLED屏与APP上。你想知道有没有“二十五,鼓一鼓”,喊一声“我要测身高”,站在超声波模块下面,你的信息马上就显示出来。

娱乐系统应用:在寝室无聊,来逗一逗语音系统,“小菲菲,陪我玩”,“去找Siri那个小婊砸,我没空”,是不是很有意思,想听歌了,喊一句“放歌”,SD卡中的好歌好曲循环播放,不好听,喊一句“下一首”马上为您切歌。

项目用到的模块如下


因为模块较多,而单片机的串口等和处理速度有限,为了提高处理速度,减轻单块单片机的负担,所以项目使用了两块单片机,称为STM32设备1、STM32设备2,电路图就不画了,我用Visio画一个简明图给大家吧


OLED是用的正点原子的OLED屏,所以用的引脚比较多,测试用的APP用机智云的Demo APP就可以,链接可以在我的机智云教程那篇博客中找


最后上几张实物图,,所有模块都固定在了一个鞋盒子里了,测试视频在文章顶部哦。





        至此,教程结束,谢谢大家,也欢迎大家关注我的个人技术与资源分享公众号“linkutures”







猜你喜欢

转载自blog.csdn.net/tichimi3375/article/details/80299854