本节课为《7天物联网智能家居实战训练营1期》的第7节课,也是最后1节课。
一、【基础班7节课】项目完善与总结回顾
第一部分
一、对项目进行功能改进优化,并进行回顾总结。
项目程序流程中:首先将时钟、GPIO、串口、中断等初始化,如下图:
二、串口2中断接收
如图,启动串口2接收后,一旦串口2有接收到数据,就跳入串口2中断回调函数中,将串口2收到的数据保存到usart_rx_buf中,再次启动串口2接收。
三、发送AT指令
然后尝试依次向ESP8266发送指令,分别是重启、设置WIFI模式、连接WIFI的账号和密码、创建UDP连接,然后获取IP。
四、主函数
在主函数中,检测按键是否有按下,如果有按下向ESP8266发送数据,手机端微信小程序监控wifi数据 ,一旦收据“该”数据后会把APP端相应的图标改变颜色或执行其它事件。
五、主程序接收数据
匹配串口2接收数据 ,如果串口2接收到“指定”数据,对GPIO口进行操作,执行亮灯动作。
以上就是项目代码框架。
二、项目实例优化
在实际应用中,如环境的改变需要更换掉相应的wifi账号和密码,此时可以按下按键,手动输入新的账号和密码进行连接。具体程序思路如下 :
1.设置等待时间;比如:500ms;
2.判断按键是否有按下(如果有的话接下来获取wifi账号和密码);
获取wifi账号:
while(ch != "\r")
{
meset(ssid_buf,0,20)
ch = getchar();
ssid_buf(len) = ch;
len++;
}
获取wifi密码:
meset(pwd_buf,0,20)
while(ch != "\r")
{
ch = getchar();
if(ch > " ") //这里要求密码数据大于ASSIC 空格;
{
pwd_buf(len) = ch;
len++;
}
}
//注:在调试时可以打印输出相应的变量数据内容。
3.显示IP地址
三、总结回顾
第1课 基础概念
第1课 开发流程
第2课 上手思路
第2课 开发模式
第3课 时钟树
第3课 GPIO
第4课 中断
第4课 串口
第5课 AT指令
第6课 WIFI连接流程
第6课 程序框架