如何用Python语言实现远程控制电源开关呢?
本文描述了使用Python语言调用HTTP接口,实现控制电源开关,通过控制电源开关,从而控制电器设备。
可选用产品:可根据实际场景需求,选择对应的规格
序号 | 设备名称 | 厂商 |
---|---|---|
1 | 智能WiFi墙壁插座10A | 统软云物联 |
2 | 智能WiFi墙壁插座16A | |
3 | 智能WiFi插座10A | |
4 | 智能WiFi插座16A |
下面以每款产品为例,用编程实现远程:
1. 智能WiFi墙壁插座10A
标准86型底盒安装,可直接平行替换原有墙壁插座;
2位5孔,总额定功率2000W;
按钮动作可自定义、可屏蔽;
功率计量版实时上报计量数据;
HTTP接口远程控制通断;
支持远程定时任务,支持自定义联动操作;
使用Python语言调用HTTP接口控制智能WiFi墙壁插座10A的代码
以设备控制(向设备下发命令)为例
全部接口文档复制
import http.client
import urllib.parse
conn = http.client.HTTPConnection("iot-api.unisoft.cn")
'''
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"}
'''
# 编码payload
payload = urllib.parse.urlencode({
'device': '设备ID',
'order': '{\"power\":\"1\"}'
})
headers = {
"X-APISpace-Token":"",
"Content-Type":""
}
conn.request("POST","/{APP_ID}/device/control/?sign={sign}&ts={ts}", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
说明:{APP_ID}为您的应用ID(由平台生成),免费注册登录后,可在控制台查看;sign和ts的取值,请参考文档。
2. 智能WiFi墙壁插座16A
标准86型底盒安装,可直接平行替换原有16A墙壁插座;
1位3孔,额定功率3500W;
可接2匹内空调插头;
按钮动作可自定义、可屏蔽;
功率计量版实时上报计量数据;
HTTP接口远程控制通断;
支持远程定时任务,支持自定义联动操作;
使用Python语言调用HTTP接口控制智能WiFi墙壁插座16A的代码
以设备控制(向设备下发命令)为例
全部接口文档复制
import http.client
import urllib.parse
conn = http.client.HTTPConnection("iot-api.unisoft.cn")
'''
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"}
'''
# 编码payload
payload = urllib.parse.urlencode({
'device': '设备ID',
'order': '{\"power\":\"1\"}'
})
headers = {
"X-APISpace-Token":"",
"Content-Type":""
}
conn.request("POST","/{APP_ID}/device/control/?sign={sign}&ts={ts}", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
说明:{APP_ID}为您的应用ID(由平台生成),免费注册登录后,可在控制台查看;sign和ts的取值,请参考文档。
3. 智能WiFi插座10A
体积小巧,无需走线,标准国标3pin插头;
2位5孔,总额定功率2000W;
按钮动作可自定义、可屏蔽;
功率计量版实时上报计量数据;
HTTP接口远程控制通断;
;
支持远程定时任务,支持自定义联动操作;
使用Python语言调用HTTP接口控制智能WiFi插座10A的代码
以设备控制(向设备下发命令)为例
全部接口文档复制
import http.client
import urllib.parse
conn = http.client.HTTPConnection("iot-api.unisoft.cn")
'''
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"}
'''
# 编码payload
payload = urllib.parse.urlencode({
'device': '设备ID',
'order': '{\"power\":\"1\"}'
})
headers = {
"X-APISpace-Token":"",
"Content-Type":""
}
conn.request("POST","/{APP_ID}/device/control/?sign={sign}&ts={ts}", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
说明:{APP_ID}为您的应用ID(由平台生成),免费注册登录后,可在控制台查看;sign和ts的取值,请参考文档。
4. 智能WiFi插座16A
体积小巧,无需走线,标准国标3pin插头;
1位3孔,额定功率3500W;
可接大一匹内空调插头;
按钮动作可自定义、可屏蔽;
功率计量版实时上报计量数据;
HTTP接口远程控制通断;
;
支持远程定时任务,支持自定义联动操作;
使用Python语言调用HTTP接口控制智能WiFi插座16A的代码
以设备控制(向设备下发命令)为例
全部接口文档复制
import http.client
import urllib.parse
conn = http.client.HTTPConnection("iot-api.unisoft.cn")
'''
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"}
'''
# 编码payload
payload = urllib.parse.urlencode({
'device': '设备ID',
'order': '{\"power\":\"1\"}'
})
headers = {
"X-APISpace-Token":"",
"Content-Type":""
}
conn.request("POST","/{APP_ID}/device/control/?sign={sign}&ts={ts}", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
说明:{APP_ID}为您的应用ID(由平台生成),免费注册登录后,可在控制台查看;sign和ts的取值,请参考文档。
产品参数对比
产品 | 版本 | 安装方式 | 额定功率 |
---|---|---|---|
智能WiFi墙壁插座10A | 不带功率计量 | 标准86型底盒安装 | 2200W |
带功率计量 | 标准86型底盒安装 | 2200W | |
智能WiFi墙壁插座16A | 不带功率计量 | 标准86型底盒安装 | 3500W |
带功率计量 | 标准86型底盒安装 | 3500W | |
智能WiFi插座10A | 不带功率计量 | 2p插头|即插即用 | 2200W |
功率计量版 | 2p插头|即插即用 | 2200W | |
智能WiFi插座16A | 不带功率计量 | 2p插头|即插即用 | 3500W |
功率计量版 | 2p插头|即插即用 | 3500W |
产品尺寸与走线
1. 智能WiFi墙壁插座10A接线示意图
走线示意
* 接线前请确保断路器上的电源已关闭
2. 智能WiFi墙壁插座16A接线示意图