Eclipse Hono MQTT协议适配器是Eclipse Hono项目的核心组件之一,提供基于MQTT协议的设备接入能力。作为IoT设备与后端服务之间的协议转换桥梁,其主要用途是通过统一的服务接口,实现IoT设备通过MQTT协议向(云)后端上传遥测数据和事件,从而简化设备与后端系统的集成流程。
telemetry/<tenant_id>/<device_id>)上传周期性或实时遥测数据event/<tenant_id>/<device_id>)上报非周期性事件(如设备状态变更、异常告警)bashdocker run -d \ --name hono-mqtt-adapter \ -p 1883:1883 \ # MQTT默认端口(非加密) -p 8883:8883 \ # MQTT加密端口(SSL/TLS) -e MQTT_ADAPTER_HOST=0.0.0.0 \ -e MQTT_ADAPTER_PORT=1883 \ -e MQTT_ADAPTER_SECURE_PORT=8883 \ -e HONO_AUTH_HOST=hono-auth-service \ # Hono认证服务地址 -e HONO_AUTH_PORT=5671 \ # Hono认证服务端口 -e TENANT_ID=default-tenant \ # 默认租户ID(可选) eclipse/hono-mqtt-adapter:latest
yamlversion: '3.8' services: hono-mqtt-adapter: image: eclipse/hono-mqtt-adapter:latest container_name: hono-mqtt-adapter ports: - "1883:1883" # MQTT非加密端口 - "8883:8883" # MQTT加密端口 environment: - MQTT_ADAPTER_HOST=0.0.0.0 - MQTT_ADAPTER_PORT=1883 - MQTT_ADAPTER_SECURE_PORT=8883 - HONO_AUTH_HOST=hono-auth-service # 需与Hono认证服务容器名/IP对应 - HONO_AUTH_PORT=5671 - LOG_LEVEL=INFO # 日志级别(DEBUG/INFO/WARN/ERROR) restart: unless-stopped networks: - hono-network # 需与Hono其他服务处于同一网络 networks: hono-network: driver: bridge
| 环境变量 | 描述 | 默认值 |
|---|---|---|
MQTT_ADAPTER_HOST | 适配器监听地址 | 0.0.0.0 |
MQTT_ADAPTER_PORT | MQTT非加密端口(TCP) | 1883 |
MQTT_ADAPTER_SECURE_PORT | MQTT加密端口(SSL/TLS) | 8883 |
HONO_AUTH_HOST | Hono认证服务(Auth Server)主机地址 | hono-auth |
HONO_AUTH_PORT | Hono认证服务端口 | 5671 |
TENANT_ID | 默认租户ID(设备未指定租户时使用) | default |
LOG_LEVEL | 日志输出级别(DEBUG/INFO/WARN/ERROR) | INFO |
MAX_CONNECTIONS | 最大并发MQTT连接数 | *** |
注意:完整配置参数请参考Eclipse Hono***文档,根据实际部署环境调整认证、TLS证书等安全相关配置。
设备通过MQTT客户端连接适配器,发布消息至指定主题:
telemetry/<tenant_id>/<device_id>event/<tenant_id>/<device_id>示例(使用mosquitto_pub工具):
bash# 发布遥测数据(租户:my-tenant,设备:sensor-001) mosquitto_pub -h <adapter-IP> -p 1883 \ -t "telemetry/my-tenant/sensor-001" \ -m '{"temperature": 25.5, "humidity": 60}'
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429