Как отправить JSon через POST на сервер с библиотекой EtherCard и Arduino Uno? - PullRequest
0 голосов
/ 16 февраля 2020

Мне нужно опубликовать эти данные на моем удаленном сервере:

   StaticJsonBuffer<200> jsonBuffer;
  DynamicJsonBuffer jBuffer;
  JsonObject& root = jsonBuffer.createObject();
  root["latitude"]= gps.location.lat(),
  root["longitude"]= gps.location.lng();
  root.prettyPrintTo(Serial);

Я не могу найти ни одного рабочего учебника для этого. Я подключил свой модуль ethe rnet ENC28J60, и он работает нормально, но я не знаю, как отправить данные POST с приложением типа содержимого заголовка json через эту библиотеку. Вы можете мне помочь?

1 Ответ

0 голосов
/ 09 апреля 2020

если вы будете искать всегда, вы найдете мое решение:

static word reponse() {
  doc.clear();
  doc["Etat"] = "ok";
  doc["CodeMp3"] = "00";

  bfill = ether.tcpOffset();
  bfill.emit_p(PSTR(
       "HTTP/1.0 200 OK\r\n"
       "Content-Type: application/json\r\n"
       "Connection: close\r\n"
       "Content-Length: $D\r\n"
       "\r\n"), measureJson(doc));
  serializeJson(doc, bfill);
  return bfill.position();
}

void loop () {
  word len = ether.packetReceive();
  word pos = ether.packetLoop(len);

  if (pos){  // check if valid tcp data is received

    getMsgSever(pos,len);

    ether.httpServerReply(reponse()); // send web page data
  }

}

...