ESP8266_01搭建开发环境

ESP8266_02程序的编译与下载

ESP8266_03SDK与Makefile的基本用法

ESP8266_04管脚控制与软件定时器

ESP8266_05 ESP8266有几个串口?

ESP8266_06硬件定时器与IO中断

ESP8266_07基于PWM的呼吸灯

ESP8266_08基于flash的数据掉电保护

ESP8266_09基于IIC控制的OLED屏幕

ESP8266_10 ESP8266的STATION模式

ESP8266_11 ESP8266的UDP广播

ESP8266_12 ESP8266客户端模式下的TCP通信

ESP8266_13服务器端模式下的TCP通信

ESP8266_14 SOFTAP模式下的服务器端和客户端

ESP8266_15天气预报之TCP的GET操作

ESP8266_16天气预报之JSON数据的生成与解析

ESP8266_17简单网络时间协议-SNTP

ESP8266_18 MQTT协议接入ONENET平台

ESP8266_19MQTT协议接入ONENET平台_订阅主题

ESP8266_20 基于ONENET平台的数据上传之TCP的POST操作

ESP8266_21基于ESP8266的一键配网

ESP8266_22基于自身ADC的电压采样

ESP8266_23基于硬件定时器的红外遥控器解码

这一节,说一下一键配网的用法。首先说为什么需要一键配网?

原因很简单,因为设备要上网?那,给那些设备配一个屏幕和一个输入设备行不行?

不是不可以,对那些成本没要求的设备是没问题的。但物联网设备大部分都是一些简单的监测、通信设备,需要的数量又很多,基本配置好以后放在那里就没人动了。所以给这样的设备添加屏幕和输入设备,在资源上是很大的浪费。

举个例子,我之前买过一个小度音箱(低配版,非广告~),使用时,先用蓝牙去连接这个设备,然后把wifi的账号、密码发给它。再然后,它会连接当前wifi。

从此以后,你再让它干什么,只要说话就行了,根本用不到屏幕或按键。

那么,说到一键配网,你的第一反应想到什么?

smartconfig还是airkiss?

先说smartconfig,具体是哪个厂家提出的我没查到,不过当前支持的厂家还是很多的,如下图所示:

注意:每家的smartconfig技术可能会有些细微的差别。

以乐鑫支持的smartconfig技术为例,首先需要手机通过UDP的方式把wifi的账号、密码通过广播的方式发送出去;然后需要ESP8266进入混杂模式,扫描当前环境下有哪些AP;第三步,进入该AP的channel接收UDP数据包,如果有,进行解析,如果没有,进入下一个channel。

再说airkiss,这个用的也比较多。因为是它是腾讯家提出的概念,懒得写了,直接放个官网截图:

具体就不说了,感兴趣的可以自行搜索一下。

这一节的内容已smart-config为主,会了一个,另一个就so easy了!

跟MQTT的调试一样,打开官方的SDK,因为官方已经帮我们写好了,我们只要会调用即可。在SDK的examples文件夹下面,文件夹名字为smart_config,如下图所示:

打开该文件夹下的user目录下的user_main.c文件,可以看到相关源码:

不光有smartconfig,还有airkiss:

所以,做个简单的演示程序,以之前GPIO控制LED的工程为模版,添加smartconfig的代码,使其在配网成功后,控制LED闪烁。

由于整体功能比较简单,这里只看一下主函数内的代码:

void ICACHE_FLASH_ATTR
user_init(void)
{partition_item_t partition_item;uart_init(BIT_RATE_115200, BIT_RATE_115200);os_printf("SDK version:%s\n", system_get_sdk_version());//打印输出SDK版本PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U,FUNC_GPIO12);         //设置相关引脚为GPIO模式PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTCK_U,FUNC_GPIO13);PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDO_U,FUNC_GPIO15);gpio_output_set(0, BIT15, BIT15, 0);   //设置GPIO15为低电平smartconfig_set_type(SC_TYPE_ESPTOUCH);         //SC_TYPE_ESPTOUCH,SC_TYPE_AIRKISS,SC_TYPE_ESPTOUCH_AIRKISSwifi_set_opmode(STATION_MODE);smartconfig_start(smartconfig_done);
}

前面是串口初始化,并打印SDK版本。然后是GPIO初始化,并设置初始状态(根据你们的LED电路来设置初始状态)。

下面这行比较关键:

smartconfig_set_type(SC_TYPE_ESPTOUCH);

用来选择你要配网的方法:ESPTOUCH,还是AIRKISS,还是两者皆可。

ESPTOUCH是乐鑫提供的一键配网的APP,这里代表的是smartconfig模式,文章结尾会提供APP下载链接。

后面两行代码,一行用来设置ESP8266的工作模式,另一行启动配网,并设置相关的回调函数。

控制LED的函数,我放在了配网完成的代码里。

程序修改完成,保存、清理、编译、下载一条龙,然后重新上电。这里借助串口助手来查看效果。设备上电之后,效果如下所示:

先输出上面红框里的信息,此时,打开ESPTOUCH 这个APP,注意,前提是要确保你的手机连接在当前的wifi环境下。

如图,SSID是wifi名称,自动显示出来。我们要做的就是输入密码,然后点击下面的 Confirm。此时,APP页面变成下面的样子:

同时,ESP8266收到相关信息后,开始解析,并打印工作状态:

如图所示,8266获取到了相关的SSID和密码,连接成功,并打印出了自身、网关、手机的IP。此时,手机APP显示内容如下:

连接成功~~~

至此,基于ESP8266的smartconfig方式下一键配网聊完了,感兴趣的可以下载源码试一下。

链接:https://pan.baidu.com/s/1O1V8mAI7Nr-TXqSjSg6gAQ

提取码:gpa6

ESP8266_21基于ESP8266的一键配网相关推荐

  1. esp8266 接收udp广播_ESP8266_21基于ESP8266的一键配网

    这一节,说一下一键配网的用法.首先说为什么需要一键配网? 原因很简单,因为设备要上网.那,给那些设备配一个屏幕和一个输入设备行不行? 不是不可以,对那些成本没要求的设备是没问题的.但物联网设备大部分都 ...

  2. ESP8266 SmartConfig一键配网

    ESP8266 SmartConfig一键配网   Wi-Fi 配网,指由外部向 Wi-Fi 设备提供 SSID 和密码(PSW),让 Wi-Fi 设备可以连接指定的热点或路由器,并加入后者所建立的 ...

  3. ESP8266微信一键配网smartconfig,esp32可用

    ESP8266微信一键配网 第一步 下载程序 微信配网 恢复出厂设置 ESP32 接入 第一步 下载程序 简单配网例程:点击下载 配网并控制LED例程:点击下载 例程下载后,需要使用arduino i ...

  4. ESP8266 arduino 一键配网之后掉电不丢失wifi数据

    本文关注掉电丢失wifi数据和不丢失数据的异同点. 一.软硬件 所用硬件如下图,软件是arduino 1.8.9. 二.代码分析 代码如下: void smartConfig() {WiFi.mode ...

  5. ESP8266开发、ESP8266连接阿里云物联网、天猫精灵控制esp8266、esp8266一键配网、智能家居

    ESP8266开发.ESP8266连接阿里云物联网.天猫精灵控制esp8266.esp8266一键配网.智能家居 项目介绍 最近会 将arduino IDE开发ESP8266中一些值得记录得部分写下来 ...

  6. 安信可分享 | 分享一个基于airkiss协议的配网小程序,实现小程序一键配网安信可ESP32C3\ESP8266\ESP32\ESP32S2系列的模组。(附带源码)

    文章目录 一.关于 WeChatAirkiss 1.1 应用场景 二.airkiss 简介 三.开始使用 四.API说明 五.FAQ 六.开源微信物联网控制一览表 联系我们 一.关于 WeChatAi ...

  7. Esp8266进阶之路17 esp8266自研的快速上电开关五次 (开-关为一次) ,无需按键触发则8266进去一键配网模式。(附带Demo)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 序号 SDK版本 内容 链接 1 nonos2.0 搭建 ...

  8. Esp8266学习之旅⑥ 了解SmartConfig与Airkiss一键配网,给8266一键配网上云端。(带Demo)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 序号 SDK版本 内容 链接 1 nonos2.0 搭建 ...

  9. esp8266 wifi模组手机一键配网,配置一次,下次重启设备后不需再进行配网

    编写时间:2018年9月2日 #define  ATCMDLEN   20 extern uint8_t usart3RecvEndFlag; extern UART_HandleTypeDef hu ...

最新文章

  1. QIIME 2教程. 22命令行界面q2cli(2020.11)
  2. 启示—地点IT高管20在职场心脏经(读书笔记6)
  3. 如何实现分享链接到微信朋友圈时显示自定义LOGO以及名称介绍
  4. 2.4 理解指数加权平均-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授
  5. u盘安装linux双系统6,用U盘安装Centos6.5 + Win7 双系统
  6. 学习java的步骤_java学习的基本步骤
  7. 深度学习之自编码器(3)自编码器变种
  8. linux安装mq报5724,小白提问:linux安装MQ出现的错误
  9. linux core无权限,linux – 为什么编辑core_pattern受限制?
  10. 工作312:uni-时间戳处理
  11. 信息学奥赛一本通(1020:打印ASCII码)
  12. 在Silverlight中进行图片下载
  13. 美法院起诉黑客组织成员 为暴雪服务器攻击者
  14. 数学公式【(1+1+2+1+2+3+1+2+3+4。。。)⇒n*(n+1)*(n+2)/6】
  15. android伸缩动画,Android 伸缩动画xml配置
  16. R语言maps包绘制世界地图并存为矢量图 超基础!
  17. 微信小程序实现音乐搜索页面
  18. 短视频的素材在哪里找呢?推荐给你一个好办法
  19. 数据结构与算法学习(第一天)
  20. 虚拟机(VMware Workstation或Hyper-V)装ghost版系统提示“ntldr is missing Press Ctrl+Alt+del to Resta

热门文章

  1. Windows的cmd中cd指令切换路径
  2. Java选择题(十七)
  3. 如何正确的撰写软文的结尾?
  4. 江南大学计算机科学复试题目,2021江南大学计算机科学与技术考研真题经验参考书...
  5. python 计算快递费
  6. 机器学习-47-ML-03-Metric-based Approach Train+Test as RNN(元学习-support set和query set用于同一网络的方法)
  7. 腾讯QQ大数据:用户增长分析——用户流失预警
  8. 提高工作效率--番茄工作法
  9. c# 中文数字转阿拉伯数字
  10. 2个步骤让你秒获KOL抖音运营数据分析报告