Overview

An application is a custom program that is deployable on multiple devices and can be monitored from the cloud. Applications are the main entry point for any custom use case such as counting people in a given area, remote-controlling a robot, and much more, deployed on a single host machine or as part of a network-wide system.

Features

An application may use all of the following ZED Hub features :

  • Live stream: An application running with a camera connected can send a live stream in the Video panel.
  • Recording: An application running with a camera connected can record SVO and MP4 videos on the device. These recordings can be viewed and downloaded through ZED Hub.
  • Telemetry: An application can send any type of custom data in the JSON format.
  • Logs: An application can send logs that inform about the application status.
  • Video Event: An application can define a Video Event, data associated with a video recording, that will be visible in ZED Hub.
  • Remote function: An application can define or call a remote function that will allow to trigger special behavior from ZED Hub’s interface.

Communications

Each application communicates with the cloud using the MQTT protocol. Your device uses it in the background to communicate with the cloud:

  • Emission of log messages to the cloud
  • Emission of telemetry data to the cloud
  • Access to device status and configuration

The applications also use WebRTC to send other kind of data, for example video streams.

We also provide ways to communicate to other applications or devices. The C++ and Python APIs provide an easy and high-level way of using these protocols. Applications using a not-yet-supported programming language can also have their own implementation of WebRTC to access all the functions above.