跪求大佬 指点迷津 小爱不能控制blinker上面的设备-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4920|回复: 13

[已解答] 跪求大佬 指点迷津 小爱不能控制blinker上面的设备

[复制链接]
发表于 2020-6-9 18:46 | 显示全部楼层 |阅读模式

为什么我的小爱 现在无法控制Blinker上面的设备了

以前小爱可以控制点灯科技上面的设备  最近这段时间不行 用点灯科技的软件可以控制 但是就是不能用小爱控制了 ,小爱就只会说什么 已经操作了 看看设备状态吧 然后设备就是没有反应
blinker的设备库我也更新了 米家上也同步了 也显示有这些设备  论坛也翻了很多遍 就是没有解决问题  用的是es8266模块 代码也换了很多次 用别人的代码 自己抄的都一样  怀疑是blinker库的问题 但更新了 还是老样子  跪求哪位大佬指点迷津 感恩不尽
发表于 2020-6-9 19:00 | 显示全部楼层
我这边使用最新的库测试是正常的。
调试方法:
https://www.arduino.cn/thread-84332-1-1.html
 楼主| 发表于 2020-6-9 23:08 | 显示全部楼层
奈何col 发表于 2020-6-9 19:00
我这边使用最新的库测试是正常的。
调试方法:
https://www.arduino.cn/thread-84332-1-1.html

这是代码
#define BLINKER_WIFI
#define BLINKER_MIOT_LIGHT
#define BLINKER_PRINT Serial
#define BLINKER_MIOT_OUTLET

#include <Blinker.h>

char auth[] = "cc7540970444";
char ssid[] = "你妈妈的WIFI";
char pswd[] = "qyh515515";

// 新建组件对象
BlinkerButton Button1("btn");
BlinkerNumber Number1("num-abc");

int counter = 1;
void miotPowerState(const String & state)
{
    BLINKER_LOG("need set power state: ", state);

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

        BlinkerMIOT.powerState("on");
        BlinkerMIOT.print();
    }
    else if (state == BLINKER_CMD_OFF) {
        digitalWrite(LED_BUILTIN, HIGH);

        BlinkerMIOT.powerState("off");
        BlinkerMIOT.print();
    }
}

// 按下按键即会执行该函数
void button1_callback(const String & state) {
    BLINKER_LOG("get button state: ", state);
    digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
}

// 如果未绑定的组件被触发,则会执行其中内容
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);
BlinkerMIOT.attachPowerState(miotPowerState);
}

void loop() {
    Blinker.run();
}
 楼主| 发表于 2020-6-9 23:14 | 显示全部楼层
这是串口监视器 让小爱操作了好多次 上面没有任何增加的内容 小爱也一直回答 帮操作了 看看设备的状态,
23:09:16.310 -> [462980] MQTT Ping!
23:09:46.898 -> [493559] MQTT Ping!
23:10:17.466 -> [524117] MQTT Ping!
23:10:48.009 -> [554670] MQTT Ping!
23:11:18.577 -> [585242] MQTT Ping!
23:11:34.494 -> [601149] Connecting to MQTT...
23:11:35.654 -> [602322] MQTT Connected!
23:11:35.654 -> [602322] Freeheap: 10200
23:12:05.681 -> [632332] MQTT Ping!
23:12:36.246 -> [662908] MQTT Ping!
23:13:06.832 -> [693494] MQTT Ping!
23:13:37.424 -> [724067] MQTT Ping!
23:14:07.949 -> [754621] MQTT Ping!
23:14:38.561 -> [785232] MQTT Ping!
发表于 2020-6-10 07:10 | 显示全部楼层
#define BLINKER_MIOT_LIGHT
#define BLINKER_MIOT_OUTLET

你定义了两种设备,只能是一种
 楼主| 发表于 2020-6-10 09:46 | 显示全部楼层
奈何col 发表于 2020-6-10 07:10
#define BLINKER_MIOT_LIGHT
#define BLINKER_MIOT_OUTLET

后面那个定义 就是我一直试前面的定义 没反应 才加上的  现在还有一个情况 就是用blinker的软件上面的语音 也控制不了设备 语音回答没有找到要控制的设备

点评

要先在对应按键组件中,设定对应的语音指令  详情 回复 发表于 2020-6-10 10:14
发表于 2020-6-10 10:14 | 显示全部楼层
hanweiyang 发表于 2020-6-10 09:46
后面那个定义 就是我一直试前面的定义 没反应 才加上的  现在还有一个情况 就是用blinker的软件上面的语 ...

要先在对应按键组件中,设定对应的语音指令
 楼主| 发表于 2020-6-10 13:51 | 显示全部楼层
奈何col 发表于 2020-6-10 10:14
要先在对应按键组件中,设定对应的语音指令

按键组件所对应的语音指令有啊  回调函数也有
void miotPowerState(const String & state)
{
    BLINKER_LOG("need set power state: ", state);

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

        BlinkerMIOT.powerState("on");
        BlinkerMIOT.print();
    }
    else if (state == BLINKER_CMD_OFF) {
        digitalWrite(LED_BUILTIN, HIGH);

        BlinkerMIOT.powerState("off");
        BlinkerMIOT.print();
    }
}
 楼主| 发表于 2020-6-10 14:16 | 显示全部楼层
hanweiyang 发表于 2020-6-10 13:51
按键组件所对应的语音指令有啊  回调函数也有
void miotPowerState(const String & state)
{

还找到一个问题
找到无效库在 C:\Users\Administrator\Documents\Arduino\libraries\packages: no headers files (.h) found in C:\Users\Administrator\Documents\Arduino\libraries\packages
找到无效库在 C:\Users\Administrator\Documents\Arduino\libraries\packages: no headers fil
每次烧录完程序  可以上传成功 但都在最后显示这个
发表于 2020-6-11 21:37 | 显示全部楼层
楼主解决了么?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-28 09:22 , Processed in 0.113214 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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