ThingsBoard es una plataforma de código abierto para IoT que ofrece capacidades de gestión de dispositivos, recolección de telemetría, motor de reglas y visualización de datos. El SDK de cliente permite a desarrolladores conectar dispositivos físicos o aplicaciones directamente con instancias de ThingsBoard, facilitando el envío y recepción de información en tiempo real.
Configuración inicial
Requisitos previos
Para trabajar con el SDK en Java, se requiere JDK 8 o superior. Verifica también que tu entorno de desarrollo tenga configurado Maven o Gradle para la gestión de dependencias.
Inclusión de dependencias
Agrega la siguiente configuración a tu archivo pom.xml:
<dependencies>
<dependency>
<groupId>org.thingsboard</groupId>
<artifactId>tb-client</artifactId>
<version>3.x.x</version>
</dependency>
</dependencies>
Ejemplo de conexión y envío de telemetría
El siguiente código demuestra cómo establecer una conexión con un servidor de ThingsBoard y transmitir datos de sensores:
import org.thingsboard.client.TbClient;
import org.thingsboard.client.config.TbClientConfiguration;
import java.util.HashMap;
import java.util.Map;
public class DeviceConnector {
private static final String SERVER_URL = "http://127.0.0.1:8080";
private static final String DEVICE_TOKEN = "TU_TOKEN_DE_DISPOSITIVO";
public static void main(String[] args) {
TbClientConfiguration settings = new TbClientConfiguration();
settings.setServerAddress(SERVER_URL);
TbClient tbClient = new TbClient(settings);
try {
tbClient.start();
tbClient.connect(DEVICE_TOKEN);
Map<String, Object> sensorData = new HashMap<>();
sensorData.put("temp", 22.3);
sensorData.put("humidity", 65);
long timestamp = System.currentTimeMillis();
tbClient.sendTelemetry(sensorData, timestamp);
System.out.println("Datos enviados correctamente");
tbClient.stop();
} catch (Exception ex) {
System.err.println("Error de conexión: " + ex.getMessage());
}
}
}
Reemplaza TU_TOKEN_DE_DISPOSITIVO con el token real asignado a tu dispositivo en la consola de ThingsBoard.
Escenarios de uso recomendados
Este SDK se aplica comúnmente en sistemas de monitoreo industrial, agricultura de precisión y automatización del hogar. Por ejemplo, un caso típico consiste en configurar sensores ambientales que reporten periódicamente métricas a ThingsBoard, donde un motor de reglas evalúa los valores y dispara alertas cuando se superan umbrales configurados.
Se recomienda combinar el SDK con el protocolo MQTT para optimizar el ancho de banda, implementar lógica de reconexión automática ante fallos de red, y aprovechar las APIs REST de la plataforma para consultar históricos y gestionar dispositivos desde servicios externos.
Integraciones del ecosistema
ThingsBoard es compatible con múltiples herramientas y servicios. La integración con Grafana y Prometheus permite construir paneles avanzados de visualización. También existen conectores para AWS IoT, Azure IoT Hub y Google Cloud IoT, lo que amplía las posibilidades de despliegue híbrido. La comunidad mantiene repositorios adicionales con drivers para dispositivos específicos y módulos de computación en el borde.