怎样用Python语言实现远程控制插座呢?
本文描述了使用Python语言调用HTTP接口,实现远程控制插座,即插即用,先插入插座,再接电器,实现远程控制。
可选用产品:可根据实际场景需求,选择对应的规格
序号 | 设备名称 | 厂商 |
---|---|---|
1 | 智能墙壁插座10A | 友友物联 |
2 | 智能墙壁插座16A | |
3 | 智能插座10A | |
4 | 智能插座16A |
下面以每款产品为例,用Python语言编程实现远程控制插座:
1. 智能墙壁插座10A
标准86型底盒安装,可直接平行替换原有墙壁插座;
2位5孔,总额定功率2000W;
按钮动作可自定义、可屏蔽;
功率计量版实时上报计量数据;
HTTP接口远程控制通断;
支持远程定时任务,支持自定义联动操作;
使用Python语言调用HTTP接口控制智能墙壁插座10A的代码
以设备控制(向设备下发命令)为例
全部接口文档复制
import http.client
import urllib.parse
conn = http.client.HTTPConnection("api.yoyoiot.cn")
'''
device[字符串]:设备唯一ID,可传多个,可在控制台可查看,也可通过接口拉取;
order[json字符串]:命令,取值参考:
1. 线路 - 可用值[1(开),0(关)]
示例[关], order为:{"power":"0"}
2. 先通后断 - 自定义
示例[3秒], order为:{"point":"3000"}
3. 先断后通 - 自定义
示例[3秒], order为:{"reset":"3000"}
'''
# 编码payload
payload = urllib.parse.urlencode({
'device': '设备ID',
'order': '{\"power\":\"1\"}'
})
headers = {
"X-APISpace-Token":"",
"Content-Type":""
}
conn.request("POST","/{AppID}/device/control/?sign={sign}&ts={ts}", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
说明:{AppID}为您的应用ID(由平台生成),免费注册登录后,可在控制台查看;sign和ts的取值,请参考文档。
2. 智能墙壁插座16A
标准86型底盒安装,可直接平行替换原有16A墙壁插座;
1位3孔,额定功率3500W;
可接2匹内空调插头;
按钮动作可自定义、可屏蔽;
功率计量版实时上报计量数据;
HTTP接口远程控制通断;
支持远程定时任务,支持自定义联动操作;
使用Python语言调用HTTP接口控制智能墙壁插座16A的代码
以设备控制(向设备下发命令)为例
全部接口文档复制
import http.client
import urllib.parse
conn = http.client.HTTPConnection("api.yoyoiot.cn")
'''
device[字符串]:设备唯一ID,可传多个,可在控制台可查看,也可通过接口拉取;
order[json字符串]:命令,取值参考:
1. 线路 - 可用值[1(开),0(关)]
示例[关], order为:{"power":"0"}
2. 先通后断 - 自定义
示例[3秒], order为:{"point":"3000"}
3. 先断后通 - 自定义
示例[3秒], order为:{"reset":"3000"}
'''
# 编码payload
payload = urllib.parse.urlencode({
'device': '设备ID',
'order': '{\"power\":\"1\"}'
})
headers = {
"X-APISpace-Token":"",
"Content-Type":""
}
conn.request("POST","/{AppID}/device/control/?sign={sign}&ts={ts}", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
说明:{AppID}为您的应用ID(由平台生成),免费注册登录后,可在控制台查看;sign和ts的取值,请参考文档。
3. 智能插座10A
体积小巧,无需走线,标准国标3pin插头;
2位5孔,总额定功率2000W;
按钮动作可自定义、可屏蔽;
功率计量版实时上报计量数据;
HTTP接口远程控制通断;
;
支持远程定时任务,支持自定义联动操作;
使用Python语言调用HTTP接口控制智能插座10A的代码
以设备控制(向设备下发命令)为例
全部接口文档复制
import http.client
import urllib.parse
conn = http.client.HTTPConnection("api.yoyoiot.cn")
'''
device[字符串]:设备唯一ID,可传多个,可在控制台可查看,也可通过接口拉取;
order[json字符串]:命令,取值参考:
1. 开关 - 可用值[1(开),0(关)]
示例[关], order为:{"power":"0"}
2. 先通后断 - 可用值[1000(1秒),2000(2秒),3000(3秒),5000(5秒)]
示例[3秒], order为:{"point":"3000"}
3. 先断后通 - 可用值[1000(1秒),2000(2秒),3000(3秒),5000(5秒)]
示例[3秒], order为:{"reset":"3000"}
'''
# 编码payload
payload = urllib.parse.urlencode({
'device': '设备ID',
'order': '{\"power\":\"1\"}'
})
headers = {
"X-APISpace-Token":"",
"Content-Type":""
}
conn.request("POST","/{AppID}/device/control/?sign={sign}&ts={ts}", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
说明:{AppID}为您的应用ID(由平台生成),免费注册登录后,可在控制台查看;sign和ts的取值,请参考文档。
4. 智能插座16A
体积小巧,无需走线,标准国标3pin插头;
1位3孔,额定功率3500W;
可接大一匹内空调插头;
按钮动作可自定义、可屏蔽;
功率计量版实时上报计量数据;
HTTP接口远程控制通断;
;
支持远程定时任务,支持自定义联动操作;
使用Python语言调用HTTP接口控制智能插座16A的代码
以设备控制(向设备下发命令)为例
全部接口文档复制
import http.client
import urllib.parse
conn = http.client.HTTPConnection("api.yoyoiot.cn")
'''
device[字符串]:设备唯一ID,可传多个,可在控制台可查看,也可通过接口拉取;
order[json字符串]:命令,取值参考:
1. 开关 - 可用值[1(打开),0(关闭)]
示例[关闭], order为:{"power":"0"}
2. 先通后断 - 可用值[1000(1秒),2000(2秒),3000(3秒),5000(5秒)]
示例[3秒], order为:{"point":"3000"}
3. 先断后通 - 可用值[1000(1秒),2000(2秒),3000(3秒),5000(5秒)]
示例[3秒], order为:{"reset":"3000"}
'''
# 编码payload
payload = urllib.parse.urlencode({
'device': '设备ID',
'order': '{\"power\":\"1\"}'
})
headers = {
"X-APISpace-Token":"",
"Content-Type":""
}
conn.request("POST","/{AppID}/device/control/?sign={sign}&ts={ts}", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
说明:{AppID}为您的应用ID(由平台生成),免费注册登录后,可在控制台查看;sign和ts的取值,请参考文档。
产品参数对比
产品 / 版本 参数 | 智能墙壁插座10A | 智能墙壁插座16A | 智能插座10A | 智能插座16A | ||||
---|---|---|---|---|---|---|---|---|
不带功率计量 | 带功率计量 | 不带功率计量 | 带功率计量 | 不带功率计量 | 功率计量版 | 不带功率计量 | 功率计量版 | |
外壳材质 | 塑料 | 塑料 | 塑料 | 塑料 | 塑料 | 塑料 | 塑料 | 塑料 |
产品尺寸 | 宽:86mm;长:86mm;厚:31.1mm | 宽:86mm;长:86mm;厚:31.1mm | 宽:86mm;长:86mm;厚:31.1mm | 宽:86mm;长:86mm;厚:31.1mm | 宽:50mm;长:59.3mm;厚:49mm | 宽:50mm;长:59.3mm;厚:49mm | 宽:51mm;长:64mm;厚:54mm | 宽:51mm;长:64mm;厚:54mm |
产品净重 | 120g | 120g | 120g | 120g | 80g | 80g | 80g | 80g |
产品颜色 | 白色 | 白色 | 白色 | 白色 | 白色 | 白色 | 白色 | 白色 |
工作电压 | 100-250V AC(交流 / 市电) | 100-250V AC(交流 / 市电) | 100-250V AC(交流 / 市电) | 100-250V AC(交流 / 市电) | 100-250V AC(交流 / 市电) | 100-250V AC(交流 / 市电) | 100-250V AC(交流 / 市电) | 100-250V AC(交流 / 市电) |
额定电流 | MAX 10A | MAX 10A | MAX 16A | MAX 16A | MAX 10A | MAX 10A | MAX 16A | MAX 16A |
负载功率 | 两个插孔共 MAX 2200W | 两个插孔共 MAX 2200W | MAX 3500W | MAX 3500W | 两位插位共 MAX 2200W | 两位插位共 MAX 2200W | MAX 3500W | MAX 3500W |
待机功耗 | 0.4(断开) - 1(接通 / 无负载)W | 0.4(断开) - 1(接通 / 无负载)W | 0.4(断开) - 1(接通 / 无负载)W | 0.4(断开) - 1(接通 / 无负载)W | 0.6(断) - 0.8(通 / 无负载)W | 0.6(断) - 0.8(通 / 无负载)W | 0.4(断开) - 1(接通 / 无负载)W | 0.4(断开) - 1(接通 / 无负载)W |
功率计量 | 无 | 电压、电流、功率 | ||||||
安装方式 | 标准86型底盒安装 | 标准86型底盒安装 | 标准86型底盒安装 | 标准86型底盒安装 | 2p插头|即插即用 | 2p插头|即插即用 | 3pin插头|即插即用 | 3Pin插头|即插即用 |
无线连接 | WiFi IEEE 802.11 b / g / n 2.4GHz | WiFi IEEE 802.11 b / g / n 2.4GHz | WiFi IEEE 802.11 b / g / n 2.4GHz | WiFi IEEE 802.11 b / g / n 2.4GHz | WiFi IEEE 802.11 b / g / n 2.4GHz | WiFi IEEE 802.11 b / g / n 2.4GHz | WiFi IEEE 802.11 b / g / n 2.4GHz | WiFi IEEE 802.11 b / g / n 2.4GHz |
产品外壳 | 防火V0级PC,耐高温,符合安规标准 | 防火V0级PC,耐高温,符合安规标准 | 防火V0级PC,耐高温,符合安规标准 | 防火V0级PC,耐高温,符合安规标准 | 防火V0级PC,耐高温,符合安规标准 | 防火V0级PC,耐高温,符合安规标准 | 防火V0级PC,耐高温,符合安规标准 | 防火V0级PC,耐高温,符合安规标准 |
包装清单 | 智能墙壁插座*1 、 螺丝钉*2 | 智能墙壁插座*1 、 螺丝钉*2 | 智能墙壁插座*1 、螺丝钉*2 | 智能墙壁插座*1 、螺丝钉*2 | 智能插座*1 | 智能插座*1 | 智能插座*1 | 智能插座*1 |
产品尺寸与走线
1. 智能墙壁插座10A接线示意图
走线示意
* 接线前请确保断路器上的电源已关闭
2. 智能墙壁插座16A接线示意图