0

我正在尝试使用arduino。对服务器POST request进行一些数据处理。但我无法正确格式化该数据。我正在使用arduinojson它,但我不确定我是否做得正确。

#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
#include <ArduinoJson.h>
uint8_t measure = 0;

void setup() {
  // Wifisetup code
}

void loop() {
  StaticJsonDocument<1000> doc;
  Serial.println("Collecting measures");
  JsonArray data = doc.createNestedArray("data");

  for (int i = 0; i < 500; i++) {
    measure = analogRead(A0);
    measure = measure/2;
    data.add(measure);
    delay(10);
  }

  String json;
  serializeJson(doc["data"], json);
  Serial.println(json);

  HTTPClient http;
  http.begin("http://04f62766ea3b.ngrok.io/ecg_data.json");

  http.POST(json);
  http.end();
}

但是在 Rails 服务器端,我得到这样的响应:

Parameters: {"0,0,2,2,2,2,1,2,1,2,0,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,2,1,2,1,2,1,2,1,2,1,2,1,2,2,2,1,2,1,1,1,2,1,2,1,2,1,2,1"=>nil}

但它应该是这样的:

{ "data" => [0,0,2,2,2...] }

让我知道为了正确格式化需要做什么。

4

0 回答 0