查看: 6244|回复: 3

[使用文档] blinker程序调试方法

[复制链接]
  • TA的每日心情
    郁闷
    2018-12-6 22:21
  • 签到天数: 48 天

    [LV.5]常住居民I

    发表于 2019-2-26 20:18 | 显示全部楼层 |阅读模式
    开发遇到问题时,请清楚的描述问题,并提供更多的调试信息,有了这些才有可能分析问题原因,给出解决办法。

    设备端:

    在setup中添加
    [mw_shl_code=arduino,true]BLINKER_DEBUG.stream(Serial);
    BLINKER_DEBUG.debugAll();[/mw_shl_code]
    即可开启调试,你可以在串口监视器中看到相应信息。

    如果出现ERROR,你可以 阅读文档了解错误原因



    App端:

    添加调试组件,可以让你看到设备发来的数据和App发出的数据。



    遇到问题,请先阅读文档,阅读例程,如果还是解决不了再提问。
  • TA的每日心情
    开心
    2020-5-7 18:21
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2020-4-29 08:47 | 显示全部楼层
    问题找到了,是因为供电不稳定造成的
  • TA的每日心情
    开心
    2020-3-4 09:59
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2020-3-18 22:15 | 显示全部楼层
    学习了学习了学习了学习了
  • TA的每日心情
    开心
    2020-5-7 18:21
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2020-5-6 23:26 | 显示全部楼层
    小爱同学语音控制开关的时候app的调试窗口不显示开关状态,但是app按键操作的时候显示开关状态
    #define BLINKER_WIFI
    #define BLINKER_MIOT_OUTLET

    #include <Blinker.h>

    char auth[] = "识别码";
    char ssid[] = "账号";
    char pswd[] = "密码";


    bool oState = false;

    #define BUTTON_1 "btn-pjt"

    BlinkerButton Button1(BUTTON_1);

    void button1_callback(const String & state)//手机摁键操作函数
    {
        BLINKER_LOG("get button state: ", state);

        if (state == BLINKER_CMD_ON) {
            BLINKER_LOG("Toggle on!");

            Button1.icon("icon_1");
            Button1.color("#0000FF");
            Button1.text("已打开");
            // Button1.text("Your button name", "describe");
            Button1.print("on");
            digitalWrite(0, LOW);
            oState = true;
        }
        else if (state == BLINKER_CMD_OFF) {
            BLINKER_LOG("Toggle off!");

            Button1.icon("icon_1");
            Button1.color("#FF0000");
            Button1.text("已关闭");
            // Button1.text("Your button name", "describe");
            Button1.print("off");
            digitalWrite(0, HIGH);
            oState = false;
        }
    }

    void miotPowerState(const String & state)//用户自定义电源类操作的回调函数: 当小爱同学向设备发起控制, 设备端需要有对应控制处理函数
    {
        BLINKER_LOG("need set power state: ", state);

        if (state == BLINKER_CMD_ON) {
            digitalWrite(2, LOW);

            BlinkerMIOT.powerState("on");
            BlinkerMIOT.print();

            oState = true;
        }
        else if (state == BLINKER_CMD_OFF) {
            digitalWrite(2, 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 setup()
    {
        Serial.begin(115200);
        BLINKER_DEBUG.stream(Serial);

       // pinMode(0, OUTPUT);
        pinMode(2, OUTPUT);
        //digitalWrite(0, HIGH);
        oState = true;
        digitalWrite(2, HIGH);       //程序运行状态指示灯

        Blinker.begin(auth, ssid, pswd);
        Blinker.attachData(dataRead);

        BlinkerMIOT.attachPowerState(miotPowerState);//用户自定义电源类操作的回调函数: 当小爱同学向设备发起控制, 设备端需要有对应控制处理函数
        BlinkerMIOT.attachQuery(miotQuery);

        Button1.attach(button1_callback);
    }

    void loop()
    {
        Blinker.run();
    }
    我的设备用小爱控制的时候有会出现先帮你操作了,看看设备状态吧,然后设备过2-3秒就执行开(关)了。有的时候就直接让设备开(关)了。
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    热门推荐

    5分钟带你快速了解新一代开发板:M5STACK
    5分钟带你快速了解新一代
    一、什么是M5Stack M5Stack是一种模块化、可堆叠扩展的开发板,每个模块
    创客火首发无人机编队套装,开启不一样的人工智能教育
    创客火首发无人机编队套装
    2017年国务院发布《新一代人工智能发展规划》,提出要广泛开展人工智能科普活动,在中
    Arduino如何输出ASCii 的控制字符串ENQ为05H
    Arduino如何输出ASCii 的
    程序段 void loop() { Serial.print("ENQ1234"); } Arduino会转换成ASCii码发送
    点阵时钟 验证报错 求大神帮个忙
    点阵时钟 验证报错 求大神
    智慧食堂,让吃饭有着不一样的体验!
    智慧食堂,让吃饭有着不一
    以后凭脸吃饭啦!不在乎颜值、不管是谁,小编告诉你:只要“脸”就可以! “吃饭5分
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
    快速回复 返回顶部 返回列表