This guide will help you to enable remote shell feature and control operation system with ThingsBoard IoT Gateway from your ThingsBoard platform instance.
For purpose of this guide, we will use following things:
- Instance of ThingsBoard platform (How to install you can read here). For this guide we will use thingsboard.cloud
- Installed and configured ThingsBoard IoT Gateway (How to install you can read here).
Step 1. Remote shell activation
- To activate remote shell in ThingsBoard IoT Gateway you should add or change parameter remoteShell to true in the section thingsboard in the general configuration file (tb_gateway.yaml);
- Restart the gateway with the new configuration.
Example of the thingsboard section in the general configuration file:
1 2 3 4 5 6 7 thingsboard: host: thingsboard.cloud port: 1883 remoteShell: true remoteConfiguration: false security: accessToken: PUT_YOUR_GW_ACCESS_TOKEN_HERE
Step 2. Create a dashboard to use the remote shell
To use the remote shell we have to use RPC remote shell widget from Control widget bundle.
To do this we use following steps:
Open Dashboards tab;
Add a new dashboard;
Open created dashboard, enter edit mode by clicking pencil button in the bottom right corner and click “Add new widget” button;
Select widget bundle - “Control widgets”;
Scroll down and select RPC remote shell widget;
We haven’t specify the entity type for the widget so we will create a new one;
Fill in required fields and same the entity. Gateway - is our gateway device;
To prevent TimeoutException, increase the default RPC command timeout to 5000 milliseconds in the advanced settings tab and press Add. Then apply all changes;
The connected widget looks like (Connection setups automatically);
Now you can use the shell to control device with the gateway. For example we run ls command to get the list of files and directories in the current directory.
Explore guides related to main ThingsBoard features:
- Data Visualization - how to visualize collected data.
- Device attributes - how to use device attributes.
- Telemetry data collection - how to collect telemetry data.
- Using RPC capabilities - how to send commands to/from devices.
- Rule Engine - how to use rule engine to analyze data from devices.