Temboo 调用挂起 Arduino

Temboo call hangs Arduino

我正在使用带有 Desloo W5100 以太网扩展板的 Arduino Uno。每当我尝试使用 Temboo 调用 Parse 时,设备就会挂起。有时几分钟......有时无限期。这是我运行:

void updateParseDoorState() {

  if (!ENABLE_DOOR_STATE_PUSHES) {
    Serial.println("Door state pushing disabled. Skipping.");
    return;
  }

  Serial.println("Pushing door state to database...");

  TembooChoreo UpdateObjectChoreo(client);

  // Invoke the Temboo client
  UpdateObjectChoreo.begin();

  // Set Temboo account credentials
  UpdateObjectChoreo.setAccountName(TEMBOO_ACCOUNT);
  UpdateObjectChoreo.setAppKeyName(TEMBOO_APP_KEY_NAME);
  UpdateObjectChoreo.setAppKey(TEMBOO_APP_KEY);

  // Set profile to use for execution
  UpdateObjectChoreo.setProfile("ParseAccount");

  // Set Choreo inputs
  String ObjectIDValue = "xxxxxxxxxx";
  UpdateObjectChoreo.addInput("ObjectID", ObjectIDValue);
  String ClassNameValue = "DoorState";
  UpdateObjectChoreo.addInput("ClassName", ClassNameValue);
  String ObjectContentsValue = (currentState == OPEN) ? "{\"isOpen\":true}" : "{\"isOpen\":false}";
  UpdateObjectChoreo.addInput("ObjectContents", ObjectContentsValue);

  // Identify the Choreo to run
  UpdateObjectChoreo.setChoreo("/Library/Parse/Objects/UpdateObject");

  // Run the Choreo; when results are available, print them to serial
  int returnStatus = UpdateObjectChoreo.run();
  if (returnStatus != 0){
    setEthernetIndicator(EthernetStatus::SERVICES_DISCONNECTED);
    Serial.print("Temboo error: "); Serial.println(returnStatus);
    // read the name of the next output item
    String returnResultName = UpdateObjectChoreo.readStringUntil('\x1F');
    returnResultName.trim(); // use “trim” to get rid of newlines
    Serial.print("Return result name: "); Serial.println(returnResultName);

    // read the value of the next output item
    String returnResultData = UpdateObjectChoreo.readStringUntil('\x1E');
    returnResultData.trim(); // use “trim” to get rid of newlines
    Serial.print("Return result data: "); Serial.println(returnResultData);
  }

  /*while(UpdateObjectChoreo.available()) {
    char c = UpdateObjectChoreo.read();
    Serial.print(c);
    }*/
  UpdateObjectChoreo.close();

  Serial.println("Pushed door state to database!");
  Serial.println("Waiting 30s to avoid overloading Temboo...");
  delay(30000);
}

我在串行监视器中得到这个:

Current state:6666ÿ &‰ SP  S   P U  WR     SR   R  PR   P 66Temboo error: 223

这表明有 some type of HTTP error,但我从来没有打印出错误是什么...因为串行监视器永远卡在那里。并最终断开连接。

我在 Temboo 工作。

听起来您的电路板可能 运行 内存不足(在 Arduino 等资源受限的硬件上很常见)。您可以在此处找到我们关于如何在使用 Temboo 时节省内存使用量的教程:

https://temboo.com/hardware/profiles

如果您有其他问题,请随时联系 Temboo 支持 - 我们随时待命并乐意提供帮助。