The basic components of any IoT application powered by Ubidots are Devices, Variables, Synthetic Variables, Dashboards, and Events. Within this article we will address each of these concepts so that you can better organize your Ubidots Apps.
Once your devices, variables, and general components are assembled, give your App some layers with Ubidots Device Management to learn more about Ubidots' internal architecture and how you can use Apps, Organizations, and Users to efficiently connect your data with those who should be using it. You can also use tags to determine what your users get to see and interact within your app.
1. Devices
A Ubidots' device is a virtual representation of a data-source or simply, an asset taking sensor data and transmitting said data through a connection protocol to Ubidots' cloud. Click here for current firmware examples and tutorials for connecting your device to Ubidots.
All devices are different, but the standard setup on any device entails:
A library that should be installed in the device's IDE (not required).
Making API requests (i.e., a call from a device to the web server). Ubidots’ libraries spare the need to manually make these requests. However, if you’re working with a device not currently in the list of supported hardware, you can choose a connectivity protocol such as MQTT or HTTP and make a request using the API accordingly.
Creating devices: there are three ways to create devices:
Devices are created automatically in Ubidots the first time a dot is received to a user's private TOKEN or an Organizational TOKEN.
Clicking the "+" icon in the top right corner of any single device's screen.
Creating a Device Type which then creates a new device with pre-determined device properties, appearance, and variables and automate the on-boarding of thousands of devices.
2. Variables
Once a device is created and receiving data from your hardware or another 3rd party data-source, the data will be presented in its raw or calculated form as a variable.
Types of Variables:
– Default - raw data coming from devices (people counted, for example).
– Synthetic - correspond to statistical or arithmetical operations of default variables in a determined time-frame (e.g., average daily traffic this month).
Below you can read more about synthetic variable setups.
Creating variables: there are two ways to create variables.
Assigning a label as a variable within your hardware's code.
Clicking on the "+" or "+ add variable" buttons, found in any device screen, and assigning a name to it (which will also correspond to the variable's label). By default, Ubidots assigns an additional unique identifier to the variable called "variable ID". To find both the variable's ID and variable's label, click on the "i" button found on each variable card.
3. Synthetic Variables Engine
Ubidots' synthetic variables engine is a tool that allows you to create insights from the raw data stored in Ubidots in a simple and effective way. With it, you can create synthetic variables that calculate and enhance data to enhance decision-making based on data.
For example, to calculate the average (mean) energy consumed this week, we created a synthetic variable called "Energy consumed/day" to calculate the product of "Current" and "Voltage" (P=C*V): The default variable "Current" is multiplied by "Voltage". Then average the product every week with the built-in function mean().
Here is a complete list of available functions, such as cos(x) or ceil(x) functions, and more!
Note that default variables are yellow, and Synthetic Variables are green.
4. Dashboards and Visualizations
Dashboards are the human-machine interfaces where data is easily visualized. Your Ubidots account will let you create as many dashboards as needed, containing widgets and data-visualizations to comprehend your data at a glance. For additional details on your dashboard's construction, check out this tutorial.
5. Events
In Ubidots, Events are messages triggered and delivered through Email, SMS, Telegrams, Slack, Voice Call or webhook messages based on a customized design rule created in the application. If you wish to create alerts for your IoT application, check out this tutorial for additional support.
3 Event types:
When sensor readings reach a specific value:
Variable is inactive during a specific amount of time:
When a device enters or exits a specific area (geofence):
You can also determine the format of alerts by choosing between emails, SMS, Telegram, voice call, Slack, set variable, UbiFunction, or webhook.