ESpBlufi官网代码Esp32蓝牙配网流程浅析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ESpBlufi官网代码Esp32蓝牙配网流程浅析相关的知识,希望对你有一定的参考价值。

参考技术A 在这里就能拿到自定义的Mac信息了

到这里说明,设备已经配网成功了,我们拿到前获取到的Mac,进行上云操作(已云智易sn订阅为例)

6.1调用云智易sn订阅接口

6.2 将设备添加到当前home中

6.3.修改设备名

至此,整个蓝牙配网上云流程结束

核心写入数据方法,加入了Condition锁,确保写入线程安全

官方demo

Arduino ESP32SmartConfig配网

Arduino ESP32SmartConfig配网


通过Smartconfig配网,可以微信小程序配网,也可以借助Smartconfig软件,或者点灯APP配网。

  • 本次配网验证了多种方式下配网。注意一点,所有工具的配网都可能需要开启手机定位功能才行!

点灯科技APP来配的网。点灯科技APP官网下载

  1. 打开点灯APP

    2.

4.

微信配网

微信小程序–搜索关键字“配网

2.选择AirKiss也可以配网成功,或者点击下面切换协议,选择SmartConfig配网,都可以。

配网代码

#include <WiFi.h>
#include <esp_wifi.h>     //用于esp_wifi_restore() 删除保存的wifi信息
void SmartConfig()
 
  // WiFi.mode(WIFI_AP_STA);
   WiFi.mode(WIFI_STA);
   Serial.println("\\r\\n wait for smartconfig....");
   WiFi.beginSmartConfig();
     while(1)
   
    Serial.print(".");
    delay(500);
    if ( WiFi.smartConfigDone())
    
      Serial.println("SmartConfig Success");
      Serial.printf("SSID:%s\\r\\n",WiFi.SSID().c_str());
      Serial.printf("PSW:%s\\r\\n",WiFi.psk().c_str());    
      break;      
    
    

bool AutoConfig()

  WiFi.begin();
  for (int i=0; i<20; i++)
  
    int wstatus = WiFi.status();
    if (wstatus == WL_CONNECTED )  
         esp_wifi_set_storage(WIFI_STORAGE_RAM);//自动保存wifi信息
          Serial.println("wifi smartConfig success");
          Serial.printf("SSID:%s",WiFi.SSID().c_str());
          Serial.printf(",PWS:%s\\r\\n",WiFi.psk().c_str());
          Serial.print("localIP:");
          Serial.println(WiFi.localIP());
          Serial.print(",GateIP:");
          Serial.println(WiFi.gatewayIP()); 
          WiFi.setAutoConnect(true);  // 设置自动连接        
          return true;
       
       else
       
          Serial.print("WIFI AutoConfig Waiting ....");
          Serial.println(wstatus);
          delay(1000);
          
  
  Serial.println("Wifi autoconfig faild!");
  return false;
  
  
void setup() 
  Serial.begin(115200);
  if (!AutoConfig())
  
   SmartConfig();
    
  //esp_wifi_restore();  //删除保存的wifi信息
  

 
void loop() 
  // put your main code here, to run repeatedly:
 

  • 串口打印

以上是关于ESpBlufi官网代码Esp32蓝牙配网流程浅析的主要内容,如果未能解决你的问题,请参考以下文章

ESP32学习笔记(36)——BluFi(蓝牙配网)接口使用

ESP32学习笔记 -- 使用蓝牙BluFi进行设备配网

ESP32学习笔记 -- 使用蓝牙BluFi进行设备配网

ESP32 遇到的问题

微信小程序控制硬件16 安信可 ESP32-S 开发板实现移植腾讯物联开发平台蓝牙 llsync 协议,实现一键蓝牙快速配网+远程控制。(附带源码)

微信小程序控制硬件16 安信可 ESP32-S 开发板实现移植腾讯物联开发平台蓝牙 llsync 协议,实现一键蓝牙快速配网+远程控制。(附带源码)