本工程包括一下功能:1、远程控制工作功能:手机端app远程控制窗户开关(手机app自主开发)

                                    2、自动监测工作功能:自动监测天气,并控制窗户开关

                                    3、远程监测数据功能:温度、可燃气体浓度及各种状态在手机端显示

                                    4、本地监测数据功能:温度、可燃气体浓度及各种状态在OLED屏显示

                                    5、RTC万年历功能:OLED显示实时时钟,且支持按键离线修改

                                    6、外部闯入报警功能:使用激光发射器,检测是否有外部闯入


底端有完整工程链接


演示视频:

基于STM32的智能窗户系统(智能家居、远程控制、自动开关)

一、项目展示

二、项目实现原理

①手机端app的制作

本项目使用一款麻省理工研发的开发安卓app的平台——appinventor,基于图形化编程,是“不愿意编程党”的福音,不需要使用代码开发app,而是使用一些逻辑关系模块完成开发。首先在主页面拖放好各种想要的按键,之后再编程界面拖放逻辑关系模块,完成开发(与labview相似)。

②手机端连接云平台

在使用appinventor开发的过程中,调用连接云平台接口,连接云平台,博主使用的是巴法云平台,再巴法云官网有详细的教程。

额外说一下这个云平台接口,ClientSocketAI2Ext,这个不是appinventor的原生组件,需要再Extension下导自行导入插件。

另外,有想学习appinventor的可以看一下这个博主的网课,我当时就是跟随这个博主学的,很详细,很好学,两天完成。细说AppInventor【1】课程说明_哔哩哔哩_bilibili

我所圈的第一个里面,有appinventor安装教程

第二个所圈的是里面各种实例,有具体开发app的步骤 ,会教授如何完成组件摆放及如何编写逻辑模块。

③设备(单片机)连接云平台

本项目使用esp-01s通过wifi信号连接云平台(环境中必须要有wifi),以云平台为中介,完成与手机app的交互。

 三、各功能介绍及实现

1、远程控制工作功能:手机端app远程控制窗户开关(手机app自主开发)

手机端通过触发相应的组件,将相应的控制命令上传至云平台,esp-01s通过wifi信号连接该云平台获取到该指令,并将该指令通过串口传给stm32,由stm32驱动步进电机转动,控制开关窗户。

2、自动监测工作功能:自动检测天气,并控制窗户开关

系统具备雨滴传感器,当系统工作于自动模式下(通过app可切换工作模式),可根据雨滴传感器监测的情况,自动开关窗户。

3、远程监测数据功能:温度、可燃气体浓度及各种状态在手机端显示

系统具备dht11测温传感器、MQ-9可燃气体监测模块,单片机驱动这两个传感器工作,并将相应的数据通过esp-01s 、云平台,上传至手机app显示,大约为两分钟更新一次数据(间隔过短也没有意义)。

4、本地监测数据功能:温度、可燃气体浓度及各种状态在OLED屏显示

与功能3一样,单片机驱动这两个传感器工作,将相应的数据显示在oled屏上,但是这个更新的很快,而手机端是一段时间更新一次。

5、RTC实时时钟:OLED显示实时时钟,且支持按键离线修改

本项目利用核心板上的RTC时钟晶振,开发实时时钟,在时间显示界面可以观察到具体时间,且本项目支持“通过按键修改时间”。K1:进入时间设置界面、切换所修改的时间单位、返回时间显示界面,K2:时间加一个单位,K3:时间减一个单位

在时间显示界面触发K1按键,进入时间设置界面;之后触发K1按键设置不同的时间单位,刚进入时间设置界面时是对年份进行修改,再按一下K1对月份进行修改,如此递推(oled屏幕上有个小箭头,小箭头所指的就是当前正在修改的时间单位),当最后在按下一次K1时,返回时间显示界面,并进行时间更新。

6、外部闯入报警:使用激光发射器,检测是否有外部闯入

本项目具备激光对射传感器,当有遮挡体遮挡住激光时(模拟有人从窗户上闯入,阻挡了激光),启动蜂鸣器,发出报警。本项目考虑周全,设置另一个按键K4,当按键K4触发时,报警停止。(符合常理,因为小偷闯入时,肯定不知道这么一个按键,就会一直报警,提醒住户。    住户误触发时,直接触发按键,停止报警)。

感觉未分享清楚、有疑惑

咨询问题、了解具体内容、需要帮助者 可私信联系


资料链接:

https://item.taobao.com/item.htm?ft=t&id=777889841109&skuId=5487953319741

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐