
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
modbus4mqtt是一款轻量级的协议转换工具,作为Modbus TCP设备与MQTT broker之间的桥接器,实现两类协议设备的数据双向互通。通过简洁的YAML配置文件定义数据映射规则,支持Modbus寄存器数据采集、格式转换及MQTT消息转发,同时具备可靠的错误处理和自动重连机制,适用于各类需要整合Modbus设备与MQTT生态的场景。
config.yaml)bashdocker run -d \ --name modbus4mqtt \ -v /path/to/your/config.yaml:/app/config.yaml \ -e LOG_LEVEL=info \ docker.xuanyuan.run/tjhowse/modbus4mqtt
创建docker-compose.yml文件:
yamlversion: '3' services: modbus4mqtt: image: docker.xuanyuan.run/tjhowse/modbus4mqtt container_name: modbus4mqtt restart: unless-stopped volumes: - ./config.yaml:/app/config.yaml # 挂载本地配置文件 environment: - LOG_LEVEL=info # 日志级别:debug, info, warn, error networks: - iot_network # 如需与其他服务(如MQTT broker)同网络 networks: iot_network: driver: bridge
启动服务:
bashdocker-compose up -d
核心配置通过挂载的config.yaml文件实现,典型结构如下:
yamlmodbus: devices: - name: "temperature_sensor" # 设备名称(自定义) address: "192.168.1.100" # Modbus设备IP地址 port: 502 # Modbus端口(默认502) timeout: 5 # 连接超时时间(秒) scan_interval: 10 # 数据扫描间隔(秒) registers: - name: "room_temp" # 寄存器名称(自定义) type: "holding" # 寄存器类型:coil, discrete, input, holding address: 0 # 寄存器地址 count: 1 # 读取数量 mqtt_topic: "sensors/temp" # MQTT发布主题 unit: "°C" # 数据单位(可选) scale: 0.1 # 缩放因子(如寄存器值123 → 123*0.1=12.3) offset: 0 # 偏移值(如 value = raw_value * scale + offset) writeable: false # 是否支持通过MQTT写入(true/false) mqtt: broker: "mqtt://192.168.1.200" # MQTT broker地址(支持mqtt://或mqtts://) port: 1883 # MQTT端口(默认1883,mqtts默认8883) username: "mqtt_user" # MQTT认证用户名(可选) password: "mqtt_pass" # MQTT认证密码(可选) client_id: "modbus4mqtt_bridge" # MQTT客户端ID(自定义,需唯一) keepalive: 60 # 心跳间隔(秒) qos: 1 # 消息QoS级别(0/1/2) retain: false # 消息是否保留 command_topic: "modbus/commands" # 接收写入指令的MQTT主题(如writeable=true时)
| 变量名 | 描述 | 默认值 | 可选值 |
|---|---|---|---|
LOG_LEVEL | 日志输出级别 | info | debug, info, warn, error |
CONFIG_PATH | 配置文件路径(容器内) | /app/config.yaml | 自定义路径(需同步挂载) |
writeable: true),需确保MQTT消息格式与寄存器要求匹配(如整数、浮点数)scan_interval)可能增加网络和设备负载,建议根据实际需求调整docker logs modbus4mqttyamllint验证config.yaml语法modbus-cli等工具验证设备是否可访问mosquitto_sub/mosquitto_pub验证broker连通性您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务