硬件监测API
约 1727 字大约 6 分钟
2021-05-27
这里针对硬件监测软件进行API说明。通信协议支持 MQTT
协议和 Websocket
协议。
Websocket
协议,请参考开机卡API 开机卡API。
准备
名称 | 必填 | 说明 | 获取途径 |
---|---|---|---|
token | 是 | 设备token | 您要控制的设备->右上角齿轮->网络信息->TOKEN |
key | 是 | 用户key | 我的->关于->开发->Key |
secret | 是 | 用户TOKEN | 我的->关于->开发->Secret |
以上参数也可以从硬件监测软件目录下的 config.json
文件中获取。
config.json
{
...
"Device": {
"UserToken": "xxxx...",
"DeviceType": "pcHealth1",//设备类型
"DeviceToken": "7f68d81a6f1d********cb7487860e212c",//设备 token
"AuthKey": "d82ebc98453ded********d8c73149dda745ed0b2",// 用户 key
"AuthSecret": "69e6328bcc805********884347561e50de40311e" // 用户 secret
},
...
}
连接服务器
名称 | 必填 | 说明 |
---|---|---|
host | broker.iot.sumsg.com | 服务器地址 |
port | 1315 | 端口 |
client ID | 客户端 ID | win_自定义字符串 |
Username | 用户名 | 准备中提到的 key |
Password | 密码 | 准备中提到的 secret |
ssl | true | 使用 SSL, 必须为 true |
MQTT Version | 3.1.1 | 支持的MQTT 版本 |
Clean Session | true | |
Last will Topic | 主题 | 同订阅主题 |
Last will Payload | 遗言 |
使用MQTTX客户端连接图示:
使用MQTTX客户端订阅图示:
订阅主题
格式: /su/设备类型/设备token/server
QoS: 0
如果在开机卡中绑定的设备类型是 pcSw3
, 直接绑定的设备类型是 pcHealth1
示例:
开机卡中绑定订阅主题
su/pcSw3/7f68d81a6f1d********cb7487860e212c/server
直接绑定订阅主题
su/pcHealth1/7f68d81a6f1d********cb7487860e212c/server
订阅成功后,默认会发送首页数据:
参考: 获取APP首页数据
发布主题
同 订阅主题
设备验证字段
生成格式: md5(token + productName + "M2PC")
md5("7f68d81a6f1d********cb7487860e212cpcHealth1M2PC");
获取指定数据
提示
该指令执行一次, 以后会按该指令返回数据, 不需要重复执行。
{
"t": "M2PC",// 指令
"s": "start", // 数据开始
"type": "all", // 参考: 指令类型
"tk": "参考[设备验证字段]计算方法" // 设备验证字段
}
指令类型
type | 说明 |
---|---|
home | 获取APP首页数据 |
all | 获取所有数据 |
cpu | 获取CPU数据 |
gpu | 获取GPU数据 |
hdd | 获取硬盘数据 |
mbd | 获取主板数据 |
net | 获取网络数据 |
ram | 获取内存数据 |
batt | 获取电池数据 |
os | 获取操作系统数据 |
获取APP首页数据
发送数据:
{"t":"M", "tk":"设备验证字段"}
接收数据:
{
"t": "M",//数据类型
"ps": 1,//开机状态 0 为关机, 1 为开机
"cpu": 19.1,//CPU使用率(0-100)%
"ram": 51,//内存使用率(0-100)%
"hdd": [
83.25,//硬盘使用率(0-100)%
2365087,//硬盘总大小
0//硬盘温度(默认第一个磁盘)
]
}
获取所有数据
发送数据:
{"t":"M2PC", "s":"start", "type":"all", "tk":"设备验证字段"}
接收数据:
{
"t": "PC2M",//数据类型
"v": "1.0.2.8", //PC客户端版本号
"pf": "windows", //系统平台 (macos, windows, linux)
"CPU": [
36.33, //CPU使用率(0-100)%
68 //CPU温度 单位摄氏度
],
"GPU": [
1, //GPU使用率(0-100)%
52 //GPU温度 单位摄氏度
],
"RAM": [
51,// 内存使用率(0-100)%
24,// 内存总大小 单位G
12 // 内存剩余大小 单位G
],
"HDD": [
83.24,// 硬盘使用率(0-100)%
2365087, // 硬盘总大小 单位MB
396300, // 硬盘剩余大小 单位MB
0,// 硬盘读写速度 单位MB/s
0 // 硬盘读写时间 单位ms
],
"Network": [
19196123648, /// 网络接收字节数
23611559936 // 网络发送字节数
],
"MBD": [
56 // 主板温度
],
"Uptime": [
796752, // 运行时间 单位秒
0, // 5 分钟负载
0, // 10 分钟负载
0, // 15 分钟负载
"Microsoft Windows NT 10.0.22000.0", // 操作系统版本
"6.0.36" // 操作系统版本号
]
}
获取CPU数据
发送数据:
{"t":"M2PC", "s":"start", "type":"cpu", "tk":"设备验证字段"}
接收数据:
{
"t": "PC2M",// 命令
"v": "1.0.2.8", // 版本
"pf": "windows", // 操作系统
"CPU": [
{
"Name": "Intel Core i7-4790K", // cpu 名称
"CoreNum": 0, // cpu 核心数
"Kernel": "64",// cpu 架构
"Temp": 60, // cpu 温度
"Power": 35.24, // cpu 功耗 单位W
"Load": 14.47 // cpu 负载
}
]
}
获取GPU数据
发送数据:
{"t":"M2PC", "s":"start", "type":"gpu", "tk":"设备验证字段"}
接收数据:
{
"t": "PC2M",// 类型
"v": "1.0.2.8", // 版本
"pf": "windows", // 操作系统
"GPU": [
{
"Name": "NVIDIA GeForce RTX 2070 SUPER", // gpu 名称
"Temp": 52,// gpu 温度
"Power": 0,// gpu 功耗 单位W
"Load": 1, // gpu 负载
"Memory": {
"Total": 8192, // 总内存
"Free": 7470, // 可用内存
"Used": 721 // 使用内存
}
}
]
}
获取硬盘数据
发送数据:
{"t":"M2PC", "s":"start", "type":"hdd", "tk":"设备验证字段"}
接收数据:
{
"t": "PC2M",
"v": "1.0.2.8",
"pf": "windows",
"HDD": [
{
"Letter": "C", // 盘符
"Label": "windows11", // 盘符标签
"Format": "NTFS", // 盘符格式
"Health": "good", // 硬盘健康状态
"Total": 457360, // 硬盘总大小
"Free": 216710, // 硬盘可用大小
"Name": "/", // 硬盘名称
"Temp": -99, // 温度 -99 表示不支持
"PHO": -99 // 硬盘使用时间 -99 表示不支持
},
...
]
}
获取主板数据
发送数据:
{"t":"M2PC", "s":"start", "type":"mbd", "tk":"设备验证字段"}
接收数据:
{
"t": "PC2M",
"v": "1.0.2.8",
"pf": "windows",
"MBD": [
{
"Name": "ASUS Z97-K R2.0", // 主板名称
"Temp": 55, // 主板温度
"Fan": [
1715, // 风扇转速1
895, // 风扇转速2
959, // 风扇转速3
0, // 风扇转速4
0, // 风扇转速5
0 // 风扇转速6
]
}
]
}
获取网络数据
发送数据:
{"t":"M2PC", "s":"start", "type":"net", "tk":"设备验证字段"}
接收数据:
{
"t": "PC2M",
"v": "1.0.2.8",
"pf": "windows",
"Network": [
{
"Name": "以太网 3",
"Upload": 1634204160,// 上传速度 单位字节/秒
"Download": 9632109568 // 下载速度 单位字节/秒
},
{
"Name": "以太网 4",
"Upload": 0,
"Download": 0
}
]
}
获取内存数据
发送数据:
{"t":"M2PC", "s":"start", "type":"ram", "tk":"设备验证字段"}
接收数据:
{
"t": "PC2M",
"v": "1.0.2.8",
"pf": "windows",
"RAM": [
52, // 内存使用率 单位 %
24, // 内存总大小 单位 GB
12 // 内存可使用大小 单位 GB
]
}
获取电池数据
发送数据:
{"t":"M2PC", "s":"start", "type":"batt", "tk":"设备验证字段"}
接收数据:
{
"t": "PC2M",
"v": "1.0.2.8",
"pf": "windows",
"Network": [
{
"isCharging": true, // 是否正在充电
"per": 12,// 电量百分比
"fullyCharged": false ,// 是否已充满电
"health": 99, // 电池健康度
"cycleCount": 300, // 电池充电次数
"acConnected": true, // 是否连接电源
"acWatts": 30, // 电源瓦特数
},
...
]
}
解绑设备
执行该指令, 设备将被解绑
{
"t": "M2PC",// 指令
"s": "unbind", // 指令类型
"tk": "参考[设备验证字段]计算方法" // 设备验证字段
}