Skip to content

Devices management#

When a particular device has been selected, the icons to the right of the device name can be used to Rename or Reboot the device. Simulators can be deleted with an additional bin icon. Close the device page to get back to the initial list of all devices belonging to your organization.

consoledevsim

Several icons and messages near the device name summarize the device's activities, past or scheduled.

consoledevbox

  • A warning sign next to the name of the device means that the firmware installed on the device is no longer available in the console and needs to be updated.

  • An update icon means that a firmware update is scheduled for the next time the device will come online. A double arrow indicates that a configuration update is scheduled.

  • Last seen and Next check-in displays the date and time when the device was last online, and when it is expected to come online next based on its Max offline configuration. A past date for the Next check-in value indicates that a previous scheduled check-in event failed.

Overview#

This tab allows you to see the device information. A device is identified by 3 different identifiers: a hardware ID created during initial provisioning of the device, a device ID assigned when the hardware is claimed by an organization, and an optional given name. This section also lists the model of the hardware, and the firmware version currently installed on the device.

healthdevice

Current issues lists the unresolved issues encountered by the device, in red for issues and lime for pending events.

Most recent check-ins visualizes as green rectangles successful recent connections of the device with the console. A missed check-in is represented by a red rectangle.

The two graphs below can be used to check battery and used storage levels.

batteryfullness

  • The Battery level graph is built using measurements taken when the device wakes from deep sleep, or with 10 minutes intervals for long running apps. Battery level measurements are saved on the device until they are sent to the console when the device comes online. If battery levels are depleting too fast, we recommend increasing the amount of time spent by the device in deep sleep. This can be done by increasing the Max Offline parameter, or by increasing the interval set for apps running on the device so that programs run less frequently.

  • The Used storage graph shows how much data (such as logs, metrics, app data and PubSub messages) is saved on the device while in deep sleep. Data is flushed to the console every time the device comes online. This happens as often as it is configured by the max offline parameter, but can also happen sooner if the flash drive capacity reaches a user-defined threshold of stored events. The latter situation is needed to prevent a loss of data due to a full flash drive. If the Used storage graph shows that your device often reaches high levels of storage, thereby requiring the device to come online too frequently, it is recommended to reduce the amount of data stored by the apps running on the device, or to filter more restrictively the logs and metrics saved on the device (see the Configuration | Advanced section below).

  • The Signal strength graph depicts WiFi (and Cellular when relevant) signal strength during the successive check-ins of the device.

signal strength

Logs#

This tab lists all logs for the selected device, from the moment it was claimed the first time to the latest apps that ran on the device. It is possible to filter the logs to only show the ones pertaining to a specific app ID. You can also choose whether to show or not the system logs.

For each log, you can access the following information:

  • Message lists predefined messages. For system logs, messages indicate when a device was initially claimed, or why a device was rebooted. When running an app, messages state the name of the app; subsequent messages for this app are defined in the Toit program. Messages can also be error messages for apps that failed to compile.

  • Created gives the date and time of any logged event, seen as date and time for most events, or as a timer for actions that happened less than a minute ago.

  • Type of the log event. It can be boot / process start / process stop / message.

  • App lists the name of the app that generated the log: for example "Run: temp.toit" for a log generated from an app called temp.toit, or "THP" for a log generated by an app called THP. It is set to "System" when the log refers to a system event.

Humio#

Humio is a log management tool that offers cloud based storage for persistent data storage as well as streaming observability. The log data is similar to the one summarized on the Logs tab, but more extensive, and it is searchable by queries at the device level, or for the whole fleet of devices within an organization.

It is possible to use the Humio tab in the console for queries related to a particular device, as the device_id is already present in the query field. Search for selected events on your device using the Humio query language syntax.

You can then delete the device_id from the query field to perform organization-wide queries. For example, try log_type ="BOOT" | groupby(device_id) to see how many times each device of your organization rebooted in the chosen time frame.

Finally, visit your organization's Humio repository. Interactive tutorials help you to take full advantage of what Humio has to offer. In particular, you can learn how to build dashboards and create alerts to monitor your organization's device fleet.

Apps#

This tab lists only active apps (filled icon) or all apps (clear icon).

devicejobs

Apps installation status is color-coded to the left hand side of the table. The color is green if the app installed or uninstalled properly, amber if it is in the process of installing or uninstalling, and red if the app needs your attention. For example, when upgrading your device's firmware version, some installed apps' status may become red because of incompatibility between SDK and firmware versions. In this case, a small warning icon will be added next to the firmware version in the table. These apps must be re-deployed to fix the issue.

  • App lists the name of the program (as defined in the program) and a unique app ID. This number allows users to distinguish the different instances where the same program was run (they share the same app name, but will be assigned different app ID).

  • Program shows the name of the Toit file used as entrypoint for the app.

  • Status can be Installed, Uninstalled or Failed. Transition in status will be shown with Waiting to Install, or Waiting to Uninstall.

  • Firmware indicates the firmware version used when compiling the app during installation. A small warning icon indicates a mismatch between the version used to compile the app, and the version currently present on the device. This issue is usually resolved by re-deploying the app.

  • Created gives the date the app was installed (seen as a timer if it was within the past hour).

  • Uninstall This icon can be used to uninstall apps.

Code#

The code tab includes a terminal window where you can write a Toit program. Click on Run on device to try it on the device. Note that a program will automatically stop running after a certain amount of time, but you can also use the Stop button to that effect.

Configuration#

This tab allows you to edit the configuration of your device. The changes in configuration will be applied to the device the next time it comes online and starts communicating with the console.

  • Firmware The current version of the device firmware is shown here. To upgrade (or downgrade) the firmware on the device, click the Edit icon and choose a firmware version from the drop-down menu. Click Save. The list of firmware versions in the drop-down menu contains only those firmware versions available for the given device model. If the device is offline, the actual firmware upgrade/downgrade on the device will take place the next time the device gets online.

  • Max offline configures how often the device is expected to be online, that is when it will connect to the Toit console, send data to the Toit console, download new firmware and/or new apps and apply new device configuration settings. How frequent these connections are set to happen will influence the battery life of the device. Change the 'Max offline' duration by clicking the Edit icon. Provide a value (2h, 10m, or 30s, for example) and click Save. The changes will be applied the next time the device is online, or immediately if you reboot the device by taking the batteries out of the device for 90 seconds before reinserting them.

  • Connections can be used to add or remove WiFi (and Cellular when relevant) connections. When two or more connections are present, choose the order in which they should be used by moving the connections to use in priority above the others. Click Save to add the new connection. Reboot the device if a new priority order needs to be taken into account.

  • Broker settings lists host, port and common name.

  • Advanced settings can adjust the quantity and quality of the logs accumulating on a device when it is offline.

    • By default, the Used storage threshold determines the storage capacity level at which a device will attempt to come online to flush data.

    • Logging level determines what kind of system logs should be sent to the console. It is set by default to INFO but can be edited to another level listed here in increasing order of specificity: PRINT (includes all other logs categories), DEBUG, INFO, WARN, ERROR, and FATAL (which saves the least logs).

    • Metrics level determines what system metrics should be sent to the console. It is set by default to DEBUG (which saves all metrics) but can be refined to more specific levels such as INFO and CRITICAL (which saves the least metrics).

  • Unclaim device Unclaiming a device means that the device no longer belongs to the organization where it was initially claimed. To claim the device again, use the hardware ID as was done during initial claiming.

Troubleshoot#

This tab lists events that are generated each time a status change or config change is initiated, or a "next action" is sent from the console to the device, such as for example a command to the device to install an app, or a command for telling the device to upgrade firmware. This tab is particularly useful for troubleshooting devices by looking at all events in the system (device and console), including those that failed to complete.