2018-12-03, 11:23 AM
(2018-12-02, 07:51 PM)scuby Wrote: Any ideas?
What about sending the data straight to signalk?
Code:
#include <WiFiUdp.h>
#include "ArduinoJson.h"
WiFiUDP Udp;
IPAddress remoteIp(10, 10, 10, 1); //
unsigned short remotePort = 55561; // Signalk listens on this port
unsigned short localPort = 6667; // local port to listen for UDP packets
void sendSigK(String sigKey, float data) { // send SigK via UDP *****************************************
DynamicJsonBuffer jsonBuffer;
String deltaText;
// build delta message
JsonObject& delta = jsonBuffer.createObject();
//updated array
JsonArray& updatesArr = delta.createNestedArray("updates");
JsonObject& thisUpdate = updatesArr.createNestedObject(); //Json Object nested inside delta [...
JsonArray& values = thisUpdate.createNestedArray("values"); // Values array nested in delta[ values....
JsonObject& thisValue = values.createNestedObject();
thisValue["path"] = sigKey;
thisValue["value"] = data;
thisUpdate["Source"] = "ESP11";
// Send UDP packet
Udp.beginPacket(remoteIp, remotePort);
delta.printTo(Udp);
Udp.println();
Udp.endPacket();
}