求大佬给我的代码加一个自动配网-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1857|回复: 2

[已解答] 求大佬给我的代码加一个自动配网

[复制链接]
发表于 2020-11-30 10:06 | 显示全部楼层 |阅读模式
#define BLINKER_WIFI
#define BLINKER_MIOT_OUTLET   //小爱同学

#include <Blinker.h>

char auth[] = "*******";
char ssid[] = "*******";
char pswd[] = "*******";
BlinkerButton Button1("btn-on");     //定义按钮数据
BlinkerButton Button2("btn-off");
bool oState = false;
int counter = 0;
void miotPowerState(const String & state)
{
   BLINKER_LOG("need set power state: ", state);

   if (state == BLINKER_CMD_ON) {     //小爱同学控制开命令
       digitalWrite(0, LOW);

       BlinkerMIOT.powerState("on");

       BlinkerMIOT.print();

       oState = true;
   }
   else if (state == BLINKER_CMD_OFF) {   //小爱同学控制关命令
       digitalWrite(0,HIGH);

       BlinkerMIOT.powerState("off");

       BlinkerMIOT.print();

       oState = false;
   }
}

void miotQuery(int32_t queryCode)      //小爱同学控制
{
   BLINKER_LOG("MIOT Query codes: ", queryCode);

   switch (queryCode)
   {
       case BLINKER_CMD_QUERY_ALL_NUMBER :
           BLINKER_LOG("MIOT Query All");
           BlinkerMIOT.powerState(oState ? "on" : "off");
           BlinkerMIOT.print();
           break;
       case BLINKER_CMD_QUERY_POWERSTATE_NUMBER :
           BLINKER_LOG("MIOT Query Power State");
           BlinkerMIOT.powerState(oState ? "on" : "off");
           BlinkerMIOT.print();
           break;
       default :
           BlinkerMIOT.powerState(oState ? "on" : "off");
           BlinkerMIOT.print();
           break;
   }
}

void dataRead(const String & data)      // 如果未绑定的组件被触发,则会执行其中内容
{
   BLINKER_LOG("Blinker readString: ", data);

   Blinker.vibrate();
   
   uint32_t BlinkerTime = millis();
   
   Blinker.print("millis", BlinkerTime);
}

void button1_callback(const String & state)     //点灯app内控制按键触发
{
   
   digitalWrite(0,LOW);
   BLINKER_LOG("get button staten", state);


}
void button2_callback(const String & state)     //点灯app内控制按键触发
{
   
   digitalWrite(0,HIGH);
   BLINKER_LOG("get button stateff", state);


}





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

   pinMode(0, OUTPUT);              //定义io口为输出
   digitalWrite(0, LOW);           //定义io默认为高电平

   Blinker.begin(auth, ssid, pswd);
   Blinker.attachData(dataRead);
   
   BlinkerMIOT.attachPowerState(miotPowerState);
   BlinkerMIOT.attachQuery(miotQuery);
   Button1.attach(button1_callback);  
   Button2.attach(button2_callback);     
}

void loop()
{
   Blinker.run();
}
发表于 2020-11-30 12:00 | 显示全部楼层
发表于 2020-12-5 15:48 | 显示全部楼层
给你一个最简单的方法,动3个地方就能实现。

1.代码第一行加上:
#define BLINKER_ESP_SMARTCONFIG

2.删除下面这两行
char ssid[] = "*******";
char pswd[] = "*******";

3.把
Blinker.begin(auth, ssid, pswd);
修改为
Blinker.begin(auth);

--------------------------------------------------------
@奈何col 顺便问大佬能不能给我账号加两个设备
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-28 13:38 , Processed in 0.068732 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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