

前面讲“一根网线、即插即用、老旧机房改造”,这一篇把云接进来。
结论先给:
PoE + RJ45 温湿度计本身跑 Modbus TCP,不会“直接插到腾讯云 IoT Explorer”就上线。 正确低成本做法是:PoE 传感器 → 边缘网关/软网关(Modbus TCP 转 MQTT)→ 腾讯云 IoT Explorer(物模型 + 规则引擎)→ 小程序/数据库/告警。 这套架构不用自建 MQTT Broker、不用自建时序库前端,适合小机房、档案库房、分支网点动环监控。
腾讯云 IoT Explorer 支持的是 MQTT / HTTPS / WebSocket 设备接入,不是 Modbus 主站。
PoE温湿度计(Modbus TCP 从站,端口502)
│
│ Modbus TCP
▼
边缘网关 / Linux盒子 / 工控机(Modbus Master + MQTT Client)
│
│ MQTT over TLS 8883
▼
腾讯云 IoT Explorer
│
▼
规则引擎 → 云数据库 / 企业微信 / 小程序 / 告警误区:以为 RJ45 设备 = 能直接上云。
现实:RJ45 只是物理接口,协议还是 Modbus TCP,必须有人帮它“翻译”成云能懂的 MQTT 物模型报文。

成本:传感器钱 + 0 元网关(利旧)
适合:10~50 个监测点、预算 < 1 万
成本:网关 ¥800~2000
适合:机房改造、档案库房、等保/合规项目
成本:单台传感器 ¥1200~2000
适合:点位少、不想维护网关
低成本动环:优先 A,合规项目选 B。
类型 | 标识符 | 数据类型 | 单位 | 说明 |
|---|---|---|---|---|
属性 | temperature | float | ℃ | 温度 |
属性 | humidity | float | %RH | 湿度 |
属性 | device_ip | string | - | 传感器IP |
属性 | signal_quality | enum | - | GOOD / UNCERTAIN / BAD |
事件 | humidity_high | alert | - | 湿度超限 |
事件 | temp_high | alert | - | 温度超限 |
边缘网关上报时,把“多个 Modbus 传感器”包装成一个网关设备 + N 个子设备,比给每个传感器申请证书便宜得多、也好管。
IP: 192.168.100.101
Port: 502
Slave ID: 1
40001 temperature int16 ×0.1 ℃
40002 humidity int16 ×0.1 %RH
40014 device_status uint16 0正常 1传感器故障 2通信故障from pymodbus.client import ModbusTcpClient
import paho.mqtt.client as mqtt
import json, time
PRODUCT_ID = "XXXXXXXXX"
DEVICE_NAME = "edge-gw-01"
SECRET = "xxxxxxxxxxxxxxxx"
BROKER = f"{PRODUCT_ID}.iotcloud.tencentdevices.com"
PORT = 8883
TOPIC_UP = f"$thing/up/property/{PRODUCT_ID}/{DEVICE_NAME}"
sensors = {
"TH-A-01": "192.168.100.101",
"TH-A-02": "192.168.100.102",
}
def read_sensor(ip):
c = ModbusTcpClient(ip, port=502)
if not c.connect():
return None
rr = c.read_holding_registers(0, 2, slave=1)
c.close()
if rr.isError():
return None
temp = rr.registers[0] * 0.1
humi = rr.registers[1] * 0.1
return temp, humi
def main():
mqttc = mqtt.Client()
# 腾讯云需要用 secret 生成 username/password(见官方 SDK)
mqttc.username_pw_set(f"{PRODUCT_ID}/{DEVICE_NAME};{SECRET}", " ")
mqttc.connect(BROKER, PORT, keepalive=60)
while True:
params = {}
for name, ip in sensors.items():
data = read_sensor(ip)
if data:
params[f"{name}_temperature"] = data[0]
params[f"{name}_humidity"] = data[1]
payload = {"method": "report", "clientToken": str(time.time()), "params": params}
mqttc.publish(TOPIC_UP, json.dumps(payload))
time.sleep(10)
if __name__ == "__main__":
main()生产环境要加:指数退避重连、质量位、变化上报、本地 SQLite 缓存、看门狗。
IoT Explorer 规则引擎可以做:
humidity > 60 → 写时序库 / InfluxDB / MySQL temperature > 28 → 调 SCF 云函数 → 企业微信机器人推送 signal_quality = BAD → 创建设备告警事件 示例规则 SQL:
SELECT
deviceName() AS dev,
get_from_json(params, 'TH-A-01_humidity') AS humi,
get_from_json(params, 'TH-A-01_temperature') AS temp
FROM $thing/up/property/XXXXXXXXX/edge-gw-01
WHERE get_from_json(params, 'TH-A-01_humidity') > 60动作:
小项目最省事的地方来了:
不用写 Vue、不用买服务器、不用做登录系统。
这对区县档案局、学校机房、卫生院机房非常香。
公有云方案最大的坑是“云一断,啥都看不见”。
低成本做法:
device_sample_time 补传(不要用入库时间) 云是“大脑”,边缘是“神经反射”。动环系统不能全靠云。
项目 | 费用 |
|---|---|
PoE 以太网温湿度计 ×20 | ¥16,000(¥800/台) |
24口 PoE 交换机(利旧/二手) | ¥800 |
x86 小主机做网关(利旧) | ¥0 |
腾讯云 IoT Explorer 公共实例 | 低用量近似免费 |
企业微信告警 / 腾讯连连 | ¥0 |
时序库(云数据库按量) | ¥几十/月 |
首期投入 | ≈ ¥17k |
对比传统动环厂家方案(串口服务器+平台授权+工单系统):通常能省 60%~80%。
✅ 适合:
❌ 不适合:
低成本动环监控的真相是:
PoE 温湿度计解决“供电+布线”,边缘网关解决“Modbus 转云”,腾讯云 IoT Explorer 解决“设备建模、小程序、规则引擎、告警流转”。 三者拼起来,小机房也能拥有“大厂动环平台”的能力,而首期投入可以压到一台空调钱。
标签:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。