Particle publishing --- how to?

With one publish statement (event & message), you can send multiple data pairs within the message.
Here is a post you can review for a useful tool:
https://community.particle.io/t/json-parser-and-generator-in-device-os/56147

Here is an example:

char msg128[128];
double averageTempF;
double averageHumidity;
char usbPoweredSzInfo[16] = "no data...";

void formatVariableDataPairs() {
  JSONBufferWriter writer(msg128, sizeof(msg128) - 1);
  writer.beginObject();
    writer.name("tempF").value(averageTempF);
    writer.name("rh").value(averageHumidity);
    writer.name("mains power").value(usbPoweredSzInfo);
  writer.endObject();
  writer.buffer()[std::min(writer.bufferSize(), writer.dataSize())] = 0;
}

loop() {
  //fillVarsWithData
  formatVariableDataPairs();
  if (Particle.connected()) { //will block if NOT connected
    Particle.publish("stats", msg128);
    delay(1000);
  }
  delay(10000); // demo only
}
1 Like