App组件

BlinkerButton

按键组件在App中可以设置 按键/开关/自定义 三种模式:

  • 按键 模式下支持 点按/长按/释放(tap/press/pressup) 三个动作
  • 开关 模式下支持 打开/关闭(on/off) 两个动作
  • 自定义 模式下支持 自定义指令 发送

函数 :

  • attach()

BlinkerButton.attach()
注册按键的回调函数, 当收到指令时会调用该回调函数

  • icon()

BlinkerButton.icon()
设置按键中显示的图标(icon), 图标列表及对应图标名称见

  • color()

BlinkerButton.color()
设置按键中显示图标的颜色, HTML颜色表

  • text()

BlinkerButton.text()
设置按键中显示的名字或者描述
BlinkerButton.text(text1)
一段描述文字
BlinkerButton.text(text1, text2)
两段描述文字

  • print()

BlinkerButton.print()
发送按键当前的状态(多用于开关模式下反馈开关状态), 并将以上设置一并发送到APP

初始化, 创建对象

#define BUTTON_1 "ButtonKey"

BlinkerButton Button1(BUTTON_1);

用于处理 button 收到数据的回调函数

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

    Button1.icon("icon_1");
    Button1.color("#FFFFFF");
    Button1.text("Your button name or describe");
    Button1.print("on");
}

在 setup() 中注册回调函数

Button1.attach(button1_callback);

在回调函数中, state 的值为:
按键 : "tap"(点按); "press"(长按); "pressup"(释放) 开关 : "on"(打开); "off"(关闭)
自定义 : 用户设置的值
*也可以在创建对象时注册回调函数:

BlinkerButton Button1(BUTTON_1, button1_callback);

BlinkerRGB

颜色组件, 用于读取/设置RGB及亮度值
函数:

  • attach()

BlinkerRGB.attach()
设置颜色组件的回调函数, 当收到指令时会调用该回调函数

  • brightness()

BlinkerRGB.brightness()
设置颜色组件的亮度值

  • print()

BlinkerRGB.print()
发送用户需要的RGB数值及亮度值到APP
BlinkerRGB.print(R, G, B)
发送RGB及前一次设置的亮度值
BlinkerRGB.print(R, G, B, Brightness)
发送RGB及亮度值

初始化, 创建对象

#define RGB_1 "RGBKey"

BlinkerRGB RGB1(RGB_1);

用于处理 RGB 收到数据的回调函数

void rgb1_callback(uint8_t r_value, uint8_t g_value, 
                    uint8_t b_value, uint8_t bright_value)
{
    digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
    BLINKER_LOG("R value: ", r_value);
    BLINKER_LOG("G value: ", g_value);
    BLINKER_LOG("B value: ", b_value);
    BLINKER_LOG("Rrightness value: ", bright_value);
}

在 setup() 中注册回调函数

RGB1.attach(rgb1_callback);

*也可以在创建对象时注册回调函数:

BlinkerRGB RGB1(RGB_1, rgb1_callback);

BlinkerSlider

滑动条组件, 用于读取/设置滑动条

函数 :

attach()

BlinkerSlider.attach()
设置滑动条组件的回调函数, 当收到指令时会调用该回调函数

color()

BlinkerSlider.color()
设置滑动条组件的颜色

print()

BlinkerSlider.print()
发送用户需要的滑动条数值及设置的颜色到APP

初始化, 创建对象

#define Slider_1 "SliderKey"

BlinkerSlider Slider1(Slider_1);

用于处理 Slider 收到数据的回调函数

void slider1_callback(int32_t value)
{
    digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
    BLINKER_LOG("get slider value: ", value);
}

在 setup() 中注册回调函数

Slider1.attach(slider1_callback);

也可以在创建对象时注册回调函数:

Slider1(Slider_1, slider1_callback);

BlinkerNumber

数字组件, 用于发送数据到APP, 显示数字数据
函数 :

  • icon()

BlinkerNumber.icon()
设置数字组件中显示的图标(icon), 图标列表及对应图标名称见

  • color()

BlinkerNumber.color()
设置数字组件的颜色, HTML颜色表

  • unit()

BlinkerNumber.unit()
设置数字组件中显示的数值的单位

  • print()

BlinkerNumber.print()
发送数字组件当前的数值, 并将以上设置一并发送到APP

初始化, 创建对象

#define NUM_1 "NUMKey"

BlinkerNumber NUM1(NUM_1);

BlinkerText

文字组件, 用于发送数据到APP, 显示文字数据
函数 :

  • print()
  • icon()
    BlinkerText.icon()

设置数字组件中显示的图标(icon), 图标列表及对应图标名称见
BlinkerText.print()
发送文字到APP
BlinkerText.print(text1)
发送一段文字
BlinkerText.print(text1, text2)
发送两段文字

初始化, 创建对象

#define TEXTE_1 "TextKey"

BlinkerText Text1(TEXTE_1);

BlinkerJoystick

摇杆组件, 读取摇杆X Y 轴的数据
函数 :

attach()

BlinkerJoystick.attach()
设置摇杆组件的回调函数, 当收到指令时会调用该回调函数

初始化, 创建对象

#define JOY_1 "JOYKey"

BlinkerJoystick JOY1(JOY_1);

用于处理 BlinkerJoystick 收到数据的回调函数
void joystick1_callback(uint8_t xAxis, uint8_t yAxis)
{

BLINKER_LOG("Joystick1 X axis: ", xAxis);
BLINKER_LOG("Joystick1 Y axis: ", yAxis);

}
在 setup() 中注册回调函数

JOY1.attach(joystick1_callback);

*也可以在创建对象时注册回调函数:

BlinkerJoystick JOY1(JOY_1, joystick1_callback);

BUILTIN_SWITCH

开关组件, 读取/设置默认开关的状态
函数 :

  • attach()

BUILTIN_SWITCH.attach()
设置开关的回调函数, 当收到指令时会调用该回调函数

  • print()

BUILTIN_SWITCH.print() 发送开关当前的状态(多用于反馈开关状态)到APP
用于处理BUILTIN_SWITCH收到数据的回调函数

void switch_callback(const String & state)
{
    digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
    BLINKER_LOG("get switch state: ", state);

    BUILTIN_SWITCH.print("on");
}

在 setup() 中注册回调函数

BUILTIN_SWITCH.attach(switch_callback);

Blinker.ahrs() 即将废弃
开启手机AHRS功能

Blinker.attachAhrs();

读取AHRS数据


int16_t result_Yaw = Blinker.ahrs(Yaw);
int16_t result_Roll = Blinker.ahrs(Roll);
int16_t result_Pitch = Blinker.ahrs(Pitch);

关闭手机AHRS功能


Blinker.detachAhrs();

Blinker.gps() 即将废弃
读取 GPS 数据


String result_LONG = Blinker.gps(LONG);  
String result_LAT = Blinker.gps(LAT);

LONG 经度
LAT 维度

Blinker.vibrate()

发送手机振动指令, 震动时间, 单位ms 毫秒, 数值范围0-1000, 默认为500


Blinker.vibrate();
Blinker.vibrate(255);  

BlinkerTimer

定时器组件:

定时
循环
倒计时
Blinker.timingState()
查询设备上是否有定时设置;


bool state = Blinker.timingState();

Blinker.loopState()
查询设备上是否有循环设置;


bool state = Blinker.loopState();

Blinker.countdownState()
查询设备上是否有倒计时设置;


bool state = Blinker.countdownState();

Blinker.deleteTiming()
删除设备上的定时设置;

Blinker.deleteLoop()
删除设备上的循坏设置;

Blinker.deleteCountdown()
删除设备上的倒计时设置;

Blinker.deleteTimer()
删除设备上所有的定时器组件设置;

BlinkerTab
选项卡组件, 读取/设置选项卡的状态

函数 :

  • attach()

BlinkerTab.attach()
设置选项卡的回调函数, 当收到指令时会调用该回调函数

  • tab()

BlinkerTab.tab(num)
设置选项卡的某一栏为触发状态, 未设置的则为未触发状态

  • print()

BlinkerTab.print() 发送选项卡当前的状态到APP

初始化, 创建对象

#define Tab_1 "TabKey"

BlinkerTab Tab1(Tab_1);

用于处理tab收到数据的回调函数

void tab1_callback(uint8_t tab_set)
{
    BLINKER_LOG("get tab set: ", tab_set);

    switch (tab_set)
    {
        case BLINKER_CMD_TAB_0 :
            tab[0] = true;
            BLINKER_LOG("tab 0 set");
            break;
        case BLINKER_CMD_TAB_1 :
            tab[1] = true;
            BLINKER_LOG("tab 1 set");
            break;
        case BLINKER_CMD_TAB_2 :
            tab[2] = true;
            BLINKER_LOG("tab 2 set");
            break;
        case BLINKER_CMD_TAB_3 :
            tab[3] = true;
            BLINKER_LOG("tab 3 set");
            break;
        case BLINKER_CMD_TAB_4 :
            tab[4] = true;
            BLINKER_LOG("tab 4 set");
            break;
        default:
            break;
    }
}

tab反馈时的回调函数

void tab1_feedback()
{
    for(uint8_t num = 0; num < 5; num++)
    {
        if (tab[num])
        {
            Tab1.tab(num);
            tab[num] = false;
        }
    }
    Tab1.print();
}

在 setup() 中注册回调函数

Tab1.attach(tab1_callback, tab1_feedback);