Technical FAQs

How to send data to Ubidots?

Ubidots accepts HTTP, MQTT, TCP and UDP payloads. To learn how to send data using each one of these protocols, please refer to our Data API documentation.

Can I control a device using Ubidots?

In theory, you can program a device to act based on changes of an Ubidots variable. This could be done by either polling the cloud at periodic time intervals, or by subscribing to a variable using MQTT.

In practice, we only recommend using downlink commands to push configurations to remote devices, or better said, to perform "Virtual controls". The problem with physical controls is that, even though they are technically possible, they pose a huge risk when communication fails.

See some examples of Virtual vs Physical controls:

Control Type


👍 Virtual controls

  • Change the update frequency of a device.

  • Reboot a device remotely.

  • Command a device to download a new firmware from a specific URL.

⚠️ Physical controls

  • Open/Close a water valve. DANGER: If the "close" command is not received, then a flood might happen.

  • Start/Stop a production line. DANGER: If the "start" command is received during a maintenance window, then an accident can happen.

Last updated