怎么通过Python语言实现远程控制无人售货柜呢?
本文描述了使用Python语言调用HTTP接口,实现控制无人售货柜,独立控制售货柜、格子柜的柜门。
可选用产品:可根据实际场景需求,选择对应的规格
序号 | 设备名称 | 厂商 |
---|---|---|
1 | 智能WiFi控制器4路[直流电压版] | 统软云物联 |
2 | 智能WiFi控制器8路[直流电压版] |
下面以每款产品为例,用编程实现远程:
1. 智能WiFi控制器4路[直流电压版]
提供4路直流输出,可接电磁锁、电插锁等;
广泛应用于自动保管柜,售货柜等场景;
同时提供4路开关量输出,可外接轻触开关;
4路分控,均可通过HTTP接口远程独立控制通断;
支持远程定时任务,支持自定义联动操作;
使用调用HTTP接口控制智能WiFi控制器4路[直流电压版]的代码
以设备控制(向设备下发命令)为例
全部接口文档复制
import http.client
conn = http.client.HTTPConnection("http://iot-api.unisoft.cn/{APP_ID}/device/control/?sign={sign}&ts={ts}")
payload = "device=设备ID&order=命令"
'''
device[字符串]:设备唯一ID,可传多个,可在控制台可查看,也可通过接口拉取;
order[json字符串]:命令,取值参考:
1. 线路1 - 可用值[1(通),0(断)]
示例[断], order为:{"power1":"0"}
2. 线路2 - 可用值[1(通),0(断)]
示例[断], order为:{"power2":"0"}
3. 线路3 - 可用值[1(通),0(断)]
示例[断], order为:{"power3":"0"}
4. 线路4 - 可用值[1(通),0(断)]
示例[断], order为:{"power4":"0"}
5. 批量控制 - 自定义
示例[线路1|3关], order为:{"batch":{"relay":[1,3],"power":0}}
6. 先通后断 - 自定义
示例[1秒,线路1|3], order为:{"point":{"relay":[1,3],"interval":500}}
7. 先断后通 - 自定义
示例[1秒,线路1|3], order为:{"reset":{"relay":[1,3],"interval":500}}
'''
headers = {
"X-APISpace-Token":"",
"Content-Type":""
}
conn.request("POST","/project-info/project-list", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
说明:{APP_ID}为您的应用ID(由平台生成),免费注册登录后,可在控制台查看;sign和ts的取值,请参考文档。
2. 智能WiFi控制器8路[直流电压版]
提供8路直流输出,可接电磁锁、电插锁等;
广泛应用于自动保管柜,售货柜等场景;
同时提供8路开关量输出,可外接轻触开关;
8路分控,均可通过HTTP接口远程独立控制通断;
支持远程定时任务,支持自定义联动操作;
使用调用HTTP接口控制智能WiFi控制器8路[直流电压版]的代码
以设备控制(向设备下发命令)为例
全部接口文档复制
import http.client
conn = http.client.HTTPConnection("http://iot-api.unisoft.cn/{APP_ID}/device/control/?sign={sign}&ts={ts}")
payload = "device=设备ID&order=命令"
'''
device[字符串]:设备唯一ID,可传多个,可在控制台可查看,也可通过接口拉取;
order[json字符串]:命令,取值参考:
1. 线路1 - 可用值[1(通),0(断)]
示例[断], order为:{"power1":"0"}
2. 线路2 - 可用值[1(通),0(断)]
示例[断], order为:{"power2":"0"}
3. 线路3 - 可用值[1(通),0(断)]
示例[断], order为:{"power3":"0"}
4. 线路4 - 可用值[1(通),0(断)]
示例[断], order为:{"power4":"0"}
5. 线路5 - 可用值[1(通),0(断)]
示例[断], order为:{"power5":"0"}
6. 线路6 - 可用值[1(通),0(断)]
示例[断], order为:{"power6":"0"}
7. 线路7 - 可用值[1(通),0(断)]
示例[断], order为:{"power7":"0"}
8. 线路8 - 可用值[1(通),0(断)]
示例[断], order为:{"power8":"0"}
9. 批量控制 - 可用值[{"power":1}(全开),{"power":0}(全关),{"relay":[1,3,5,7],"power":1}(线路1|3|5|7开),{"relay":[1,3,5,7],"power":0}(线路1|3|5|7关),{"relay":[2,4,6,8],"power":1}(线路2|4|6|8开),{"relay":[2,4,6,8],"power":0}(线路2|4|6|8关)]
示例[线路1|3|5|7关], order为:{"batch":{"relay":[1,3,5,7],"power":0}}
10. 先通后断 - 自定义
示例[1秒,线路1|3], order为:{"point":{"relay":[1,3],"interval":500}}
11. 先断后通 - 自定义
示例[1秒,线路1|3], order为:{"reset":{"relay":[1,3],"interval":500}}
'''
headers = {
"X-APISpace-Token":"",
"Content-Type":""
}
conn.request("POST","/project-info/project-list", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
说明:{APP_ID}为您的应用ID(由平台生成),免费注册登录后,可在控制台查看;sign和ts的取值,请参考文档。
产品参数对比
产品 | 版本 | 语音播报 | 输出 | 控制线路 |
---|---|---|---|---|
智能WiFi控制器4路[直流电压版] | 直流电压版 | 无 | 直流电 | 4路 |
智能WiFi控制器8路[直流电压版] | 直流电压版 | 无 | 直流电 | 8路 |
产品尺寸与走线
1. 智能WiFi控制器4路[直流电压版]接线示意图
走线示意
* 接线前请确保断路器上的电源已关闭
2. 智能WiFi控制器8路[直流电压版]接线示意图