We have (finally!) completed our hardware design work on a P1 based terminal device that interacts with a human.
So, it is not a classic IOT device in that there is an impatient human waiting for a response to transactions in real-time.
What we are after is an improvement in the round-trip time between:
the P1 device and Particle
Particle webhook and our Melbourne based service
ie Device <–> Particle <–> Cloud Service
You can envisage that long round trips have a significant impact on the user experience; console.particle.io is indicating that we are getting round trip times of circa 300 to 350 ms.
Is there any way to improve these times?
For example, can/does the Particle cloud operate from the AWS Asiapac region?
The Coap round-trip time is not controllable AFAIK.
What is within your control is UI design and in particular giving immediate feedback to a user that they have pressed a button or initiated a process that then could be responded to immediately or may take a while or may never respond?
Thanks @armor, the UI design does provide immediate feedback.
It is the comms that we need to hasten as the application/human is waiting on a response from our service. Here are the routes that a single transaction takes:
Australia (Device) --txn request (coap)–> US (Particle)–> (https) Australia (Our Service) --txn response (https) --> US (Particle) (coap) -->Australia (Device)
The picture would look completely different if we either had:
HTTPS (TLS) library that could fit in within our application
or
Direct access to internal COAP comms infrastructure
I’m not sure how much free memory you have in your application, but have you looked at TlsTcpClient? It’s quite a memory hog unfortunately, but there are configuration settings to slim it down somewhat.