The rapyuta.io platform attempts to bring all the various parts of your robotics solution under one roof. The unified tooling, API, and workflows strive to maintain uniformity in process and capabilities enabling the developer to focus less on managing distributed infrastructure and more on the solution.
To make this feasible rapyuta.io implements device management capabilities into the core of the platform.
The following sections explain how to connect, interact, and use robots and devices on the platform.
The following image illustrates the architecture of device manager system.
The device management layer in rapyuta.io is a critical part of the base infrastructure and services to enable core functionality.
The following sections are a non-exhaustive set of some of its responsibilities and features.
The device manager service uses a server-agent communication model where the device manager is the server-side component, and the device manager agent is the agent component of the model.
Since the device manager agent initiates the connection to the device manager, the communication works behind a firewall and NAT network. You do not need to open any incoming ports on your firewall.
rapyuta.io provides low throughput channels: control and telemetry channels. These channels are activated when the device is powered-on; connected to the internet, and registered with rapyuta.io The channels are optimized for reliability, security for small payloads like configuration commands, metrics and logs, and for minimum utilization of resources.
The device manager lets you access a device remotely over a Wide Area Network (WAN) connection. You may open an interactive shell to the device through a web browser WebSSH, and send individual shell commands to be executed on the device.
Dynamic configurations allow you to control a device or a group of devices based on a large set of configuration parameters.
Remote monitoring provides better visibility into devices regardless of where they are located. The device manager service enables you to collect and visualize execution metrics like CPU usage, memory usage, battery level, etc. of the device.
The device manager ensures that the data (telemetry and control) exchanged between various components are encrypted.