SCUMaker入门培训第三弹半-IOT开发深入
本教程将基于Arduino开发环境进行,使用ESP32主控,开发板是我们定制的一套开发板,外设要比第三弹的多一些,也会讲更多的内容。(其实就是给课上写的PPT和教案不拿来复用就可惜了)
在这一系列中,你可以学到这些内容:
- 常见的外设,以及其工作原理
- 对于按键的响应(两种方式)
- 通讯能力(ESPNOW协议与BLE通信)
本教程将基于Arduino开发环境进行,使用ESP32主控,开发板是我们定制的一套开发板,外设要比第三弹的多一些,也会讲更多的内容。(其实就是给课上写的PPT和教案不拿来复用就可惜了)
在这一系列中,你可以学到这些内容:
直接双击.ino文件打开示例工程,可以直接上传到开发板,上传后打开串口监视器,观察串口监视器的信息显示
无源是指内部没有信号源,需要使用IO口产生方波信号使其发出声音。在Arduino环境下使用PWM输出可以便捷地获得方波信号,这里我们使用ESP提供的LEDCAPI来生成指定频率的PWM信号(占空比设置为一半,获得比较标准的方波)。
案例:按下按键A开启蜂鸣器,按下按键B关闭蜂鸣器
这是一个无阻塞(delay)的程序,观察串口输出,试试取消注释,看看发生了什么。
案例:按下按键A屏幕显示0123,按下按键B屏幕显示你好世界
(仿照轮询的方式,有什么问题)
案例:按下按键A屏幕显示0123,按下按键B屏幕显示你好世界(使用中断的方式修改程序)
思考:和修改之前是一样的吗?可不可以在isa、isb中直接调用绘制?调用了会是怎么样呢?
选择中断方式还是轮询方式呢:我们会发现,对于外部响应,如果是轮询式,在单线程的情况下,总是会出现问题的。往往采用中断式。
一定要简短!尽可能减少执行时间(栈有限)
通常采用标志位方式利用中断,即在loop中检测标志位执行对应动作,中断的回调函数只修改标志位!
AP模式:ESP32开启热点,用手机或者电脑连接,进入192.168.4.1,尝试控制和读取信息(注意每个需要同学自行修改SSID和密码!)
连接后网页显示如图:
STA模式:
扫描附近的WIFI信息,输出到串口