esp8266(2) 智能配置
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) 智能配置的更多相关文章
- 揭开智能配置上网(微信Airkiss)的神秘面纱
本文介绍微信利用Airkiss技术对wifi设备进行智能配置上网的场景,并分析其实现的原理.这里再次说明,Airkiss只是用于配置上网,其跟微信硬件平台的通信流程和接入协议规范完全没有关系.一个wi ...
- 基于esp8266的智能台灯DIY
研究esp8266已经很久了,特制作了一个智能灯, 代码如下,总结几点 一.关于arduino pro mini 的烧写方法 一定要在编译成功之后的下载提示出现的瞬间,单击复位按钮.才可进入烧写 二. ...
- 智能配置item
iTerm配置说明 ==== **这是一个很智能的配置,不论你电脑里面有没有安装iTerm,不管你有没有.zshrc配置文件,git配置文件,git忽略文件,以及git的默认编辑器都已经更改为vim, ...
- ESP8266 wifi 模块配置,Wechat+APP控制实现
首先刷入安信可的AiCloud 2.0 SDK文件,AiCloud 2.0具体信息参见AiCloud 1.0 和AiCloud 2.0对比 APP见如下二维码下载. 1.安信可AiCloud 2.0 ...
- 如何用ESP8266实现网页配置(web)
准备工作 准备一个深圳四博智联科技有限公司的ESP-F 模组.或者四博智联科技的NODEMCU 当我们拿到ESP-F模块后,可以按照以下接线进行测试: 即 VCC.EN 接 3.3v.GPIO15 G ...
- ESP8266局域网智能家居 路由器下作服务器模式串口透传 无线通信控制 arduino uno示例 模板参考
准备工作 下载一个Arduino IDE, 下载8266的库文件 ESP8266服务器模式串口透传编译 功能说明 1.直接使用路由器中转数据 2.手机放热点模式直接传输数据 两者有访问IP地址的差别, ...
- Diy智能家居-1.基于esp8266的语音控制系统(开篇)
目录Diy智能家居-1.基于esp8266的语音控制系统(开篇) https://blog.csdn.net/arno1988/article/details/82628589 Diy智能家居-2.基 ...
- 智能家居-1.基于esp8266的语音控制系统(开篇)
智能家居-1.基于esp8266的语音控制系统(开篇) 智能家居-2.基于esp8266的语音控制系统(硬件篇) 智能家居-3.基于esp8266的语音控制系统(软件篇) apache-apollo安 ...
- ESP8266 01S WIFI 网络
ESP8266是一款超低功耗的UART-WiFi 透传模块,拥有业内极富竞争力的封装尺寸和超低能耗技术,专为移动设备和物联网应用设计,可将用户的物理设备连接到Wi-Fi 无线网络上,进行互联网或局域网 ...
随机推荐
- LInux Crontab及命令
定时任务(cron job)被用于安排那些需要被周期性执行的命令.利用它,你可以配置某些命令或者脚本,让它们在某个设定的时间内周期性地运行.cron 是 Linux 或者类 Unix 系统中最为实用的 ...
- Integer to Boolean strange syntax
Question: I'm less than a year into C++ development (focused on other languages prior to this) and I ...
- 简单说一下UWP中的JumpList
在Windows10的10856这个版本中,微软为桌面版提供了一组新的应用交互方式,磁贴和Toast通知的个性化都有了一定的改善.针对磁贴方面,微软为我们提供了一组新的API来扩充我们对应用的交互方式 ...
- Docker 镜像运行时区不准确处理
启动 tomcat 容器时发现容器时间与本地时间不一致,相差 8 个小时 docker run -d --rm -p 8888:8080 tomcat:latest # 查看容器 ID docker ...
- JS日期Date详解与实例扩展
一:Date类型介绍 要创建一个日期对象,使用new操作符和Date构造函数即可: var now = new Date(); Date.parse()方法 其中Date.parse()方法接收一个表 ...
- docker 安装 gitlab
基于Docker部署GitLab环境搭建 建议虚拟机内存2G以上 1.下载镜像文件 docker pull beginor/gitlab-ce:11.0.1-ce.0 注意:一定要配置阿里云的加速镜像 ...
- Windows下更新 npm 和 nodejs
一.更新npm // 将npm更新到最新版本 npm install npm@latest -g 二.更新nodejs 1. 首先通过 where node 命令找到nodejs的安装路径 2. 然后 ...
- 自定义控件详解(一):Paint类与Canvas类
前言: 自定义控件必需的两个类:Paint与Canvas Paint --- 相当于绘图的"笔" Canvas --- 相当于绘图的"纸" 一.Pain ...
- Android解析XML文件
XML文件和获取XML值 XML文件样例 <?xml version="1.0" encoding="utf-8"?> <citys> ...
- csdn中使用git的一些注意事项---免得走弯路
csdn中使用git必须的条件(windows系统下): 1.本机当前登录用户文件夹下必须有.ssh隐藏文件,并且这个文件中必须有用git bash中用命令生成的密钥文件:id_rsa id_rsa ...