ESP8266使用WiFiManager库为blinker自动配网-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4954|回复: 2

ESP8266使用WiFiManager库为blinker自动配网

[复制链接]
发表于 2021-6-13 00:38 | 显示全部楼层 |阅读模式
本帖最后由 topdog 于 2021-6-13 01:02 编辑

之前写过 ESP8266使用WiFiManager库自动配网的操作,在此用于实践为Blinker APP提供新的配置网络的办法,这样很方便产品的开发。

知识点:
(1)WiFiManager配网以后WiFi名称和密码是String类型,要转化成const char* ,即string.c_str()。
(2)Blinker.begin(auth, ssid, pswd),以实体管理器wm为例,其中ssid对应 (String)wm.getWiFiSSID().c_str(),pswd对应(String)wm.getWiFiPass().c_str() 。

[pre]#define BLINKER_WIFI

#include <Blinker.h>
#include <WiFiManager.h> // https://github.com/tzapu/WiFiManager

char auth[] = "授权码";

BlinkerButton Button1("btn-abc");
BlinkerNumber Number1("num-abc");

int counter = 0;

void button1_callback(const String & state)
{
  BLINKER_LOG("get button state: ", state);
  digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
}

void dataRead(const String & data)
{
  BLINKER_LOG("Blinker readString: ", data);
  counter++;
  Number1.print(counter);
}

void setup()
{
  Serial.begin(115200);
  BLINKER_DEBUG.stream(Serial);
  BLINKER_DEBUG.debugAll();

  WiFi.mode(WIFI_STA);
  WiFiManager wm;

  bool res;
  res = wm.autoConnect("AutoConnectAP", "password");
  if (!res) {
    Serial.println("Failed to connect");
    ESP.restart();
  }
  else {   
    Serial.println("connected...yeey :)");
   
    Blinker.begin(auth, wm.getWiFiSSID().c_str(), wm.getWiFiPass().c_str());
    Blinker.attachData(dataRead);

    Button1.attach(button1_callback);
  }
  
  pinMode(LED_BUILTIN, OUTPUT);
  digitalWrite(LED_BUILTIN, HIGH);
}

void loop() {
  Blinker.run();
}[/pre]

发表于 2021-7-21 20:25 | 显示全部楼层
本帖最后由 topdog 于 2021-7-21 22:15 编辑

您好,请问如何重置配网信息呢
 楼主| 发表于 2021-7-21 22:15 | 显示全部楼层
本帖最后由 topdog 于 2021-7-22 00:23 编辑
yanzh 发表于 2021-7-21 20:25
您好,请问如何重置配网信息呢

https://www.arduino.cn/thread-103502-1-1.html
第六条。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 06:47 , Processed in 0.082390 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表