注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
fangkaixin的个人空间 https://home.eeworld.com.cn/space-uid-695502.html [收藏] [复制] [分享] [RSS]
日志

【得捷Follow me第3期】家庭消防预警系统

已有 142 次阅读2023-12-10 21:10 |个人分类:micropython

第一部分:  3-5分钟短视频

https://training.eeworld.com.cn/video/38589

第二部分:任务/项目总结报告

必做任务1:使用MicroPython系统

主要是熟悉ESP32C3开发板基本操作,开发环境这次主要使用的是thonney,结合mircro python来完成的。试了一下用vscode开发也是可以的,它和thonney在更新应用程序时都是调用的esptool工具,所以我们需要安装esptool,安装完成后就烧录从micropython官网下载到esp32c3的固件,通过简单的命令行就可以完成,实现入门程序的运行。

【得捷电子Follow me第3期】开箱+任务1:使用Micropython系统

 

必做任务2:驱动扩展板上的OLED屏幕

驱动扩展板上的OLED屏幕,使用扩展板上的OLED屏幕显示文字和图形
我们需要做的是安装这款oled屏幕6的驱动程序(ssd130),本质上是将驱动文件(ssd1306.py)放入到根路径下的lib文件夹中,可以通过thonney安装,也可以手动上传。然后就可以调用驱动提供的接口来进行显示了,我这里通过屏幕显示了中英文字符以及矩形和圆形,显示图形用到了其他第三方的库。

【得捷电子Follow me第3期】任务2:驱动扩展板上的OLED屏幕(文字与图形)

 

必做任务3:控制蜂鸣器播放音乐

使用SP32C3控制蜂鸣器发出不同频率的声音,并播放一段音乐,这里主要用到PWM功能,对应的蜂鸣器管脚是pin5,在程序中引用PWM库,修改频率和占空比来使蜂鸣器发出不同频率的声音

 

 

必做任务4:连接WiFi网络

将ESP32C3连接到WiFi网络,并访问互联网信息,这个任务主要连接到家里的无线网络,从网络获取数据。这里获取的是网络的时间信息,然后结合oled屏幕显示,在后续的任务6中使用ESP32-C3作为tcp服务端,与电脑互传数据实现记录传感器数据与报警信息的功能。

 

 

 

 

必做任务5:使用外部传感器

使用外部传感器,连接环境光传感器以及温湿度传感器,获取传感器的数值,并转换成真实的物理量,结合oled屏来显示数值 。

温湿度传感器需要添加AHT20的库(ahtx0),通过i2c连接传感器与扩展版,激活i2c即可使用库中的接口,器件的i2c地址是0x38;光照传感器则需要引入adc,将采集到的数值转化为亮度单位。

 

 

   

可选任务6:家庭消防预警系统

在这个任务中,使用ESP32C3作为服务端记录本地时间以及环境温度数据,当温度超过阈值时,会产生报警提示,并且日志会周期性发往客户端。

1.绑定客户端。首先我们需要将ESP32C3服务端连接到家庭局域网中(192.168.1.14),我这里用PC(192.168.1.12)作为客户端,连接后,客户端发送任意数据激活服务端,我这里发送了一个begin字符串,服务端收到后,正式开启消防预警功能,并周期上报当前时间和家庭环境温度数据。

   2.屏幕显示部分。ESP32C3首先会通过wifi连接家庭网络,进入家庭局域网,当客户端连接并激活功能后,屏幕切换为温度界面,同时还会有本机ip地址和实时时间

 

 

3.周期日志与报警信息上传。正常情况下每5秒上传一次数据,当温度超过报警门限时,会在此基础上额外传递ALARM字符

4.报警提示音。做了两级报警,通过蜂鸣器发出提示音以进行预警。

 

第三部分

代码:

https://download.eeworld.com.cn/detail/fangkaixin/630256

本文来自论坛,点击查看完整帖子内容。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章