关于MQTT的使用感受

最近这段时间一直在项目中使用MQTT相关的知识,在这里分享一些自己的使用经验,以方便大家快速上手,并且避免一些不必要的错误。

基础知识

MQTT使用的是发布订阅机制,它使用一台服务器把用户和设备连接在一起。用户和设备都是服务器的客户端。

用户想给设备发命令,那么需要发布一个Topic,在Topic中包含命令内容,设备需要订阅该Topic才能收到用户发送的命令。注意:用户把Topic发布到服务器后,只要订阅了该Topic的机器都会收到此命令。这样用户可以控制多台设备。

设备想给用户上报信息,比如设备故障,那么需要发布一个Topic,在Topic中包含故障内容,用户需要订阅该Topic才能收到设备上报的信息。

以上便是MQTT发布订阅机制的主要过程,参与整个过程的有用户,设备和服务器(也叫broker).该过程中的通信规则就是MQTT协议。如果我们只是做MQTT相关的应用,不需要了解MQTT协议太多的细节。

服务器知识

我们需要在服务器上部署MQTT Broker,常用的是mosquitto,也可以使用其它的Broker.服务器主要用来转发消息,需要考虑消息的传递效率。同时还要设置一些与用户相关的内容,比如账户密码,这些是出于安全而添加的。

我在服务器上写的内容比较少,后续有时间了再给大家分享。

客户端知识

客户端常用的是paho开源的项目,提供了各种开发语言版本。我使用过Android版本和Java版本。先是Android版本无法在Android12及后续版本上使用,进而转向使用Java版本,开

你可能感兴趣的:(talk8的私房菜,java,mqtt,paho,物联网,android)