使用ApConfig配置成功后重启不会自动联网
使用ApConfig配置成功后重启不会自动联网,求帮助,下面按RST后串口输出信息,谢谢!__ __ __
/\ \ /\ \ __ /\ \ v0.3.80210527
\ \ \___ \ \ \/\_\ ___\ \ \/'\ __ _ __
\ \ '__`\\ \ \ \/\ \ /' _ `\ \ , < /'__`\/\`'__\
\ \ \L\ \\ \ \_\ \ \/\ \/\ \ \ \\`\ /\__/\ \ \./
\ \_,__/ \ \__\\ \_\ \_\ \_\ \_\ \_\ \____\\ \_\
\/___/ \/__/ \/_/\/_/\/_/\/_/\/_/\/____/ \/_/
To better use blinker with your IoT project!
Download latest blinker library here!
=> https://github.com/blinker-iot/blinker-library
_aliType:
_duerType:
_miType:
_authKey: [马赛克]
check wlan config
wlan config check,success
Connecting to WiFi
ESP8266_MQTT initialized...
===========================================================
================== Blinker Timer loaded! ==================
EEPROM address 1536-2431 is used for Blinker Timer!
========= PLEASE AVOID USING THESE EEPROM ADDRESS! ========
===========================================================
countdown state: false
_cdRunState: 0
_totalTime: 0
_runTime: 0
_action:
loop state: false
_lpRunState: 0
_times: 0
_tri_times: 0
_time1: 0
_action1:
_time2: 0
_action2:
_lpData: 0
checkNum count: 3
checkNum count: 3
checkNum count: 3
程序代码如下:
#define BLINKER_WIFI
//#define BLINKER_ESP_SMARTCONFIG
#define BLINKER_APCONFIG
#include <Blinker.h>
//引脚定义
#define LED 16 //板载LED按钮
#define RELAY1 5 //继电器1按钮
#define RELAY2 4 //继电器2按钮
#define RECONFIG 0 //重置网络实体按钮
//点灯平台信息
char auth[] = "马赛克";
//char ssid[] = "han";
//char pswd[] = "12345678";
// 新建组件对象
BlinkerButton Button_Relay1("btn-relay1"); //继电器1按钮
BlinkerButton Button_Relay2("btn-relay2"); //继电器2按钮
BlinkerButton Button_Led("btn-led"); //板载LED按钮
//重置网络信息按钮事件
void Button_RstConfig_callback()
{
if (digitalRead(RECONFIG) == LOW) {
delay(3000);
if (digitalRead(RECONFIG) == LOW) {
Blinker.reset();
Serial.print("Reset Config...");
}
}
}
// 继电器1按钮事件
void Button_Relay1_callback(const String & state)
{
BLINKER_LOG("Relay State: ", state);
digitalWrite(RELAY1, !digitalRead(RELAY1));
if (digitalRead(RELAY1) == HIGH) {
Button_Relay1.icon("fad fa-siren-on");
Button_Relay1.print("on");
//digitalWrite(RELAY1, LOW);
} else if (digitalRead(RELAY1) == LOW) {
Button_Relay1.icon("fad fa-siren");
Button_Relay1.print("off");
//digitalWrite(RELAY1, HIGH);
}
}
// 继电器2按钮事件
void Button_Relay2_callback(const String & state)
{
BLINKER_LOG("Relay State: ", state);
digitalWrite(RELAY2, !digitalRead(RELAY2));
if (digitalRead(RELAY2) == HIGH) {
Button_Relay2.icon("fad fa-siren-on");
Button_Relay2.print("on");
//digitalWrite(RELAY2, LOW);
} else if (digitalRead(RELAY2) == LOW) {
Button_Relay2.icon("fad fa-siren");
Button_Relay2.print("off");
//digitalWrite(RELAY2, HIGH);
}
}
// LED按钮事件
void Button_Led_callback(const String & state)
{
BLINKER_LOG("LED State: ", state);
digitalWrite(LED, !digitalRead(LED));
if (digitalRead(LED) == LOW) {
//digitalWrite(LED, LOW);
Button_Led.icon("fad fa-lightbulb-on");
Button_Led.print("on");
} else if (digitalRead(LED) == HIGH) {
//digitalWrite(LED, HIGH);
Button_Led.icon("fad fa-lightbulb");
Button_Led.print("off");
}
}
// 如果未绑定的组件被触发,则会执行其中内容
void dataRead(const String & data)
{
BLINKER_LOG("Blinker readString: ", data);
}
void setup()
{
// 初始化串口
Serial.begin(115200);
BLINKER_DEBUG.stream(Serial);
BLINKER_DEBUG.debugAll();
// 初始化IO
pinMode(RELAY1, OUTPUT);
digitalWrite(RELAY1, LOW);
pinMode(RELAY2, OUTPUT);
digitalWrite(RELAY2, LOW);
pinMode(LED, OUTPUT);
digitalWrite(LED, HIGH);
pinMode(RECONFIG, INPUT);
digitalWrite(RECONFIG, HIGH);
// 初始化blinker
//Blinker.begin(auth, ssid, pswd);
Blinker.begin(auth);
Blinker.attachData(dataRead);
Button_Relay1.attach(Button_Relay1_callback);
Button_Relay2.attach(Button_Relay2_callback);
Button_Led.attach(Button_Led_callback);
}
void loop() {
Blinker.run();
Button_RstConfig_callback();
}
建议更换硬件测试,确保不是硬件问题 点灯官方 发表于 2021-6-8 08:55
建议更换硬件测试,确保不是硬件问题
已更换硬件测试,之前使用的是nodemcu的板子,后面更换为esp-01s,问题一样。串口打印信息重启后一直停在一楼所示那个地方,也不知道如何跟踪查找原因 fcwys 发表于 2021-6-8 09:42
已更换硬件测试,之前使用的是nodemcu的板子,后面更换为esp-01s,问题一样。串口打印信息重启后一直停在 ...
无法复现您的问题,请确保lib和package是文档中指定的版本,并测试例程 点灯官方 发表于 2021-6-9 23:05
无法复现您的问题,请确保lib和package是文档中指定的版本,并测试例程
已测试例程,问题一样,现已改用WIFIManager进行Web配网,然后将SSID和PSWD传入Blinker.begin()进行初始化,这样的话重启是正常的,但是直接使用系统自带的ApConfig重启后会卡死在一楼日志所示界面,不知道是不是因为Blinker的EERROM地址写入不正常导致,前两天论坛有人出现了类似的情况:
原帖:https://www.arduino.cn/thread-98888-1-1.html
fcwys 发表于 2021-6-10 13:25
已测试例程,问题一样,现已改用WIFIManager进行Web配网,然后将SSID和PSWD传入Blinker.begin()进行初始 ...
您提供的帖子不是一个问题。
建议您确认下package是否为文档指定的2.7.4?
如果还是不行,请提供下对应开发板的配置信息 开发板是nodemcu,32m的,芯片应该是esp8266-12e,现在改用wifimanager配置网络后再启动blinker了,目前这个方案可行 https://github.com/blinker-iot/b ... s/heads/dev_3.0.zip
ap配网是直接读取esp8266sdk缓存到flash中的配网信息进行联网,没有额外操作EEPROM 可以更新dev3.0的库测试 好的我试试