Smart Dashboard
设备监控
实时监控多个设备传感器快照、在线状态与继电器控制。
实时状态列表
动态渲染所有配置的设备状态、温湿度数据与继电器开关。
多设备映射向导
通过向导增加或删除物理设备,并定义温湿度与继电器的 MQTT 订阅/发布主题。
正在加载配置中...
资产资料
尚未选择设备
维护记录
0 条记录
| 时间 | 主题 | 类型 | 执行人 | 下次维护 | 操作 |
|---|---|---|---|---|---|
| 暂无维护记录 | |||||
故障工单
0 个待处理
| 故障时间 | 主题 | 优先级 | 状态 | 处理人 | 更新时间 | 操作 |
|---|---|---|---|---|---|---|
| 暂无故障工单 | ||||||
活跃主题自动嗅探发现
自动捕获 Broker 中存在的、但当前系统未配置的活跃主题消息。可直接一键导入为设备映射。
| 发现的 Topic 主题 | 捕获消息数 | 最近时间 | 最近上报载荷 | 快捷操作 |
|---|---|---|---|---|
| 暂无嗅探到新主题(请确保配置中开启了自动发现主题通配符) | ||||
规则与场景
按设备状态自动执行继电器动作,或一键运行多设备场景。
场景
把多个继电器动作组合为一个手动任务。
正在加载场景...
触发规则
条件只在从不满足变为满足时触发,冷却期内不会重复执行。
正在加载规则...
执行记录
“命令已排队”不代表设备已回报确认。
| 时间 | 来源 | 发起人 | 结果 | 设备确认 |
|---|---|---|---|---|
| 正在加载执行记录... | ||||
趋势与导出中心
筛选并分析 MongoDB 中已同步的所有历史采样数据。
请先在右上角下拉框中选择要分析的物理设备。
| 采集时间 | 温度数值 (°C) | 湿度数值 (%) |
|---|---|---|
| 请在上方筛选框选择物理设备以加载历史采样明细列表 | ||
日志审计时间轴
记录最新的物理上报、设备控制交互与网络重连捕获流。
- 等待事件流载入中...
API 密钥授权 (API Keys)
生成并维护供外部系统(如微信小程序)免 Cookie 安全长连 API 与下发指令的凭证。
| 密钥备注 | Key ID | Token 预览 | 权限范围 | 调用频次 | 最后活跃时间 | 创建时间 | 操作 |
|---|---|---|---|---|---|---|---|
|
|
|||||||
生成新授权密钥
新密钥已生成
完整 token 只展示这一次,请立即复制到安全位置。
sk_mqttapi_your_token
开发者 API 调用说明
供微信小程序、大屏或其它第三方系统快速对接物联网 API 的文档与代码模板。 AI 友好型 Markdown 链接 (公开免签)
全局鉴权请求头 (Authentication Header)
所有 API 请求必须携带以下 HTTP 校验头。复制下方代码时,系统已自动为您替换为了上方生成的最新 API Key(若无则显示默认占位符):
Authorization: Bearer sk_mqttapi_your_token
curl -X GET "http://localhost:22102/api/devices" \
-H "Authorization: Bearer sk_mqttapi_your_token"
curl -X POST "http://localhost:22102/api/devices/esp8266_living/relays/relay1/control" \
-H "Authorization: Bearer sk_mqttapi_your_token" \
-H "Content-Type: application/json" \
-d '{"status": "on"}'
•
limit: 获取条数上限,默认 100,允许范围 1 至 500。•
range: 历史时间区间,可选 1h (1小时)、24h (24小时)、7d (7天)。若传入则优先使用时间段筛选且强制上限限制 500 条。
# 示例 1: 获取最新 100 条历史数据
curl -X GET "http://localhost:22102/api/devices/esp8266_living/history" \
-H "Authorization: Bearer sk_mqttapi_your_token"
# 示例 2: 查询最近 24 小时内的采样记录并返回
curl -X GET "http://localhost:22102/api/devices/esp8266_living/history?range=24h" \
-H "Authorization: Bearer sk_mqttapi_your_token"
fetch("http://localhost:22102/api/devices", {
method: "GET",
headers: {
"Authorization": "Bearer sk_mqttapi_your_token"
}
})
.then(res => res.json())
.then(data => console.log(data));
fetch("http://localhost:22102/api/devices/esp8266_living/relays/relay1/control", {
method: "POST",
headers: {
"Authorization": "Bearer sk_mqttapi_your_token",
"Content-Type": "application/json"
},
body: JSON.stringify({ status: "on" }) // "on" 闭合 / "off" 断开
})
.then(res => res.json())
.then(data => console.log(data));
•
limit: 获取条数上限,默认 100,允许范围 1 至 500。•
range: 历史时间区间,可选 1h (1小时)、24h (24小时)、7d (7天)。若传入则优先使用时间段筛选且强制上限限制 500 条。
// 示例: 使用 fetch 发送 GET 请求,拉取最近 24 小时采样温湿度数据
fetch("http://localhost:22102/api/devices/esp8266_living/history?range=24h", {
method: "GET",
headers: {
"Authorization": "Bearer sk_mqttapi_your_token"
}
})
.then(res => res.json())
.then(data => {
// 返回数组,格式如: [{ temp: 24.5, hum: 60, created_at: 1783068000000 }, ...]
console.log("采样历史记录数:", data.length);
console.log(data);
});