小爱同学无法控制ESP8266设备-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 930|回复: 6

[过期] 小爱同学无法控制ESP8266设备

[复制链接]
发表于 2022-6-14 18:01 | 显示全部楼层 |阅读模式
本帖最后由 SoldierGhost 于 2022-6-14 18:46 编辑

在Blinker APP上可以连接并控制,在米家中也可以成功同步设备,但用小爱同学无法控制,会提示无法连接到设备。
在网上得到的回复是使用低版本的Blinker app,调用阿里云密钥,但查阅相关帖子后,发现现在只能调用点灯密钥,不知道咋整了
如果是我代码的问题,请指出:


#define BLINKER_MIOT_LIGHT
#define BLINKER_WIFI
#include <Servo.h>
#include <Blinker.h>

char auth[] = "?";//点灯秘钥
char ssid[] = "?";//无线网名称
char pswd[] = "?";//无线网密码
Servo myservo;
#define BUTTON_1 "btn-abc"

int ini_angle = 15;
int on_angle = 0;
int off_angle = on_angle + ini_angle * 2;
bool oState = false;
BlinkerButton Button1(BUTTON_1);

void button1_callback(const String & state)
{
    Blinker.print("state=",state);
    Blinker.vibrate();
    if (state=="on") {
        myservo.writeMicroseconds(1000);
        myservo.write(on_angle);
        delay(1000);
        myservo.write(ini_angle);
        // 反馈开关状态
        Button1.print("on");
    } else if(state=="off"){
        myservo.writeMicroseconds(2000);
        myservo.write(off_angle);
        delay(1000);
        myservo.write(ini_angle);
        
        // 反馈开关状态
        Button1.print("off");
    }
}

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

    if (state == BLINKER_CMD_OFF) {
        myservo.write(on_angle);
        delay(1000);
        myservo.write(ini_angle);
        BlinkerMIOT.powerState("off");
        BlinkerMIOT.print();
        Button1.print("on");
        oState = false;
    }
    else if (state == BLINKER_CMD_ON) {
        myservo.write(off_angle);
        delay(1000);
        myservo.write(ini_angle);
        BlinkerMIOT.powerState("on");
        BlinkerMIOT.print();
        Button1.print("off");
        oState = true;
    }
}

void setup() {
    Serial.begin(115200);
    myservo.attach(14);
    myservo.write(ini_angle);
    Blinker.begin(auth, ssid, pswd);
    Button1.attach(button1_callback);
    BlinkerMIOT.attachPowerState(miotPowerState);//这段代码一定要加,不加小爱同学控制不了,务必在回调函数中反馈该控制状态
}

void loop()
{
    Blinker.run();
}


 楼主| 发表于 2022-6-14 18:46 | 显示全部楼层
用3.0.0 或以上release版本的 ESP8266 Arduino package即可
发表于 2022-6-23 15:28 | 显示全部楼层
我的是小度音响,更新lesp8266  3.02还是不行,请问你用的是哪个版本。
发表于 2022-6-23 23:12 | 显示全部楼层
esp01s      
 楼主| 发表于 2022-6-27 11:56 来自手机 | 显示全部楼层
feng123 发表于 2022-6-23 15:28
我的是小度音响,更新lesp8266  3.02还是不行,请问你用的是哪个版本。

我就是3.02的,但我是小爱音箱,小度的话,你去blinker官网看看有什么注意事项没吧
发表于 2022-6-27 21:58 | 显示全部楼层
SoldierGhost 发表于 2022-6-27 11:56
我就是3.02的,但我是小爱音箱,小度的话,你去blinker官网看看有什么注意事项没吧 ...

哦,我想小爱能行理论上小度也能行,或者是小度的问题。只能再试试看。谢谢回复。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-28 08:42 , Processed in 0.076217 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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