怎样通过Java语言实现远程控制电源开关

怎样通过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接线示意图

相关推荐
ai安歌5 分钟前
【Rust编程:从新手到大师】Rust概述
开发语言·后端·rust
百锦再6 分钟前
国产数据库替代MongoDB的技术实践:金仓数据库赋能浙江省人民医院信息化建设新展望
java·开发语言·数据库·mongodb·架构·eclipse·maven
武子康7 分钟前
Java-160 MongoDB副本集部署实战 单机三实例/多机同法 10 分钟起集群 + 选举/读写/回滚全流程
java·数据库·sql·mongodb·性能优化·系统架构·nosql
风霜不见闲沉月13 分钟前
rust更新后编译的exe文件执行报错
开发语言·后端·rust
luckyPian18 分钟前
ES6+新特性:ES7(二)
开发语言·javascript·ecmascript
稚辉君.MCA_P8_Java23 分钟前
Bash 括号:()、{}、[]、$()、$(() )、${}、[[]] 到底有什么区别?
开发语言·jvm·后端·容器·bash
Code-X024 分钟前
Bash 与 Source:命令执行的核心差异解析
开发语言·bash·1024程序员节
sinat_2869451936 分钟前
Java事故排查
java·开发语言
Pluchon38 分钟前
硅基计划2.0 学习总结 玖 图书管理系统 2.0复盘版(文字末尾源码可复制)
java·学习·项目·源码可复制
摇滚侠39 分钟前
Spring Boot3零基础教程,事件驱动开发,设计登录成功后增加积分记录信息功能,笔记61
java·spring boot·笔记·后端