目录
前言
blinker点灯科技真的是一款非常好用的物联网控制APP,它节省了你连接云端的程序,直接实现APP控制系统。接下来让我们看看怎么通过blinker来控制ESP8266开发板。
一、准备材料
1.手机端APP(点灯·blinker)
2.一块ESP8266开发板
blinker官网链接:点灯科技 (diandeng.tech)
ESP8266开发板:
二、项目部署
1.我们将使用Arduino IDE对ESP8266进行代码编译。
这是Arduino IDE下载地址:Software | Arduino
Arduino安装好后我们选择开发板
2.选好开发板后,我们进行代码的烧录。我们在原有的例程上另外接了一颗LED灯,通过这两个灯的控制来更好理解blinker对开发板的控制。
我们用官网的例程时要注意将例程中的这部分进行修改:
密钥可以在手机APP端中找到:
三、代码调试
找到后我们将密钥和WIFI修改成自己的,然后我们又外加了一颗LED灯进行控制。
#define BLINKER_PRINT Serial
#define BLINKER_WIFI
#include <Arduino.h>
#include <Blinker.h>
#define PARLOURLEDPIN D0
char auth[] = "06d43a68bcec";
char ssid[] = "Mr.Robot";
char pswd[] = "Mr.Robot2008";
// 新建组件对象
BlinkerButton Button1("板载灯");
BlinkerButton Button2("外接灯");
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 button2_callback(const String & state) {
digitalWrite(PARLOURLEDPIN, !digitalRead(PARLOURLEDPIN));
}
// 如果未绑定的组件被触发,则会执行其中内容
void dataRead(const String & data)
{
BLINKER_LOG("Blinker readString: ", data);
counter++;
Number1.print(counter);
}
void setup() {
// 初始化串口
Serial.begin(115200);
#if defined(BLINKER_PRINT)
BLINKER_DEBUG.stream(BLINKER_PRINT);
#endif
// 初始化有LED的IO
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, HIGH);
// 初始化blinker
Blinker.begin(auth, ssid, pswd);
Blinker.attachData(dataRead);
Button1.attach(button1_callback);
Button2.attach(button2_callback);
pinMode(PARLOURLEDPIN, OUTPUT); // 板载灯
digitalWrite(PARLOURLEDPIN, LOW);
}
void loop() {
Blinker.run();
}
将这个代码烧录到我们的ESP8266上就可以进行手机端联网控制LED灯。我们添加了一个开关进行外接灯的控制。按下两个开关我们就能发现ESP8266的灯和外接灯都可以点亮和关闭。
总结:
通过自己外接LED灯观察现象能更好的理解代码的作用,以及对blinker使用更加熟练。