首先在onenet上把http产品建好,具体方式可在onenet上查看文档,把设备的apikey,设备id,数据流id建立完。以下是具体代码。
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class OneNetUploader {
public static void main(String[] args) {
String apiKey = "API KEY"; // OneNet平台的API Key
String deviceId = "DEVICEID ID"; // 设备ID
String dataStreamId = "DATASTREAM ID"; // 数据流ID
String value = "N"; // 要上传的数据点值
try {
// 拼接URL字符串
String urlString = String.format("http://api.heclouds.com/devices/davices id/datapoints",
deviceId);
// 初始化URL和HttpURLConnection对象
URL url = new URL(urlString);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("api-Key", apiKey);
conn.setRequestProperty("Content-Type", "application/json");
// 构造JSON格式的请求体
String body = String.format("{\"datastreams\":[{\"id\":\"%s\",\"datapoints\":[{\"value\":\"%s\"}]}]}",
dataStreamId, value);
// 输出请求体
System.out.println(body);
// 发送请求
conn.setDoOutput(true);
conn.getOutputStream().write(body.getBytes("UTF-8"));
// 获取响应结果
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
StringBuffer response = new StringBuffer();
String line;
while ((line = reader.readLine()) != null) {
response.append(line);
}
reader.close();
// 输出响应结果
System.out.println(response.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}