美文网首页NODEMCU我爱编程
WIFI智能配网 - SmartConfig

WIFI智能配网 - SmartConfig

作者: 梁睿坤 | 来源:发表于2017-03-14 17:00 被阅读4011次

要开始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连接。

相关资源

相关文章

  • WIFI智能配网 - SmartConfig

    要开始IoT项目的第一步是什么?当然不是硬件,而是硬件与硬件的连接!即使有各种各样的通信协议没有好的连接方式绝对不...

  • WIFI配网方案

    1.蓝牙配网 2.WIFI自身配网 3.SmartConfig一键配网 二. 单播、广播、组播1、单播:单台主机与...

  • 4. IOT设备的配网问题和设备模型问题

    1. IoT设备WIFI配网及现状2. 阿里云wifi配网方案3. WIFI配网方案介绍-阿里云4. 设备模型开发...

  • 物联网开发基础(3)-WIFI模块的配网方式

    常见的配网方式 一 什么是物联网配网 “配网”指的是,外部向WIFI模块提供SSID和密码,以便WIFI模块可以连...

  • iOS端智能硬件BLE通信技术实现

    [toc] 当前开发的智能硬件项目中涉及蓝牙通信的目前有三处: 配网时手机端向硬件端请求获取wifi列表 配网时手...

  • iot配网方案之smartconfig

    iot 使用物联网设备的第一步是什么?是联网,很多物联网设备是没有屏幕的,无法输入wifi的账号信息,就只能利用一...

  • WiFi配网2 - 配网

    项目暂时告一段落,整理下大概功能及遇到的问题。 需求:给WiFi对讲机配网大概流程:1.获取本机连接的WiFi名称...

  • iOS Wi-Fi开发记录_SmartConfig

    二.SmartConfig 乐鑫官网有下载ESPTouch , SmartConfig具体传递秘钥之类的乱七八糟的...

  • 物联网 WIFI Smartconfig

    物联网 WIFI 一键配置原理(smartconfig) ESP8266/QCA4004,有需要的朋友可以参考下。...

  • smartConfig(一键配网模式)

    智能硬件处于混杂模式下,监听网络中的所有报文;手机 APP 将 SSID 和密码编码到 UDP 报文中,通过广播包...

网友评论

  • e70c0daab64f:你好,请问下如何编译固件呢。之前在在线编译固件网站上编译固件默认的是没有开启smartconfig模块。
  • 脆弱只活在阴影中:请问 一下 是不是每一种设备实现smartconfig的方法都不同 设备有提供SDK吗?
    梁睿坤:@脆弱只活在阴影中 安卓与iOS是不一样的,而且这个做法仅仅限于ESP8266可行。

本文标题:WIFI智能配网 - SmartConfig

本文链接:https://www.haomeiwen.com/subject/bvbswttx.html