This page is for explaining cloud-oriented ways of controlling your Pantavisor devices.
Pantacor Hub is our remote device state management system.
To interact with Pantacor Hub, you can either use the web user interface, the API or the pvr CLI tool.
Pantacor Hub Client¶
Pantavisor includes a build-in Pantacor Hub client which is enabled by default. To begin remote control and monitoring of devices with Pantacor Hub, it is necessary to create an account and claim the device to it. From that moment on, the device will be attached to that account and will try to keep the connection with Pantacor Hub opened. The client will mainly perform three things:
- Keeping the device up to date: the revisions form a trail of steps in Pantacor Hub. This trail is ordered according to the time of deploying and will be consumed by Pantavisor step by step. After founding a new step, Pantavisor will parse the revision State JSON, download the artifacts into the storage and transition to the new revision.
- Sending device metadata and receiving user metadata.
- Sending logs: sending stored logs up.
The client state machine goes through the following stages:
- init: means we are in remote mode and the client has been initialized.
- register: device is trying to register as a non-claimed device in the cloud. This credentials will be stored after reboot.
- claim: device is registered and is waiting to be claimed.
- sync: device has been claimed and will try to upload the objects and state JSON to the cloud.
- idle: device has checked all objects and state JSON is in the cloud. This is where the device will spend most of its time (uploading devmeta, downloading usrmeta and waiting for updates).
- update: a new update has been received and the device will now download the objects and JSON before processing it.
Other Remote Controllers¶
It is also possible to control Pantavisor using any other server. For that, it is necessary to implement a container that performs the communication between the server itself and Pantavisor.
One example of this kind of setup is our Azure IoT Hub client.