A resilience/stability question: Want to send data from Xenon to cloud, which is better

xenon
Tags: #<Tag:0x00007fe220220420>

#1

Just trying to better understand the mechanics behind the processing as both work.

So, just wondering from a network management perspective and handling resilience (i.e. reducing likelihood of network crash or congestion) which is better for the Argon (i.e. the gateway).

Method 1. Use mesh.publish from Xenon with mesh.subscribe on Argon, then Argon uses Particle.publish to send data to the cloud.

or

Method 2: Use Particle.publish from the Xenon, which somehow publishes the data in the cloud (hence all under the hood).

What are the Pros / Cons for either method.


#2

My best guess is that mesh.publish could be considered a “Broadcast”, where all nodes in the Mesh will receive the data. IE: the message doesn’t have any particular target address.

Whereas (1) Xenon performing a Particle.publish would be sent directly to (or via required # of Hops) the Gateway/Argon. IE: the message is addressed to the Gateway . The Gateway manages the Network and knows how to route the data if the Xenon isn’t within range.

That’s just my guess. I’m also interested in the official answer.

With a Small network, it probably doesn’t make a huge difference.


#3

There is no acknowledgement with the mesh pub:sub that the publish has been received unless you implement some handshake or acknowledgement. If you want to be certain about a cloud publish then you need to use publish WITH_ACK.


#4

Thanks for the feedback.

I subsequently found some more information about the differences here on page 32 of this document

https://docs.particle.io/workshops/mesh-101-workshop/mesh-and-particle-primitives/
.