WIFI智能配网 - SmartConfig

简介: 要开始IoT项目的第一步是什么?当然不是硬件,而是硬件与硬件的连接!即使有各种各样的通信协议没有好的连接方式绝对不行。那外设上没有的屏幕,没有键盘怎末输入密码怎末选择网络?对,这就是WIFI模块最重要解决的问题。

要开始IoT项目的第一步是什么?当然不是硬件,而是硬件与硬件的连接!即使有各种各样的通信协议没有好的连接方式绝对不行。那外设上没有的屏幕,没有键盘怎末输入密码怎末选择网络?对,这就是WIFI模块最重要解决的问题。

为了解决这个连接问题乐鑫在其SDK中加入了SmartConfig功能,所谓的smartconfig就是手机APP端发送包含WIFI 用户名 WIFI密码的 UDP 广播包或者组播包,智能终端的WIFI芯片可以接收到该UDP包,只要知道UDP的组织形式,就可以通过接收到的UDP包解密 出WIFI 用户名 密码,然后智能硬件 配置受到的WIFI 用户名 密码到指定的WIFI AP 上。

如果将其原理用简洁点的步骤来解说应该分为以下几步:

  1. ESP8266 端调用 WiFi.beginSmartConfig() 等待手机端发出的用户名与密码。
  2. 手机端填写当前网络的密码发送到UDP端口。
  3. ESP8266 自动收到连接信息并调用 WiFi.smartConfigDone() 退出等待。

就这么简单!

ESP8266 的固件代码

Arduino core for ESP8266 的代码示例:

#include <ESP8266WiFi.h>;

void setup() {
  Serial.begin(115200);
  delay(10);

  // 必须采用 AP 与 Station 兼容模式
  WiFi.mode(WIFI_AP_STA);
  delay(500);


 // 等待配网
  WiFi.beginSmartConfig();

 // 收到配网信息后ESP8266将自动连接,WiFi.status 状态就会返回:已连接
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
    // 完成连接,退出配网等待。
    Serial.println(WiFi.smartConfigDone());
  }

  Serial.println("");
  Serial.println("WiFi connected");  
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
}

int value = 0;

void loop() {
}

如果使用NodeMCU Lua 的话代码会更简单一些:

wifi.setmode(wifi.STATION)
wifi.startsmart(0,
                function(ssid, password)
                     print(string.format("Success. SSID:%s ; PASSWORD:%s", ssid, password))
                 end )

手机端

将以上的代码写入到ESP8266之后,就要在安卓或者iOS上安装一个由乐鑫提供的ESP-Touch的App将当前WIFI中的用户名和密码告知ESP8266以完成SmartConfig连接。

相关资源

相关文章
|
安全 芯片
启明云端ESP32-S2 摄像头 WIFI方案应用于智能猫眼
同时,还有将智能猫眼与指纹锁数据互通,用于记录核实来访人员的指纹信息和面目人脸信息,进一步加强安全防范。所以智能猫眼方案常与智能门锁集成一起应用。
538 0
启明云端ESP32-S2 摄像头 WIFI方案应用于智能猫眼
硬件新品一周简报:加意Duux迷你空净、MAG P90磁动枪、Instrument 1智能乐器和“食光机+WIFI侠”
这一周,各式硬件新品的逐一登场让人应接不暇。笔者就为大家精选了本周国内外较为关注的硬件新品众筹和发布资讯。
352 0
硬件新品一周简报:加意Duux迷你空净、MAG P90磁动枪、Instrument 1智能乐器和“食光机+WIFI侠”
|
传感器 算法 物联网
国产芯片WiFi物联网智能插座—电耗采集功能设计
国产芯片WiFi物联网智能插座—电耗采集功能设计
国产芯片WiFi物联网智能插座—电耗采集功能设计
|
安全 物联网 芯片
国产芯片WiFi物联网智能插座—电源功能设计
国产芯片WiFi物联网智能插座—电源功能设计
国产芯片WiFi物联网智能插座—电源功能设计
|
物联网 芯片 智能硬件
国产芯片WiFi物联网智能插座—项目简介
国产芯片WiFi物联网智能插座—项目简介
国产芯片WiFi物联网智能插座—项目简介
|
物联网 Android开发 芯片
应用速递 | WiFi&蓝牙双模智能插座
应用速递栏目:应用速递是面向IoT厂商推荐芯片开放社区(OCC)上的典型应用案例,便于IoT厂商精准获取方案,快速实现产品落地。
181 0
应用速递 | WiFi&蓝牙双模智能插座
|
Android开发 芯片 iOS开发
应用速递 | WiFi&蓝牙双模智能插座
应用速递是面向IoT厂商推荐芯片开放社区(OCC)上的典型应用案例,便于IoT厂商精准获取方案,快速实现产品落地。
418 0
应用速递 | WiFi&蓝牙双模智能插座
|
存储 监控 安全
物联网入门训练营“W800开发板的奇思妙想”:基于WiFi模块的智能门锁系统
如果你有好的创意或者对文中的创意有更多延展想法,也可以在本文后评论,我们还有少数试用开发板的机会,期待你的评论。
物联网入门训练营“W800开发板的奇思妙想”:基于WiFi模块的智能门锁系统
|
大数据 UED
微信连wifi正式全量对外开放申请 升级智能服务
  之前我们提到过微信公众平台"微信连Wi-Fi"功能来了,昨日,微信连Wi-Fi自助申请入口正式全量对外开放(独立申请入口https://wifi.weixin.qq.com/),意味着更多商户能够借此为用户提供更加便利的Wi-Fi体验和精准的场景服务。
1153 0
|
6月前
|
Android开发 Python
Python封装ADB获取Android设备wifi地址的方法
Python封装ADB获取Android设备wifi地址的方法
150 0