首页 > 编程语言 >如何用Python语言实现远程控制电源开关

如何用Python语言实现远程控制电源开关

时间:2024-06-03 12:29:12浏览次数:24  
标签:自定义 示例 Python WiFi 远程 电源开关 插座 order ID

如何用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接线示意图

走线示意

* 接线前请确保断路器上的电源已关闭

标签:自定义,示例,Python,WiFi,远程,电源开关,插座,order,ID
From: https://blog.csdn.net/tyanzhiqi/article/details/139411397

相关文章

  • python 探测网络 并自动绘制ip拓扑图
    要实现网络探测并自动绘制IP拓扑图,你可以使用Python与相关库和工具来完成。一个流行的方法是使用Python的网络扫描库(例如Nmap或Scapy)来扫描网络,并使用网络图形库(例如NetworkX和Matplotlib)来绘制IP拓扑图。以下是一个粗略的步骤示例,展示了如何实现网络探测并自动绘制IP拓扑图:i......
  • python NetworkX和Matplotlib 来绘制IP拓扑图
    要使用NetworkX和Matplotlib来绘制IP拓扑图,首先需要使用NetworkX来构建图形,并在图形准备就绪后,使用Matplotlib绘制图形。以下是一个简单的示例,演示了如何使用NetworkX和Matplotlib来绘制IP拓扑图:importnetworkxasnximportmatplotlib.pyplotasplt#创建一个简单的示......
  • Python学习笔记(一)
    PS:这篇文章是以一个学习者的角度来汇总知识点以及教程,对于想学习Python的入门者也会比较友好,想学习python可以先收藏,我会慢慢持续更新。学艺不精,如有纰漏,敬请指正。需要安装配置python和Pycharm软件可以移步这篇文章,有详细的教程。传送门:python及pycharm安装配置-CSDN博客P......
  • python数据分析——数据预处理
    数据预处理前言一、查看数据数据表的基本信息查看info()示例查看数据表的大小shape()示例数据格式的查看type()dtype()dtypes()示例一示例二查看具体的数据分布describe()示例二、缺失值处理缺失值检查isnull()示例缺失值删除dropna()示例一示例二缺失值替换/填充fillna()inte......
  • 代码随想录算法训练营Day59 | 503.下一个更大元素II、42. 接雨水 | Python | 个人记录
    注:Day58是休息日。本文目录503.下一个更大元素II做题看文章42.接雨水做题看文章以往忽略的知识点小结个人体会503.下一个更大元素II代码随想录:503.下一个更大元素IILeetcode:503.下一个更大元素II做题和之前的739.每日温度一样,只不过可以循环,我这边是多遍历一......
  • 取STL最大连通区域并写入体积信息python实现
    importtrimeshimportnumpyasnpimportargparsefromstlimportMeshdefmain(input_file,output_file,num,volume_info):#加载STL文件your_mesh=trimesh.load_mesh(input_file)#分割成连通域connected_components=your_mesh.split()#......
  • python对接zabbix API
    frompyzabbix.apiimportZabbixAPIwithZabbixAPI(url='http://192.168.1.10:8080',user='admin',password='admin')aszapi:hosts=zapi.host.get(#获取所有字段output=["hostid","host"],......
  • python对excel文件中指定表格的指定列数据进行去重复操作。
    importpandasaspd#读取Excel文件df_all=pd.read_excel('域名管理系统.xlsx',sheet_name=None,engine='openpyxl')#确保'01流水'表存在if'01流水'indf_all:#提取第1列第2行至第1000行的数据并去重df_two=df_all['01流水']un......
  • python函数
    一、什么是函数定义:函数是组织好,可重复使用,用来实现单一,或关联功能的代码段二、pycharm中的表结构项目,包(init)或目录,py文件,py文件包含多个函数或类等三、函数的有哪些优点?1、降低代码冗余2、增加代码的复用性,提高开发效率3、提高程序的拓展性4、封装:就是把代码片段放在函......
  • 【Python】成功解决TypeError: string indices must be integers
    【Python】成功解决TypeError:stringindicesmustbeintegers 下滑即可查看博客内容......