启用mqtt的dockerfile

FROM rabbitmq:3.8-management
COPY ["rabbitmq_delayed_message_exchange-3.8.17.8f537ac.ez","/plugins/rabbitmq_delayed_message_exchange-3.8.17.8f537ac.ez"]
RUN rabbitmq-plugins enable --offline rabbitmq_delayed_message_exchange
RUN rabbitmq-plugins enable --offline rabbitmq_management
RUN rabbitmq-plugins enable --offline rabbitmq_mqtt
RUN rabbitmq-plugins enable --offline rabbitmq_web_mqtt

管理界面中,启动了mqtt的效果,如下图

配置

使用MQTT 协议默认的交换机 Exchangeamp.topic,我们需要在amp.topic中增加一个转发的绑定

1、首先创建一个Queue,例如esp8266-queue

2、然后在amp.topic中增加一个Bind,注意Routing key,这个对应的是mqtt中的topic

使用

例如在micropython中发布

c.publish("esp8266","{ 'temperature':30 }",retain=True)

第一个参数值“esp8266”,就是对应amq.topic 中bind的routing key