怎样通过Java语言实现远程控制电源开关呢?
本文描述了使用Java语言调用HTTP接口,实现控制电源开关,通过控制电源开关,从而控制电器设备。
可选用产品:可根据实际场景需求,选择对应的规格
序号 | 设备名称 |
---|---|
1 | 智能WiFi墙壁插座10A |
2 | 智能WiFi墙壁插座16A |
3 | 智能WiFi插座10A |
4 | 智能WiFi插座16A |
下面以每款产品为例,用编程实现远程:
1. 智能WiFi墙壁插座10A
标准86型底盒安装,可直接平行替换原有墙壁插座;
2位5孔,总额定功率2000W;
按钮动作可自定义、可屏蔽;
功率计量版实时上报计量数据,并可设置安全功率,超过则自动断电;
HTTP接口远程控制通断;
支持远程定时任务,支持自定义联动操作;
使用调用HTTP接口控制智能WiFi墙壁插座10A的代码
以设备控制(向设备下发命令)为例
全部接口文档复制
java
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "device=设备ID&order=命令");
/*
device[字符串]:设备唯一ID,可传多个,可在控制台可查看,也可通过接口拉取;
order[json字符串]:命令,取值参考:
1. 线路 - 可用值[1(打开),0(关闭)]
示例[关闭], order为:{"power":"0"}
2. 计量 - 可用值[1(开始),0(停止)]
示例[停止], order为:{"metering":"0"}
3. 先通后断 - 自定义
示例[3秒], order为:{"point":"3000"}
4. 先断后通 - 自定义
示例[3秒], order为:{"reset":"3000"}
*/
Request request = new Request.Builder()
.url("http://iot-api.unisoft.cn/{APP_ID}/device/control/?sign={sign}&ts={ts}")
.method("POST",body)
.addHeader("X-APISpace-Token","")
.addHeader("Content-Type","")
.build();
Response response = client.newCall(request).execute();
System.out.println(response.body().string());
说明:{APP_ID}为您的应用ID(由平台生成),免费注册登录后,可在控制台查看;sign和ts的取值,请参考文档。
2. 智能WiFi墙壁插座16A
标准86型底盒安装,可直接平行替换原有16A墙壁插座;
1位3孔,额定功率3500W;
可接2匹内空调插头;
按钮动作可自定义、可屏蔽;
功率计量版可设置安全功率,超过则自动断电;
HTTP接口远程控制通断;
支持远程定时任务,支持自定义联动操作;
使用调用HTTP接口控制智能WiFi墙壁插座16A的代码
以设备控制(向设备下发命令)为例
全部接口文档复制
java
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "device=设备ID&order=命令");
/*
device[字符串]:设备唯一ID,可传多个,可在控制台可查看,也可通过接口拉取;
order[json字符串]:命令,取值参考:
1. 线路 - 可用值[1(打开),0(关闭)]
示例[关闭], order为:{"power":"0"}
2. 计量 - 可用值[1(打开),0(关闭)]
示例[关闭], order为:{"metering":"0"}
3. 先通后断 - 自定义
示例[3秒], order为:{"point":"3000"}
4. 先断后通 - 自定义
示例[3秒], order为:{"reset":"3000"}
*/
Request request = new Request.Builder()
.url("http://iot-api.unisoft.cn/{APP_ID}/device/control/?sign={sign}&ts={ts}")
.method("POST",body)
.addHeader("X-APISpace-Token","")
.addHeader("Content-Type","")
.build();
Response response = client.newCall(request).execute();
System.out.println(response.body().string());
说明:{APP_ID}为您的应用ID(由平台生成),免费注册登录后,可在控制台查看;sign和ts的取值,请参考文档。
3. 智能WiFi插座10A
体积小巧,无需走线,标准国标3pin插头;
2位5孔,总额定功率2000W;
按钮动作可自定义、可屏蔽;
功率计量版可设置安全功率,超过则自动断电;
HTTP接口远程控制通断;
;
支持远程定时任务,支持自定义联动操作;
使用调用HTTP接口控制智能WiFi插座10A的代码
以设备控制(向设备下发命令)为例
全部接口文档复制
java
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "device=设备ID&order=命令");
/*
device[字符串]:设备唯一ID,可传多个,可在控制台可查看,也可通过接口拉取;
order[json字符串]:命令,取值参考:
1. 开关 - 可用值[1(打开),0(关闭)]
示例[关闭], order为:{"power":"0"}
2. 计量 - 可用值[1(打开),0(关闭)]
示例[关闭], order为:{"metering":"0"}
3. 先通后断 - 自定义
示例[3秒], order为:{"point":"3000"}
4. 先断后通 - 自定义
示例[3秒], order为:{"reset":"3000"}
*/
Request request = new Request.Builder()
.url("http://iot-api.unisoft.cn/{APP_ID}/device/control/?sign={sign}&ts={ts}")
.method("POST",body)
.addHeader("X-APISpace-Token","")
.addHeader("Content-Type","")
.build();
Response response = client.newCall(request).execute();
System.out.println(response.body().string());
说明:{APP_ID}为您的应用ID(由平台生成),免费注册登录后,可在控制台查看;sign和ts的取值,请参考文档。
4. 智能WiFi插座16A
体积小巧,无需走线,标准国标3pin插头;
1位3孔,额定功率3500W;
可接大一匹内空调插头;
按钮动作可自定义、可屏蔽;
功率计量版可设置安全功率,超过则自动断电;
HTTP接口远程控制通断;
;
支持远程定时任务,支持自定义联动操作;
使用调用HTTP接口控制智能WiFi插座16A的代码
以设备控制(向设备下发命令)为例
全部接口文档复制
java
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "device=设备ID&order=命令");
/*
device[字符串]:设备唯一ID,可传多个,可在控制台可查看,也可通过接口拉取;
order[json字符串]:命令,取值参考:
1. 开关 - 可用值[1(打开),0(关闭)]
示例[关闭], order为:{"power":"0"}
2. 计量 - 可用值[1(打开),0(关闭)]
示例[关闭], order为:{"metering":"0"}
3. 先通后断 - 自定义
示例[3秒], order为:{"point":"3000"}
4. 先断后通 - 自定义
示例[3秒], order为:{"reset":"3000"}
*/
Request request = new Request.Builder()
.url("http://iot-api.unisoft.cn/{APP_ID}/device/control/?sign={sign}&ts={ts}")
.method("POST",body)
.addHeader("X-APISpace-Token","")
.addHeader("Content-Type","")
.build();
Response response = client.newCall(request).execute();
System.out.println(response.body().string());
说明:{APP_ID}为您的应用ID(由平台生成),免费注册登录后,可在控制台查看;sign和ts的取值,请参考文档。
上述智能插座类产品对比
产品 | 版本 | 安装方式 | 额定功率 |
---|---|---|---|
###### 智能WiFi墙壁插座10A | ###### 不带功率计量 | ###### 标准86型底盒安装 | ###### 2200W |
###### 智能WiFi墙壁插座10A | ###### 带功率计量 | ###### 标准86型底盒安装 | ###### 2200W |
###### 智能WiFi墙壁插座16A | ###### 不带功率计量 | ###### 标准86型底盒安装 | ###### 3500W |
###### 智能WiFi墙壁插座16A | ###### 带功率计量 | ###### 标准86型底盒安装 | ###### 3500W |
###### 智能WiFi插座10A | ###### 不带功率计量 | ###### 2p插头|即插即用 | ###### 2200W |
###### 智能WiFi插座10A | ###### 功率计量版 | ###### 2p插头|即插即用 | ###### 2200W |
###### 智能WiFi插座16A | ###### 不带功率计量 | ###### 2p插头|即插即用 | ###### 3500W |
###### 智能WiFi插座16A | ###### 功率计量版 | ###### 2p插头|即插即用 | ###### 3500W |
产品尺寸与走线
1. 智能WiFi墙壁插座10A接线示意图
走线示意
* 接线前请确保断路器上的电源已关闭
2. 智能WiFi墙壁插座16A接线示意图
走线示意
* 接线前请确保断路器上的电源已关闭
3. 智能WiFi插座10A接线示意图
4. 智能WiFi插座16A接线示意图