|
第一部分: 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.报警提示音。做了两级报警,通过蜂鸣器发出提示音以进行预警。
第三部分
代码: