文章目录
数据库后端接口测试报告
说明
1.本项目基于lianwuOS官方的SDK源码建立而来,为stringboot项目(java版),连接lianwu系统自带的数据库进行数据保存并利用接口进行传输,前端利用html在浏览器构造页面。
问题
本项目的数据来源自lianwu系统,而本人发现,lianwu的网关启动器只提供了以下传感器,如下图:

1.也就是说,传感器只有提供温度,CO2浓度,烟雾浓度的测试,其他的数据从何而来,对lianwu的网关进行关闭,发现数据都消失了,说明数据都确实来自lianwu系统,进一步的测试,只有对后端接口进行测试
2.且本人还发现了一个问题,就是在动态的数据变化中,温度和烟雾浓度的数据长期有雷同的情况,所以怀疑二者共用了一个后端接口,所以同样要进行测试才能得出下一步结论,并制定解决方案。
3.本人首先去项目里查看接口所在,并绘制了表格,表格图如下:

它们都是http://localhost:8080/下的后端接口
测试工具
对于后端接口的测试,国内常用的工具是postman或者是Apifox,这二者都是后端接口测试的利器,本次测试本人选取的是Apifox.
测试过程
问题一的探究
通过本人在Apifox上新建项目,并进行测试,图片如下:

通过这里的测试来看,首先查看的是日志最上面的这一段 JSON 数据:
{
"sensors": [
{
"unit": "℃",
"decimalPlaces": 2,
"globalId": 1,
"name": "温度",
"simulationType": "0",
"isVirtual": "0",
"value": 68.087886
},
{
"unit": "%RH",
"decimalPlaces": 2,
"globalId": 2,
"name": "湿度",
"simulationType": "0",
"isVirtual": "0",
"value": 0.050492802
},
{
"unit": "ppm",
"decimalPlaces": 2,
"globalId": 3,
"name": "CO2浓度",
"simulationType": "0",
"isVirtual": "0",
"value": 1799.9996
},
{
"unit": "ppm",
"decimalPlaces": 2,
"globalId": 4,
"name": "烟雾浓度",
"simulationType": "0",
"isVirtual": "0",
"value": 68.087886
},
{
"unit": "Lux",
"decimalPlaces": 2,
"globalId": 5,
"name": "光照强度",
"simulationType": "0",
"isVirtual": "0",
"value": 0.032527351
},
{
"unit": "hPa",
"decimalPlaces": 2,
"globalId": 6,
"name": "气压",
"simulationType": "0",
"isVirtual": "0",
"value": 1435.2241
}
],
"data": {
"hum": 0.050492802,
"temp": 68.087886,
"light": 0.032527351,
"co2": 1799.9996,
"smoke": 68.087886,
"pressure": 1435.2241,
"time": "2026年7月30日 11:25:19"
},
"alarms": [
"║ 当前烟雾浓度: 68.09 ppm ║",
"║ 安全阈值: 50.00 ppm ║",
"║ 超 出: 18.09 ppm ║",
"║ 危 险 等 级: 🔴 严重 ║",
"╚══════════════════════════════════════════════════════════╝",
"╔══════════════════════════════════════════════════════════╗",
"║ ⚠️ 传感器阈值告警 - 温度异常 ⚠️ ║",
"╠══════════════════════════════════════════════════════════╣",
"║ 告警时间: 2026年7月30日 11:25:04 ",
"║ 当前温度: 68.09 ║",
"║ 安全阈值: 65.00 ℃ ║",
"║ 超 出: 3.09 ℃ ║",
"║ 危 险 等 级: 🔴 严重 ║",
"╚══════════════════════════════════════════════════════════╝",
"╔══════════════════════════════════════════════════════════╗",
"║ ⚠️ 传感器阈值告警 - CO2浓度异常 ⚠️ ║",
"╠══════════════════════════════════════════════════════════╣",
"║ 告警时间: 2026年7月30日 11:25:04 ║",
"║ 当前CO2浓度: 1425.53 ppm ║",
"║ 安全阈值: 1000.00 ppm ║",
"║ 超 出: 425.53 ppm ║",
"║ 危 险 等 级: 🟠 注意 ║",
"╚══════════════════════════════════════════════════════════╝",
"╔══════════════════════════════════════════════════════════╗",
"║ ⚠️ 传感器阈值告警 - 烟雾浓度异常 ⚠️ ║",
"╠══════════════════════════════════════════════════════════╣",
"║ 告警时间: 2026年7月30日 11:25:04 ║",
"║ 当前烟雾浓度: 68.09 ppm ║",
"║ 安全阈值: 50.00 ppm ║",
"║ 超 出: 18.09 ppm ║",
"║ 危 险 等 级: 🔴 严重 ║",
"╚══════════════════════════════════════════════════════════╝",
"╔══════════════════════════════════════════════════════════╗",
"║ ⚠️ 传感器阈值告警 - 气压异常 ⚠️ ║",
"╠══════════════════════════════════════════════════════════╣",
"║ 告警时间: 2026年7月30日 11:25:04 ║",
"║ 当前气压: 1515.66 hPa ",
"║ 安全阈值: 1100.00 hPa ║",
"║ 超 出: 415.66 hPa ",
"║ 危 险 等 级: 🟠 注意 ",
"╚══════════════════════════════════════════════════════════╝",
"╔══════════════════════════════════════════════════════════╗",
"║ ⚠️ 传感器阈值告警 - 温度异常 ⚠️ ║",
"╠══════════════════════════════════════════════════════════╣",
"║ 告警时间: 2026年7月30日 11:25:05 ",
"║ 当前温度: 68.09 ║",
"║ 安全阈值: 65.00 ℃ ║",
"║ 超 出: 3.09 ℃ ║",
"║ 危 险 等 级: 🔴 严重 ║",
"╚══════════════════════════════════════════════════════════╝",
"╔══════════════════════════════════════════════════════════╗",
"║ ⚠️ 传感器阈值告警 - CO2浓度异常 ⚠️ ║",
"╠══════════════════════════════════════════════════════════╣",
"║ 告警时间: 2026年7月30日 11:25:05 ║",
"║ 当前CO2浓度: 1178.08 ppm ║",
"║ 安全阈值: 1000.00 ppm ║",
"║ 超 出: 178.08 ppm ║",
"║ 危 险 等 级: 🟠 注意 ║",
"╚══════════════════════════════════════════════════════════╝",
"╔══════════════════════════════════════════════════════════╗",
"║ ⚠️ 传感器阈值告警 - 烟雾浓度异常 ⚠️ ║",
"╠══════════════════════════════════════════════════════════╣",
"║ 告警时间: 2026年7月30日 11:25:05 ║",
"║ 当前烟雾浓度: 68.09 ppm ║",
"║ 安全阈值: 50.00 ppm ║",
"║ 超 出: 18.09 ppm ║",
"║ 危 险 等 级: 🔴 严重 ║",
"╚══════════════════════════════════════════════════════════╝",
"╔══════════════════════════════════════════════════════════╗",
"║ ⚠️ 传感器阈值告警 - 气压异常 ⚠️ ║",
"╠══════════════════════════════════════════════════════════╣",
"║ 告警时间: 2026年7月30日 11:25:05 ║",
"║ 当前气压: 1196.02 hPa ",
"║ 安全阈值: 1100.00 hPa ║",
"║ 超 出: 96.02 hPa ",
"║ 危 险 等 级: 🟠 注意 ",
"╚══════════════════════════════════════════════════════════╝",
"╔══════════════════════════════════════════════════════════╗",
"║ ⚠️ 传感器阈值告警 - 温度异常 ⚠️ ║",
"╠══════════════════════════════════════════════════════════╣",
"║ 告警时间: 2026年7月30日 11:25:06 ",
"║ 当前温度: 68.09 ║",
"║ 安全阈值: 65.00 ℃ ║",
"║ 超 出: 3.09 ℃ ║",
"║ 危 险 等 级: 🔴 严重 ║",
"╚══════════════════════════════════════════════════════════╝",
"╔══════════════════════════════════════════════════════════╗",
"║ ⚠️ 传感器阈值告警 - CO2浓度异常 ⚠️ ║",
"╠══════════════════════════════════════════════════════════╣",
"║ 告警时间: 2026年7月30日 11:25:06 ║",
"║ 当前CO2浓度: 1724.62 ppm ║",
"║ 安全阈值: 1000.00 ppm ║",
"║ 超 出: 724.62 ppm ║",
"║ 危 险 等 级: 🟠 注意 ║",
"╚══════════════════════════════════════════════════════════╝",
"╔══════════════════════════════════════════════════════════╗",
"║ ⚠️ 传感器阈值告警 - 烟雾浓度异常 ⚠️ ║",
"╠══════════════════════════════════════════════════════════╣",
"║ 告警时间: 2026年7月30日 11:25:06 ║",
"║ 当前烟雾浓度: 68.09 ppm ║",
"║ 安全阈值: 50.00 ppm ║",
"║ 超 出: 18.09 ppm ║",
"║ 危 险 等 级: 🔴 严重 ║",
"╚══════════════════════════════════════════════════════════╝",
"╔══════════════════════════════════════════════════════════╗",
"║ ⚠️ 传感器阈值告警 - 气压异常 ⚠️ ║",
"╠══════════════════════════════════════════════════════════╣",
"║ 告警时间: 2026年7月30日 11:25:06 ║",
"║ 当前气压: 1539.64 hPa ",
"║ 安全阈值: 1100.00 hPa ║",
"║ 超 出: 439.64 hPa ",
"║ 危 险 等 级: 🟠 注意 ",
"╚══════════════════════════════════════════════════════════╝",
"╔══════════════════════════════════════════════════════════╗",
"║ ⚠️ 传感器阈值告警 - 温度异常 ⚠️ ║",
"╠══════════════════════════════════════════════════════════╣",
"║ 告警时间: 2026年7月30日 11:25:07 ",
"║ 当前温度: 68.09 ║",
"║ 安全阈值: 65.00 ℃ ║",
"║ 超 出: 3.09 ℃ ║",
"║ 危 险 等 级: 🔴 严重 ║",
"╚══════════════════════════════════════════════════════════╝",
"╔══════════════════════════════════════════════════════════╗",
"║ ⚠️ 传感器阈值告警 - CO2浓度异常 ⚠️ ║",
"╠══════════════════════════════════════════════════════════╣",
"║ 告警时间: 2026年7月30日 11:25:07 ║",
"║ 当前CO2浓度: 1587.62 ppm ║",
"║ 安全阈值: 1000.00 ppm ║",
"║ 超 出: 587.62 ppm ║",
"║ 危 险 等 级: 🟠 注意 ║",
"╚══════════════════════════════════════════════════════════╝",
"╔══════════════════════════════════════════════════════════╗",
"║ ⚠️ 传感器阈值告警 - 烟雾浓度异常 ⚠️ ║",
"╠══════════════════════════════════════════════════════════╣",
"║ 告警时间: 2026年7月30日 11:25:07 ║",
"║ 当前烟雾浓度: 68.09 ppm ║",
"║ 安全阈值: 50.00 ppm ║",
"║ 超 出: 18.09 ppm ║",
"║ 危 险 等 级: 🔴 严重 ║",
"╚══════════════════════════════════════════════════════════╝",
在此只粘贴一部分,通过上面的观测,说明,日志里的温度和烟雾浓度的数据确实相同,虽然可以断定大概率共用了接口,但为了进一步的严谨性,现在要进一步进行测试。
首先修改模拟源,看是否"联动变化"
这一步的目的是: 证明两者绑定的是同一个数据生成器,而不是两个独立但恰好相等的传感器。
通过询问Ai,具体步骤如下:
1.打开lianwu系统模拟器配置页面
2.找到 温度 传感器的配置,点击 "配置"。
3.修改参数:把它的正弦波振幅或者偏移量改大一点(比如把基准值从 25 改成 50或者其他值),保存并刷新。
4.回到 Apifox,连续请求 /api/sensor/latest 接口,查看日志数据
首先我是修改他温度栏的偏移量,从50修改到100/80,并更新资源:

通过我的测试,然后更新Apifox的日志,如下:
第一次(50-100):
{
"sensors": [
{
"unit": "℃",
"decimalPlaces": 2,
"globalId": 1,
"name": "温度",
"simulationType": "0",
"isVirtual": "0",
"value": 70.009474
},
{
"unit": "%RH",
"decimalPlaces": 2,
"globalId": 2,
"name": "湿度",
"simulationType": "0",
"isVirtual": "0",
"value": 1.7655522
},
{
"unit": "ppm",
"decimalPlaces": 2,
"globalId": 3,
"name": "CO2浓度",
"simulationType": "0",
"isVirtual": "0",
"value": 1661.4299
},
{
"unit": "ppm",
"decimalPlaces": 2,
"globalId": 4,
"name": "烟雾浓度",
"simulationType": "0",
"isVirtual": "0",
"value": 20.009474
},
{
"unit": "Lux",
"decimalPlaces": 2,
"globalId": 5,
"name": "光照强度",
"simulationType": "0",
"isVirtual": "0",
"value": 2.3152587
},
{
"unit": "hPa",
"decimalPlaces": 2,
"globalId": 6,
"name": "气压",
"simulationType": "0",
"isVirtual": "0",
"value": 930.57365
}
],
"data": {
"hum": 1.7655522,
"temp": 70.009474,
"light": 2.3152587,
"co2": 1661.4299,
"smoke": 20.009474,
"pressure": 930.57365,
"time": "2026年7月30日 11:44:40"
},
第二次(50-80):
{
"sensors": [
{
"unit": "℃",
"decimalPlaces": 2,
"globalId": 1,
"name": "温度",
"simulationType": "0",
"isVirtual": "0",
"value": 70.115992
},
{
"unit": "%RH",
"decimalPlaces": 2,
"globalId": 2,
"name": "湿度",
"simulationType": "0",
"isVirtual": "0",
"value": 0.18121802
},
{
"unit": "ppm",
"decimalPlaces": 2,
"globalId": 3,
"name": "CO2浓度",
"simulationType": "0",
"isVirtual": "0",
"value": 1605.1582
},
{
"unit": "ppm",
"decimalPlaces": 2,
"globalId": 4,
"name": "烟雾浓度",
"simulationType": "0",
"isVirtual": "0",
"value": 20.115992
},
{
"unit": "Lux",
"decimalPlaces": 2,
"globalId": 5,
"name": "光照强度",
"simulationType": "0",
"isVirtual": "0",
"value": 2.9475218
},
{
"unit": "hPa",
"decimalPlaces": 2,
"globalId": 6,
"name": "气压",
"simulationType": "0",
"isVirtual": "0",
"value": 1766.4317
}
],
"data": {
"hum": 0.18121802,
"temp": 70.115992,
"light": 2.9475218,
"co2": 1605.1582,
"smoke": 20.115992,
"pressure": 1766.4317,
"time": "2026年7月30日 15:04:48"
},
再多次运行stringboot项目并更新Apifox后,发现日志里的数据就发现了变化,可以看到温度和烟雾浓度的数据并不相同了,可以预先证明一下他之前的数据相同可能只是巧合,实际上他们的接口并不相同,不过还发现了一个问题,就是他们小数点后的几位数字完全相同,进一步测试证实了他们在后台的可能原因为:
lianwu系统的数据共享随机数种子;lianwu系统的数据相同的模拟算法参数;lianwu系统数据映射问题 (即将同一个基础值映射到传感器多个数据中)。
问题二的探究
对于问题二的探究,本人认为应该不能只是测试后端接口,还有更多的需要考虑,但是首先由后端的接口日志来看,这里的六个数据都是用MQTT 推送,且通过数据库表单的查看,证实了在数据库中是有推送的六个变量数据:

那么这里就要检查MQTT 的数据来源了,所以本人在Spring Boot项目中集成一个MQTT客户端(如Eclipse Paho),订阅对应的Topic,打印出原始JSON payload,来追溯MQTT的数据源,通过以上操作,再次运行项目就可以在控制台得到一下内容:
╔════════════════════════════════════════════════════════════════════════╗
║ MQTT 连接信息 ║
╠════════════════════════════════════════════════════════════════════════╣
║ Broker地址: tcp://127.0.0.1:1883
║ 用户名: appback
║ 客户端ID: Fangcai-sdk-e7e5680f
║ 连接时间: 2026-07-30 17:15:53.674
╠════════════════════════════════════════════════════════════════════════╣
║ 订阅主题:
║ - /gate_{网关号}/# (订阅网关所有消息)
║ - /gate_{网关号}/upload_SensorData (传感器数据)
║ - /gate_{网关号}/order_reply (命令回复)
║ - /gate_{网关号}/upload_Sensorstatus (传感器状态)
╚════════════════════════════════════════════════════════════════════════╝
2026-07-30T17:15:53.676+08:00 INFO 31328 --- [fangcai-sdk] [ main] c.l.fangcaisdk.client.MqttGatewayClient : 已订阅所有网关1的主题
2026-07-30T17:15:53.676+08:00 INFO 31328 --- [fangcai-sdk] [ai-sdk-e7e5680f] c.l.fangcaisdk.client.MqttGatewayClient :
╔════════════════════════════════════════════════════════════════╗
║ MQTT 原始消息 - 数据源追溯 ║
╠════════════════════════════════════════════════════════════════╣
║ 接收时间: 2026-07-30 17:15:53.676
║ MQTT Broker: tcp://127.0.0.1:1883
║ 主题(Topic): /gate_1/dass/order
║ QoS级别: 1
║ 消息ID: 1
║ 是否保留: true
║ Payload长度: 10 字节
╠════════════════════════════════════════════════════════════════╣
║ 原始 JSON Payload:
║ client����
╚════════════════════════════════════════════════════════════════╝
2026-07-30T17:15:53.676+08:00 INFO 31328 --- [fangcai-sdk] [ai-sdk-e7e5680f] c.l.fangcaisdk.client.MqttGatewayClient :
╔════════════════════════════════════════════════════════════════╗
║ MQTT 原始消息 - 数据源追溯 ║
╠════════════════════════════════════════════════════════════════╣
║ 接收时间: 2026-07-30 17:15:53.676
║ MQTT Broker: tcp://127.0.0.1:1883
║ 主题(Topic): /gate_1/dass/order_reply
║ QoS级别: 1
║ 消息ID: 2
║ 是否保留: true
║ Payload长度: 70 字节
╠════════════════════════════════════════════════════════════════╣
║ 原始 JSON Payload:
║ {"msg_id":"1#1785383001820","result":"free","timestamp":1785383001820}
╚════════════════════════════════════════════════════════════════╝
2026-07-30T17:15:53.677+08:00 INFO 31328 --- [fangcai-sdk] [ai-sdk-e7e5680f] c.l.fangcaisdk.client.MqttGatewayClient :
╔════════════════════════════════════════════════════════════════╗
║ MQTT 原始消息 - 数据源追溯 ║
╠════════════════════════════════════════════════════════════════╣
║ 接收时间: 2026-07-30 17:15:53.676
║ MQTT Broker: tcp://127.0.0.1:1883
║ 主题(Topic): /gate_1/dass/upload_Sensorstatus
║ QoS级别: 1
║ 消息ID: 3
║ 是否保留: true
║ Payload长度: 79 字节
╠════════════════════════════════════════════════════════════════╣
║ 原始 JSON Payload:
║ {"msg_id":"getdata","result":{"status":"#i1 0@2 0@"},"timestamp":1785402952692}
╚════════════════════════════════════════════════════════════════╝
2026-07-30T17:15:53.677+08:00 INFO 31328 --- [fangcai-sdk] [ai-sdk-e7e5680f] c.l.fangcaisdk.client.MqttGatewayClient :
╔════════════════════════════════════════════════════════════════╗
║ MQTT 原始消息 - 数据源追溯 ║
╠════════════════════════════════════════════════════════════════╣
║ 接收时间: 2026-07-30 17:15:53.677
║ MQTT Broker: tcp://127.0.0.1:1883
║ 主题(Topic): /gate_1/dass/upload_SensorData
║ QoS级别: 1
║ 消息ID: 4
║ 是否保留: true
║ Payload长度: 165 字节
╠════════════════════════════════════════════════════════════════╣
║ 原始 JSON Payload:
║ {"msg_id":"getdata","result":{"data":"START#T,2026/07/30 17:15:52.692,1:100.0@2:0.014827469@3:1797.6554@4:50.0@5:0.99614701@6:1759.1001@"},"timestamp":1785402952692}
╚════════════════════════════════════════════════════════════════╝
2026-07-30T17:15:53.677+08:00 INFO 31328 --- [fangcai-sdk] [ai-sdk-e7e5680f] c.l.fangcaisdk.client.MqttGatewayClient :
╔════════════════════════════════════════════════════════════════╗
║ 传感器数据响应 - 原始 JSON 解析 ║
╠════════════════════════════════════════════════════════════════╣
║ 完整 JSON 结构:
║ {"msg_id":"getdata","result":{"data":"START#T,2026/07/30 17:15:52.692,1:100.0@2:0.014827469@3:1797.6554@4:50.0@5:0.99614701@6:1759.1001@"},"timestamp":1785402952692}
╠════════════════════════════════════════════════════════════════╣
║ JSON 字段说明:
║ - result.data: 包含传感器原始数据字符串
║ - 数据格式: START#T,时间戳,globalId:value@globalId:value...
╚════════════════════════════════════════════════════════════════╝
构建命令: {"msg_id":"1785402953682","type":"getdata","data":{"order":"#*A1,A2,A3,A4,A5,A6&2565$","loop":1000}}
2026-07-30T17:15:53.682+08:00 INFO 31328 --- [fangcai-sdk] [ main] com.lianwu.fangcaisdk.NewTest : 构建的命令:#*A1,A2,A3,A4,A5,A6&2565$
2026-07-30T17:15:53.685+08:00 INFO 31328 --- [fangcai-sdk] [ main] c.l.fangcaisdk.client.MqttGatewayClient : MQTT命令发布成功,等待响应...
2026-07-30T17:15:53.699+08:00 INFO 31328 --- [fangcai-sdk] [ai-sdk-e7e5680f] c.l.fangcaisdk.client.MqttGatewayClient :
╔════════════════════════════════════════════════════════════════╗
║ 传感器原始数据字符串 ║
╠════════════════════════════════════════════════════════════════╣
║ 数据来源: MQTT Topic /gate_X/upload_SensorData
║ 数据长度: 98 字符
║ 原始数据:
║ START#T,2026/07/30 17:15:52.692,1:100.0@2:0.014827469@3:1797.6554@4:50.0@5:0.99614701@6:1759.1001@
╠════════════════════════════════════════════════════════════════╣
║ 数据格式说明:
║ - START: 数据起始标识
║ - #T: 时间戳标识
║ - 时间戳格式: yyyy/MM/dd HH:mm:ss
║ - 传感器数据: globalId:value@globalId:value...
║ - globalId: 传感器全局ID (1=温度, 2=湿度, 3=CO2, 4=烟雾, 5=光照, 6=气压)
╚════════════════════════════════════════════════════════════════╝
2026-07-30T17:15:53.700+08:00 INFO 31328 --- [fangcai-sdk] [ai-sdk-e7e5680f] c.l.fangcaisdk.util.MqttRawDataLogger :
╔════════════════════════════════════════════════════════════════════════╗
║ 传感器数据解析详情 ║
╠════════════════════════════════════════════════════════════════════════╣
║ 原始数据字符串:
║ START#T,2026/07/30 17:15:52.692,1:100.0@2:0.014827469@3:1797.6554@4:50.0@5:0.99614701@6:1759.1001@
╠════════════════════════════════════════════════════════════════════════╣
║ 解析结果:
║ Global ID 1 (温度): 100.000000
║ Global ID 2 (湿度): 0.014827
║ Global ID 3 (CO2浓度): 1797.655400
║ Global ID 4 (烟雾浓度): 50.000000
║ Global ID 5 (光照强度): 0.996147
║ Global ID 6 (气压): 1759.100100
╠════════════════════════════════════════════════════════════════════════╣
║ 数据来源追溯:
║ 1. 数据由 Lianwu 系统通过 MQTT 推送
║ 2. MQTT Broker: tcp://192.168.0.2:1883
║ 3. 主题模式: /gate_{网关号}/upload_SensorData
║ 4. 推送频率: 约 1 秒/次
║ 5. 数据生成: Lianwu 系统后台模拟或真实传感器采集
╚════════════════════════════════════════════════════════════════════════╝
以上日志的这一段:
"data":"START#T,2026/07/30 17:15:52.692,1:100.0@2:0.014827469@3:1797.6554@4:50.0@5:0.99614701@6:1759.1001@"
(解析前)就说明了存在完整的6个数据,通过解析后就更加佐证了这一点。
通过以上的原始日志,确实可以进一步说明,MQTT 中存在对不同的6个传感器的数据传输,本人认为lianwu系统中并未发现可能是隐藏了的缘故,即可说明他的数据可能采用了复合数据结构进行传输。
总结一下
本人初步对后端接口的日志显示,以及数据的配置的改动的测试证实了以下几点:
- 温度和烟雾浓度证实并未共用后端接口,数据相同可能是巧合,不过小数点后数字在动态变化中雷同值得进一步探究。
- 6个数据都是由
lianwu系统推送并存在6个不同的传感器。