Remote Ingestion Architecture
Typical flow
device
initiates the communication by sending the Hello
message.
Messages can be encoded as JSON
or CBOR
. The format of the Hello
message sent by the device
determines the encoding of the messages for the rest of the session.
Hello
(request)device
can send this message. The server will respond with the Hello
response.
Hello
(response)Hello
request sent by the device
. Only the server can send this message.
Sample
(request)device
. The device
needs to perform a handshake with the hello
message first. This message can be sent by the server
only.
Sample
(response)Sample
request sent by the Studio. The device
needs to send this response. Set the sample
field to true
if the sampling can start, or to false
if the sampling cannot start. This can be sent multiple times, for example first send true
to confirm that the device is ready to sample, and then send false
if some error occurs.
Sample started
(notification)Sample processing
(notification)Sample reading
(notification)Sample uploading
(notification)Sample finished
(notification)Start snapshot
(request)Stop snapshot
(request)Snapshot frame
(notification)device
, send the following message. The snapshotFrame
is a base64 encoded JPG file.
You don’t have to send this message too often, 5 times a second is plenty for most use cases.
sampleReading
and commands for snapshot streaming. For v2 devices, the progress percentage is ignored, and supportsSnapshotStreaming
is set to false
.