java 给thingsboard发送数据
时间: 2025-01-17 12:42:29 浏览: 44
### 使用Java向ThingsBoard发送数据
为了通过Java程序向ThingsBoard平台发送数据,通常会利用HTTP协议或MQTT协议来传输设备的数据。这里提供一种基于HTTP POST请求的方式,在此过程中,可以创建一个`HttpClient`实例用于发起网络请求,并构建带有认证令牌的URL以便访问ThingsBoard服务器。
下面是一个简单的例子展示怎样使用Java代码向ThingsBoard上传传感器测量值:
```java
import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class SendDataToThingsBoard {
private static final String ACCESS_TOKEN = "your_device_access_token"; // 替换成实际的access token
private static final String THINGSBOARD_SERVER_URL = "http://YOUR_THINGSBOARD_HOST/api/v1/" + ACCESS_TOKEN + "/telemetry";
public static void main(String[] args) throws IOException, InterruptedException {
HttpClient client = HttpClient.newHttpClient();
String jsonPayload = "{\"temperature\":25,\"humidity\":60}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(THINGSBOARD_SERVER_URL))
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(jsonPayload))
.build();
HttpResponse<String> response =
client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}
```
这段代码展示了如何设置目标URL并附带必要的参数以完成身份验证过程[^1]。同时定义了一个JSON字符串作为负载体,其中包含了要上报给ThingsBoard的具体数值信息。最后执行POST方法并将结果打印出来供调试之用。
阅读全文
相关推荐


















