2022.3.27

主要讲的内容是:项目完善与总结回顾

基于上篇文章进行了代码改进添加了2向功能,利用串口手动输入WiFi账号和密码和优化展示ESP8266IP,代码段如下图。

1、设置上电后等待时间 如果在等待时间内按下按键,可输入账号和密码超时则跳出。

2、判断是否有按键按下

如果有按键按下,就马上获取数据首先获取WiFi账号

while循环获取字符,每次只能获取一个字符

getchar获取串口输入的字符,每次获取一个

定义char ch 来存放字符

while循环判定ch是否是\r,一旦输入回车就判断我们输入完了

ch是单个数据,要把ch保存起来,定义 char ssid_buf[20]="NETGEAR"保存起来,默认的账号是NETGEAR,密码100ask.cq,

定义长度 char len  ssid_buf[len]=ch,每次长度+1    len++

在判断有按键按下时将ssid buf ,清空一下,不然输入账号时,如果字符少于7个就不会完全覆盖所以要将 ssid buf清空,memset(ssdi buf,0,20)

if(ch>“ ”)的意思是输入的如果是一些控制符,就给他过滤掉

接下来就是获取WiFi的密码操作和上面获取WiFi的账号基本一致

3、组合指令("AT+CWJAP=\"NETGEAR\",\"100ask.cq\"")

利用strcat将账号密码拼接起来,再利用memcpy将账号密码传回去。

//添加功能1:支持手动输入WIFI账号和密码
void Key_Update_WIFI(char *cmd, uint16_t d_time)
{char ssid_buf[20] = "NETGEAR";char pwd_buf[20] = "100ask.cq";char wifi_cmd[50] = "AT+CWJAP=\"";char ch = 0;char len = 0;//1.设置等待时间HAL_Delay(d_time);//2.判断是否有按键if (Key_GetFlag()) {//2.1获取WIFI账号printf("Please enter SSID:");memset(ssid_buf, 0, 20);while(ch != '\r') //判断是否输入完 {ch = getchar();    //获取输入的字符if(ch > ' '){printf("%c",ch);ssid_buf[len] = ch;//保存输入len++;}} //2.2获取WIFI密码ch = 0;len = 0;printf("\r\nPlease enter Password:");memset(pwd_buf, 0, 20);while(ch != '\r') //判断是否输入完 {ch = getchar();    //获取输入的字符if(ch > ' '){printf("%c",ch);pwd_buf[len] = ch;//保存输入len++;}}    }printf("\r\n");//3.组合指令 ("AT+CWJAP=\"NETGEAR\",\"100ask.cq\"") strcat(wifi_cmd, ssid_buf);strcat(wifi_cmd, "\",\"");strcat(wifi_cmd, pwd_buf);strcat(wifi_cmd, "\"");memcpy(cmd, wifi_cmd, strlen(wifi_cmd));
}

功能2 优化ESP8266 IP  这段代码 自己C语言基础很差还没理解 ,理解后再更新上来。

//添加功能2:优化展示ESP8266 IP
/*
"192.168.50.170"
+CIFSR:STAMAC,"ac:0b:fb:c7:df:30"
*/
void Show_IP(char *ip)
{char buf[256] = {0};char ip_buf[256] = {0};uint8_t len = 0;char *ip_offset;ip_offset = strstr(ip, "STAIP")+6;memcpy(buf, ip_offset, strlen(ip_offset));while(buf[len] != '\r')  {ip_buf[len] = buf[len];len++;}printf("ESP8266 IP: %s\r\n", ip_buf);
}

百问网7天物联网智能家居 学习心得 打卡第七天相关推荐

  1. 百问网7天物联网智能家居 学习心得 打卡第五天

    打卡第五天. 2022/2/27基础班第五节培训. 主要讲的内容是:AT指令.网络基础.程序框架. 1.WiFi模块是用乐鑫的处理器,可以在百度上搜索乐鑫ESP8266.网站ESP8266 Wi-Fi ...

  2. 百问网7天物联网智能家居 学习心得 打卡第四天

    打卡第三天. 2022/2/16 基础班第三节培训. 主要讲的内容是:中断流程图.中断有那些(概括).中断优先级.GPIO中断. 1.中断流程图,程序开始时先执行主程序,这个时候如果发生中断了,暂停主 ...

  3. 百问网7天物联网智能家居 学习心得

    2020/2/12 打卡第一天 首先早上9点半黄老师准时开了,基础班第一节的培训. 主要讲的内容是:嵌入式的学习路线和职业规划.接下来我归类总结一下. 1.什么是嵌入式:电脑不属于嵌入式,以我的理解嵌 ...

  4. 【百问网7天物联网智能家居】训练营学习笔记(七)

    在完成业务裸机的过程中,会用到freertos的任务通知和队列这两个内容 回顾下我们一开始的项目需求: 现在来看这个需求,在上了前面的课程后,相信大家心里已经有了实现它的方法脉络了 我们对于mini开 ...

  5. 【百问网7天物联网智能家居】训练营学习笔记(二)(需求分析,框架建立)

    构建一个项目的大致流程: 1,负责拉项目的同时,就叫市场部的同事吧,他们在外面和别的公司或者企业的人进行交流协商,得到一个项目: 2.然后再将这个项目交由研发部的负责人评估怎么做,研发部负责人召集手下 ...

  6. 百问网物联网智能家居学习笔记day6

    一.day6的主要内容 今天的主要内容是移植mqtt,了解mqtt库,开发板作为mqtt客户端与阿里云服务器测试.很详细的讲解了mqtt重要api函数,很实用. 二.day6的重要知识点 移植按照视频 ...

  7. 百问网7天物联网记录(二)

    FreeRTOSConfig.h参数理解 ①调度算法 #define configUSE_PREEMPTION 1 //可抢占 #define configUSE_TIME_SLICING 1 //时 ...

  8. 7天物联网智能家居学习记录---第五天

    打卡韦东山老师团队所讲解的课程第五天. 今天开始AT指令.ESP8266WiFi模块.网络基础 AT指令说明 AT指令集或AT命令集,一般称其为AT指令 AT指令的注意事项: AT 指令必须大写.并且 ...

  9. 7天物联网智能家居学习记录---第七天

    打卡韦东山老师团队所讲解的课程第七天. 今天进行了代码改进添加了2项功能,利用串口手动输入WiFi账号和密码和优化展示ESP8266IP,代码段如下. 1.设置上电后等待时间 如果在等待时间内按下按键 ...

  10. 7天物联网智能家居学习记录--第一天

    打卡韦东山老师团队所讲解的课程第一天. 今天主要讲解基本概念了解大概框架和需要学习嵌入式需要那些准备内容(软件.硬件). 什么是嵌入式 嵌入式用于控制.监视或者辅助操作机器和设备的装置(不一定是电路, ...

最新文章

  1. 365Rss.cn Beta 1.0 (内测版本)更新 2007-1-18:速度、人性化、简洁化
  2. OpenCV3实现人脸识别(三)——训练与识别自己的人脸数据
  3. 设置npm的registry
  4. Android 中单选框或复选框点击其中一个,其余取消操作
  5. 区块链每日一问 | 数字货币的场内交易和场外交易各指什么?各有哪些特点?...
  6. mybatis一个方法执行多条sql_精尽MyBatis源码分析——SQL执行过程之Executor!
  7. 【Dart学习】-- Dart之匿名方法闭包
  8. stc流水灯c语言程序,求51单片机流水灯跑马灯程序设计 (STC89C52RC)??
  9. 工作站Linux双显卡BIOS设置,在BIOS Setup里面设置双显卡机型的双显卡模式常见方式介绍...
  10. 常用的一些vba代码
  11. captura 录制出来的是黑屏_黑屏:我录制的视频播放时画面是黑的解决方案 - Bandicam(班迪录屏)...
  12. 活着的意义--读《此生未完成》有感
  13. 使用FTP进行主机与Linux的文件传输
  14. winSCP 集成PuTTY附下载
  15. 计算机网络基础之互联网的互联设备讲解
  16. MATLAB显函数作图 参数方程作图 极坐标方程作图绘图实例 用 Matlab 绘制高颜值函数图像 放大看告别浓浓锯齿风
  17. 饥荒联机云服务器_WeGame饥荒联机版专用服务器多层世界搭建教程
  18. 02: 实现发布帖子功能
  19. Linux/Ubuntu网络知识
  20. CentOS7设置开机启动网络

热门文章

  1. 【新书推荐】【2019.06】大局观从何而来
  2. 华为路由器显示网络未连接到服务器,如何解决华为路由器Q1连接没有网络的问题?...
  3. 路由器猫服务器未响应,怎么通过猫判断网络连接是否有问题
  4. java学习心路历程
  5. python学习之心路历程
  6. 【分享】品牌平面广告创意过程与思维技巧
  7. 改进left函数,截取varchar需要的字符串长度
  8. oracle怎么建立物化视图,Oracle 建立物化视图步骤
  9. 马斯克11天强吞推特,全新商业帝国拼图完成
  10. php ftp 远程上传文件类