小度app不能连接<已解决>-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 779|回复: 1

[过期] 小度app不能连接<已解决>

[复制链接]
发表于 2022-1-25 00:21 | 显示全部楼层 |阅读模式
本帖最后由 onwebbe 于 2022-1-25 21:03 编辑

用的是点灯2.7.1,已经没有阿里broker了。所以就加了Arduino设备。
点灯app没有问题可以使用,但是在小度4.8.0里面添加了blinker,也能正确搜到设备,但是在小度里面无论如何操作,都提示无法控制。
看了模块的log啥消息都没有收到。

改成用小爱的,就完全没有问题。

有大佬碰到过么?
app截图


代码如下


#define BLINKER_PRINT Serial
#define BLINKER_WIFI
#define BLINKER_WITHOUT_SSL
#define LED_BUILTIN 4
#define BLINKER_DUEROS_LIGHT
#include <Blinker.h>

char auth[] = "xxx";
char ssid[] = "yyy";
char pswd[] = "zzz";

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

  int counter = 0;
  int isLightOn = 0;
  // 按下按键即会执行该函数
  void button1_callback(const String & state) {
      BLINKER_LOG("get button state: ", state);
      isLightOn = !isLightOn;
      digitalWrite(LED_BUILTIN, isLightOn);
      BLINKER_LOG("Light is:", isLightOn == true ? "ON":"OFF");
      if (isLightOn) {
        Button1.text("已开灯");
        Button1.color("Green");
        Button1.print();
      } else {
        Button1.text("已关灯");
        Button1.color("DarkRed");
        Button1.print();
      }
  }

  // 如果未绑定的组件被触发,则会执行其中内容
  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);
          BLINKER_DEBUG.stream(Serial);
          BLINKER_DEBUG.debugAll();
      #endif

      // 初始化有LED的IO
      pinMode(LED_BUILTIN, OUTPUT);
      digitalWrite(LED_BUILTIN, LOW);
      // 初始化blinker
      Blinker.begin(auth, ssid, pswd);
      Blinker.attachData(dataRead);
      Button1.attach(button1_callback);
      Button1.text("已关灯");
      Button1.color("DarkRed");
      Button1.print();

      BlinkerDuerOS.attachPowerState(duerPowerState);
      BlinkerDuerOS.attachQuery(duerQuery);
  }

  void loop() {
      Blinker.run();
  }
  void duerQuery(int32_t queryCode)
  {
      BLINKER_LOG("MIOT Query codes: ", queryCode);

      switch (queryCode)
      {
          case BLINKER_CMD_QUERY_ALL_NUMBER :
              BLINKER_LOG("DUER Query All");
              BlinkerDuerOS.powerState(isLightOn ? "on" : "off");
              BlinkerDuerOS.print();
              break;
          case BLINKER_CMD_QUERY_POWERSTATE_NUMBER :
              BLINKER_LOG("DUER Query Power State");
              BlinkerDuerOS.powerState(isLightOn ? "on" : "off");
              BlinkerDuerOS.print();
              break;
          default :
              BlinkerDuerOS.powerState(isLightOn ? "on" : "off");
              BlinkerDuerOS.print();
              break;
      }
  }
  void duerPowerState(const String & state)
  {
      BLINKER_LOG("need set power state: ", state);

      if (state == BLINKER_CMD_ON) {
          digitalWrite(LED_BUILTIN, HIGH);
          BlinkerDuerOS.powerState("on");
          BlinkerDuerOS.print();
          BLINKER_LOG("Light is: ON");
          isLightOn = 1;
      }
      else if (state == BLINKER_CMD_OFF) {
          digitalWrite(LED_BUILTIN, LOW);
          BlinkerDuerOS.powerState("off");
          BlinkerDuerOS.print();
          BLINKER_LOG("Light is: OFF");
          isLightOn = 0;
      }
      if (isLightOn) {
        Button1.text("已开灯");
        Button1.color("Green");
        Button1.print();
      } else {
        Button1.text("已关灯");
        Button1.color("DarkRed");
        Button1.print();
      }
  }

Screen Shot 2022-01-25 at 12.18.30 AM.png
WechatIMG64.jpeg
WechatIMG63.jpeg
 楼主| 发表于 2022-1-25 21:01 | 显示全部楼层
已解决。
好像不管小度还是小爱。第一次添加blinker之后都需要1天buffer来做sync。第二天自动好了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-28 10:33 , Processed in 0.179211 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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