Arduino SDK:保存对象

时间:2015-08-06 14:33:40

标签: c parse-platform arduino-yun

我开始使用Arduino Yun Parse SDK并按照基本示例保存对象。

我每分钟从传感器读取温度并将其保存到Parse:

void loop() {
  delay(60000);

  float temperature = dht.readTemperature();
  if (isnan(temperature)) return;

  ParseObjectCreate create;
  create.setClassName("SensorReading");
  create.add("temperature", temperature);
  ParseResponse response = create.send();

  Serial.print(response.getJSONBody());
  if (!response.getErrorCode()) {
     String objectId = response.getString("objectId");
     Serial.print("Object id:");
     Serial.println(objectId);
  } else {
     Serial.println("Failed to save the object");
  }
  response.close();
}

这最初会起作用,但如果我让它长时间运行(30多分钟),我就会开始收到此错误:

{"code":107,"error":"invalid JSON"}

在重新启动草图之前,它将为所有后续保存提供此错误代码。

我对Parse API生成的JSON在一段时间后如何变得无效感到困惑。即使在那些失败的保存请求中,温度值也是有效的浮点数。

也许这与我的Parse令牌到期有关?我应该通过再次调用Parse.begin()来刷新它吗?

1 个答案:

答案 0 :(得分:0)

这是由于Parse Arduino Yun库版本1.0.0中的内存泄漏造成的。它已在1.0.1版中修复。