GPIO编号 | 丝印编号 | 旧版丝印编号 |
---|---|---|
GPIO 0 | D3 | D8 |
GPIO 1 | TX(D10) | D5 |
GPIO 2 | D4 | RX(D9) |
GPIO 3 | RX(D9) | D4 |
GPIO 4 | D2 | TX(D10) |
GPIO 5 | D1 | D11 |
GPIO 6-11 | 不可用,但需要一直供电 | 不可用,但需要一直供电 |
GPIO 12 | D6 | D0 |
GPIO 13 | D7 | D1 |
GPIO 14 | D5 | D2 |
GPIO 15 | D8 | D3 |
下面是我们的第一个blinker程序,请不要着急编译上传,因为我们还要对其进行简单的配置。
连接配置
在程序中找到名为auth、ssid和pswd的变量,
auth中填入在app中获取到的Secret Key,
ssid和pswd中填入你要连接的WiFi名和密码,如:
char auth[] = "abcdefghijkl"; //上一步中在app中获取到的Secret Key
char ssid[] = "blinkerssid"; //你的WiFi热点名称
char pswd[] = "123456789"; //你的WiFi密码
然后编译并上传以下程序:
#define BLINKER_WIFI
#include <Blinker.h>
char auth[] = "Your Device Secret Key";
char ssid[] = "Your WiFi network SSID or name";
char pswd[] = "Your WiFi network WPA password or WEP key";
// 新建组件对象
BlinkerButton Button1("btn-abc");
// 按下按键即会执行该函数
void button1_callback(const String & state) {
BLINKER_LOG("get button state: ", state);
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
Blinker.vibrate();
}
void setup() {
// 初始化串口,并开启调试信息
Serial.begin(115200);
BLINKER_DEBUG.stream(Serial);
// 初始化有LED的IO
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, HIGH);
// 初始化blinker
Blinker.begin(auth, ssid, pswd);
Button1.attach(button1_callback);
}
void loop() {
Blinker.run();
}
在APP中点击设备图标,即可进入该设备控制界面,点击按钮就可以控制Arduino上的LED灯开关。
程序解析
以下对blinker设备程序解析:(您也可以访问官方技术文档查看其他语法和解析)
选择连接方式
blinker支持多种连接方式,
#define BLINKER_WIFI
用于指定设备接入方式,你还可以使用 BLINKER_BLE,不同的接入方式对应的Blinker初始化函数也不同:
蓝牙接入
#define BLINKER_BLE
#include <Blinker.h>
void setup() {
Blinker.begin();
}
WiFi接入
#define BLINKER_WIFI
#include <Blinker.h>
void setup() {
Blinker.begin(auth, ssid, pswd);
}
新建组件并绑定回调函数
新建组件
blinker app上每个UI组件在设备端都可以创建一个对应的对象。创建方式如下:
组件类型 对象名(键名)
app中组件对应的键名可以在界面编辑模式下看到。
使用组件的数据键名创建对应的对象,这个对象就与blinker app界面上的UI组件进行了绑定。
blinker库定义了多种组件类型,对应app上UI组件类型,如
GPIO编号 | 丝印编号 | |
---|---|---|
BlinkerSlider | 滑块组件 | |
BlinkerRGB | 颜色拾取组件 | |
BlinkerNumber | 数值组件 | |
BlinkerText | 文本组件 |
如下,创建了按键组件和数值组件对应的对象:
BlinkerButton Button1("btn-abc");
BlinkerNumber Number1("num-abc");
回调函数
void button1_callback(const String & state) {
BLINKER_LOG("get button state: ", state);
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
}
绑定回调函数
Button1.attach(button1_callback);
当app中组件触发并发送到设备端时将触发该组件注册的回调函数
Blinker运行时
void loop() {
Blinker.run();
}
Blinker.run()语句负责处理Blinker收到的数据,每次运行都会将设备收到的数据进行一次解析。
在使用WiFi接入时,该语句也负责保持网络连接。
开启调试信息
你可以在setup中添加以下语句,以查看调试信息
BLINKER_DEBUG.stream(Serial);
用于指定调试信息输出的串口,设备开发时调试使用,项目或产品成型后,可以删除。
如果需要查看更多内部信息,可以添加
BLINKER_DEBUG.debugAll();
最后一次更新于February 18th, 2021
If you are going for finest contents like myself, simply
go to see this web page everyday as it gives feature contents,
thankshttps://reviewsinfo.tumblr.com/
By https://reviewsinfo.tumblr.com/ at September 20th, 2020 at 04:45 am.