小爱同学控制没得反应-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2323|回复: 9

[已解答] 小爱同学控制没得反应

[复制链接]
发表于 2020-8-9 23:05 | 显示全部楼层 |阅读模式
本帖最后由 lh5263872 于 2020-8-10 10:50 编辑

回应,先帮你操作了,看看设备状态吧
串口没有小爱同学的debug输出

之前做的东西小爱语音控制没有问题,而且串口也有提示收到小爱控制指令


#define BLINKER_MIOT_OUTLET

void miotPowerState(const String & state) { //小爱控制开关窗
  BLINKER_LOG("need set power state: ", state);
  if (state == BLINKER_CMD_ON) {
    digitalWrite(mclose, LOW);
    digitalWrite(mopen, HIGH);
    moter_time = millis();
    hbsta = 1;
    BlinkerMIOT.powerState("on");
    BlinkerMIOT.print();
    oState = true;
  }
  else if (state == BLINKER_CMD_OFF) {
    digitalWrite(mopen, LOW);
    digitalWrite(mclose, HIGH);
    setjuli = 100;
    moter_time = millis();
    hbsta = 2;
    BlinkerMIOT.powerState("off");
    BlinkerMIOT.print();
    oState = false;
  }
}
void miotQuery(int32_t queryCode) {
  BLINKER_LOG("MIOT Query codes: ", queryCode);
  switch (queryCode)
  {
    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 setup() {
  Serial.begin(115200);
  BLINKER_DEBUG.stream(Serial);
  BLINKER_DEBUG.debugAll();
  BlinkerMIOT.attachPowerState(miotPowerState);    BlinkerMIOT.attachQuery(miotQuery);
}



发表于 2020-8-9 23:39 | 显示全部楼层
你这和示例就是两回事,写都没写对
 楼主| 发表于 2020-8-10 10:45 来自手机 | 显示全部楼层
XlinliY.Zhang 发表于 2020-8-9 23:39
你这和示例就是两回事,写都没写对

问题就是我没看出来这部分代码哪里没搞对,帅哥帮忙看看
发表于 2020-8-10 18:41 | 显示全部楼层
lh5263872 发表于 2020-8-10 10:45
问题就是我没看出来这部分代码哪里没搞对,帅哥帮忙看看

Arduino IDE -> 文件 -> 示例 -> Blinker -> Blinker_MIOT
发表于 2020-8-10 18:54 | 显示全部楼层
XlinliY.Zhang 发表于 2020-8-10 18:41
Arduino IDE -> 文件 -> 示例 -> Blinker -> Blinker_MIOT
  1. #define BLINKER_WIFI
  2. #define BLINKER_MIOT_OUTLET

  3. #include <Blinker.h>

  4. char auth[] = "Your Device Secret Key";
  5. char ssid[] = "Your WiFi network SSID or name";
  6. char pswd[] = "Your WiFi network WPA password or WEP key";

  7. bool oState = false;

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

  11.     if (state == BLINKER_CMD_ON) {
  12.         digitalWrite(LED_BUILTIN, HIGH);

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

  15.         oState = true;
  16.     }
  17.     else if (state == BLINKER_CMD_OFF) {
  18.         digitalWrite(LED_BUILTIN, LOW);

  19.         BlinkerMIOT.powerState("off");
  20.         BlinkerMIOT.print();

  21.         oState = false;
  22.     }
  23. }

  24. void miotQuery(int32_t queryCode)
  25. {
  26.     BLINKER_LOG("MIOT Query codes: ", queryCode);

  27.     switch (queryCode)
  28.     {
  29.         case BLINKER_CMD_QUERY_ALL_NUMBER :
  30.             BLINKER_LOG("MIOT Query All");
  31.             BlinkerMIOT.powerState(oState ? "on" : "off");
  32.             BlinkerMIOT.print();
  33.             break;
  34.         case BLINKER_CMD_QUERY_POWERSTATE_NUMBER :
  35.             BLINKER_LOG("MIOT Query Power State");
  36.             BlinkerMIOT.powerState(oState ? "on" : "off");
  37.             BlinkerMIOT.print();
  38.             break;
  39.         default :
  40.             BlinkerMIOT.powerState(oState ? "on" : "off");
  41.             BlinkerMIOT.print();
  42.             break;
  43.     }
  44. }

  45. void dataRead(const String & data)
  46. {
  47.     BLINKER_LOG("Blinker readString: ", data);

  48.     Blinker.vibrate();
  49.    
  50.     uint32_t BlinkerTime = millis();
  51.    
  52.     Blinker.print("millis", BlinkerTime);
  53. }

  54. void setup()
  55. {
  56.     Serial.begin(115200);
  57.     BLINKER_DEBUG.stream(Serial);

  58.     pinMode(LED_BUILTIN, OUTPUT);
  59.     digitalWrite(LED_BUILTIN, LOW);

  60.     Blinker.begin(auth, ssid, pswd);
  61.     Blinker.attachData(dataRead);
  62.    
  63.     BlinkerMIOT.attachPowerState(miotPowerState);
  64.     BlinkerMIOT.attachQuery(miotQuery);
  65. }

  66. void loop()
  67. {
  68.     Blinker.run();
  69. }
复制代码
 楼主| 发表于 2020-8-11 18:46 来自手机 | 显示全部楼层
XlinliY.Zhang 发表于 2020-8-10 18:54

问题找到了,有个库没更新不兼容
发表于 2020-8-11 19:22 | 显示全部楼层
lh5263872 发表于 2020-8-11 18:46
问题找到了,有个库没更新不兼容

哪个库有问题,我也是出现这个毛病
 楼主| 发表于 2020-8-11 20:24 来自手机 | 显示全部楼层
zwl1861 发表于 2020-8-11 19:22
哪个库有问题,我也是出现这个毛病

我是esp8266,好像最新是2.7.4,没有更新,还有个激光测距模块的库没更新
发表于 2020-8-11 22:00 | 显示全部楼层
我也是这样,小爱那里在线,提示控制成功,可是没反应
发表于 2020-8-17 11:11 来自手机 | 显示全部楼层
库连接有吗?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-28 11:53 , Processed in 0.074716 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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