http://www.arduino.cn/thread-46594-1-1.html

http://blog.csdn.net/sadshen/article/details/47049129

http://yfrobot.com/thread-11795-1-1.html

先来说smartconfig吧 也就是所谓的一键配置,速度比AP模式快,为什么呢?请看下面分解。

所谓的smartconfig就是

手机APP端发送包含WIFI 用户名 WIFI密码的 UDP 广播包或者组播包,

智能终端的WIFI芯片可以接收到该UDP包,只要知道UDP的组织形式,就可以通过接收到的UDP包解密 出WIFI 用户名 密码,

然后智能硬件 配置受到的WIFI 用户名 密码到指定的WIFI AP 上。

而在官方例程里面,都是把wifi的SSID和PSW写死在程序里面,这样的话,如果万一要更换网络环境,就要重新更改代码里面的相应参数,再次编码并写入MCU里面,有点不方便,因此我就稍微更改了一下官方的代码,让其可以在不重编码的使用第三方APP的情况下更改连接网络的相关参数。

CWJAP尝试用已存在的SSID和PSW连接网络,如果成功就进入透传模式,如果失败就变更为AP模式,AP模式下的SSID为"Onenet-Config",开放连接,连接后的网关IP是 192.168.4.1

CWJAP尝试用已存在的SSID和PSW连接网络,如果成功就进入透传模式,如果失败就变更为AP模式,AP模式下的SSID为"Onenet-Config",开放连接,连接后的网关IP是 192.168.4.1

 

进入AP模式后,开始监听是否有客户端连接和 http 请求配置页面,在没有请求的时候,connect_id= -1,因此判断connect_id就可以知道有没有连接请求。在main当中不断进行检测。

1手机搜索连接 IP 写死 192.169.4.1 端口 8080。 发送 新的 路由器 名称和地址。

2 填写完新的SSID 与 PSW后,点击 SUBMIT 提交,中断函数会再次截取获取到的参数,并提取新的SSID 和 PSW,在ESP8266_Echo里面把新的参数写入EEPROM,以便下次开机的时候读取。当写入完成后就会再次初始化8266并与平台建立连接。

3 这个方案是直接利用ESP8266的server模式,在没有成功连接wifi的时候,把自己变成一台html服务器,由STM32进行运算,因为html代码是由连接端的浏览器进行解析的,所以STM32+ESP8266只负责发送相应的html数据过去即可,最后接收回传数据并解析,写入EEPROM,即完成整个操作,但由于stm32的硬件I2C实在有点脆弱,尽可能整个包下载下来进行测试,然后根据实际需要去提取自己需要的部分,如有任何问题,欢迎留言交流O(∩_∩)O

esp8266(2) 智能配置的更多相关文章

  1. 揭开智能配置上网(微信Airkiss)的神秘面纱

    本文介绍微信利用Airkiss技术对wifi设备进行智能配置上网的场景,并分析其实现的原理.这里再次说明,Airkiss只是用于配置上网,其跟微信硬件平台的通信流程和接入协议规范完全没有关系.一个wi ...

  2. 基于esp8266的智能台灯DIY

    研究esp8266已经很久了,特制作了一个智能灯, 代码如下,总结几点 一.关于arduino pro mini 的烧写方法 一定要在编译成功之后的下载提示出现的瞬间,单击复位按钮.才可进入烧写 二. ...

  3. 智能配置item

    iTerm配置说明 ==== **这是一个很智能的配置,不论你电脑里面有没有安装iTerm,不管你有没有.zshrc配置文件,git配置文件,git忽略文件,以及git的默认编辑器都已经更改为vim, ...

  4. ESP8266 wifi 模块配置,Wechat+APP控制实现

    首先刷入安信可的AiCloud 2.0 SDK文件,AiCloud 2.0具体信息参见AiCloud 1.0 和AiCloud 2.0对比 APP见如下二维码下载. 1.安信可AiCloud 2.0 ...

  5. 如何用ESP8266实现网页配置(web)

    准备工作 准备一个深圳四博智联科技有限公司的ESP-F 模组.或者四博智联科技的NODEMCU 当我们拿到ESP-F模块后,可以按照以下接线进行测试: 即 VCC.EN 接 3.3v.GPIO15 G ...

  6. ESP8266局域网智能家居 路由器下作服务器模式串口透传 无线通信控制 arduino uno示例 模板参考

    准备工作 下载一个Arduino IDE, 下载8266的库文件 ESP8266服务器模式串口透传编译 功能说明 1.直接使用路由器中转数据 2.手机放热点模式直接传输数据 两者有访问IP地址的差别, ...

  7. Diy智能家居-1.基于esp8266的语音控制系统(开篇)

    目录Diy智能家居-1.基于esp8266的语音控制系统(开篇) https://blog.csdn.net/arno1988/article/details/82628589 Diy智能家居-2.基 ...

  8. 智能家居-1.基于esp8266的语音控制系统(开篇)

    智能家居-1.基于esp8266的语音控制系统(开篇) 智能家居-2.基于esp8266的语音控制系统(硬件篇) 智能家居-3.基于esp8266的语音控制系统(软件篇) apache-apollo安 ...

  9. ESP8266 01S WIFI 网络

    ESP8266是一款超低功耗的UART-WiFi 透传模块,拥有业内极富竞争力的封装尺寸和超低能耗技术,专为移动设备和物联网应用设计,可将用户的物理设备连接到Wi-Fi 无线网络上,进行互联网或局域网 ...

随机推荐

  1. SQL 查看表每一个列的名字以及类型

    select a.name,b.name from sys.columns as a join sys.types as b on a.system_type_id=b.system_type_id ...

  2. ajax读取txt文本时乱码的解决方案

    前言:第一次学习使用 ajax 就是用来读取文本 先给出现乱码的代码<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional/ ...

  3. [PHP] 算法-合并两个有序链表为一个有序链表的PHP实现

    合并两个有序的链表为一个有序的链表: 类似归并排序中合并两个数组的部分 1.遍历链表1和链表2,比较链表1和2中的元素大小 2.如果链表1结点大于链表2的结点,该结点放入第三方链表 3.链表1往下走一 ...

  4. 【Java并发编程】6、volatile关键字解析&内存模型&并发编程中三概念

    volatile这个关键字可能很多朋友都听说过,或许也都用过.在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果.在Java 5之后,volatile关键字才得以 ...

  5. jQuery点击页面其他部分隐藏下拉菜单

    一.开发小要点 web页面中,我们一般不用select.option来实现下拉菜单效果,因为下拉框的样式丑且难以美化,所以我们选择控制ul显示隐藏来实现同样且高大上的效果,但是不能像下拉框那样点击页面 ...

  6. csharp: FTP Client Library using System.Net.FtpWebRequest

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...

  7. JS的DOM操作 - 你真的了解吗?

    摘要 想稍微系统的说说对于DOM的操作,把Javascript和jQuery常用操作DOM的内容归纳成思维导图方便阅读,同时加入性能上的一些问题. 前言 在前端开发的过程中,javascript极为重 ...

  8. Ansible--常用模块使用(2)

    Ansible常用模块 cron 模块 用途:cron模块⽤于设置定时任务,也⽤于管理定时任务中的环境变量使用方法: [root@ansible ~]# ansible-doc -s cron - n ...

  9. ionic打包报错Execution failed for task ':processDebugResources'

    ionic 打包的时候报了这样一个错误:Execution failed for task ':processDebugResources' 分析: compile "com.android ...

  10. python正则表达式模块re:正则表达式常用字符、常用可选标志位、group与groups、match、search、sub、split,findall、compile、特殊字符转义

    本文内容: 正则表达式常用字符. 常用可选标志位. group与groups. match. search. sub. split findall. compile 特殊字符转义 一些现实例子 首发时 ...