黑群晖怎样搭建MQTT服务器
1、打开群晖Docker,注册表搜索:mqtt;
2、点击下载好的镜像文件创建容器,输入容器名字,点击高级设置
3、勾选启用自动重新启动
4、点击网络—-勾选与docker host相同的网络,点击应用,一直下一步直到创建完成
可以参考以下中的设置,不过每个路由器的设置都不太一样的
其中外部端口可以随意,内部端口则是mqtt的服务端口,IP地址是内网服务器的IP
注意要实现远程访问,路由器必须有公网IP,如果是内网IP做了映射也没有用,只能用花生壳内网穿透这样的服务~
串口调试助手显示已连接MQTT,但是无法执行AT指令,可能有以下几种原因:
1 首先,请确保串口的连接设置正确,包括波特率、数据位、校验位、停止位等。如果这些设置不正确,无法正确地通信和执行AT指令。
2 如果使用的是无线模块进行MQTT通信,可能需要先执行一些必要的初始化指令,比如设置工作模式、连接Wi-Fi网络、设置MQTT服务器IP和端口等。这些指令需要按照指定的顺序和格式执行,否则可能会导致连接失败或功能异常。
3 另外,如果MQTT连接已经建立成功,但是AT指令仍然无法执行,可能是由于MQTT协议与AT指令协议存在冲突或干扰,需要通过更改AT指令的工作模式、数据格式或端口号等解决冲突问题。
因此,建议按照下列步骤进行排查:
- 首先确认串口连接设置是否准确。
- 确保MQTT模块已经正确连接Wi-Fi网络或者其他网络,并已经与MQTT服务器建立连接。
- 确保MQTT模块的AT指令工作模式、数据格式和端口号等设置正确,并与其他AT指令不发生冲突。
- 如果以上几步都无法解决问题,建议通过更换串口、更换MQTT模块或者向相关厂商或社区咨询,寻求帮助。
第一,pom配置,我们需要引入相关jar:
第二,配置MQTT服务器基本信息,在springBoot配置文件applicationproperties中配置,添加如下:
第三,配置MQTT消息推送配置类,
第四,配置MqttGateway消息推送接口类,在sendToMqtt(String data,@Header(MqttHeadersTOPIC)String topic)接口中,data为发送的消息内容,topic为主题。指定topic,则我们的接口可以根据需要,向不同的主题发送消息,方便灵活应用。如果不指定,则使用默认配置的主题。
第五,接口类测试下功能,用Postman调用sendMqttdo接口,往hello主题发送消息,用MQTTLens订阅hello主题,从下面截图,可以看出可以正常往MQTT服务发送消息了,而且可以订阅到。
0条评论