Arduino Yun AWS Shadow更新超时错误

时间:2017-06-20 15:09:56

标签: amazon-web-services arduino iot

我目前正在为Arduino Yun使用AWS IoT SDK,我正在运行示例草图(特别是恒温器模拟器)。

我略微修改了循环(只是改变了结尾的延迟),使它看起来像这样:

void loop() {
  if(success_connect) {
    // If the desired temperature is set to a higher value, start heating.
    if(desiredTemp - reportedTemp > 0.001) {reportedTemp += 0.1;}
    // If the desired temperature is set to a lower value, start cooling.
    else if(reportedTemp - desiredTemp > 0.001) {reportedTemp -= 0.1;}
    dtostrf(reportedTemp, 4, 1, float_buf);
    float_buf[4] = '\0';
    sprintf_P(JSON_buf, PSTR("{\"state\":{\"reported\":{\"Temp\":%s}}}"), float_buf);
    print_log("shadow update", myClient.shadow_update(AWS_IOT_MY_THING_NAME, JSON_buf, strlen(JSON_buf), NULL, 5));
    if(myClient.yield()) {
      Serial.println("Yield failed.");
    }
    delay(10000); // CHANGED TO 10 SECONDS INSTEAD OF 1
  }
}

由于某种原因,当循环延迟少于10秒时,阴影更新没有问题重复。但是一旦延迟10秒或更长时间,我就会收到此错误:

  

Thread-4中的异常(很可能是在interpr期间引发的)   [ERR]命令:影子更新代码:-1

我在aws_iot_config_SDK.h文件中将CMD_TIME_OUT更改为更高的值,但它似乎仍无效。我希望超时延迟大于10秒的原因是因为我希望理想情况下在arduino中有一个可以更新阴影的触发机制。

0 个答案:

没有答案