0

我开始使用 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() 来刷新它吗?

4

1 回答 1

0

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

于 2015-08-07T20:51:51.560 回答