快速开始

快速开始

MQTT Broker 就选择 EMQ 作为示范。比如有 1 个温度传感器(1 个 Machine),1 个移动设备,1 个电脑,一个服务器(3 个 Machine),都可以得到或者显示温度传感器的温度值,需要先通过 MQTT 协议 subscribe(订阅)一个比如叫 temperature 的 topic(主题)如下:

mqtt 2

图中移动设备,服务器,电脑需要先通过 EMQ subscribe 一个叫 temperature 的 topic,当温度传感器 publish 温度数据,三个设备就可以收到了。

温度传感器

mosquitto

mosquitto 是一个开源 broker,并且支持 MQTTv3.1,支持客户端的验证。mosquitto 包括服务端和客户端。

mosquitto_pub 客户端可发布一条消息到指定主题:

mosquitto_pub [-d] [-h hostname] [-i client_id] [-I client id prefix] [-p port number] [-q message QoS] [--quiet] [-r] { -f file | -l | -m message | -n | -s} [-u username [-P password] ] [ --will-topic topic [--will-payload payload] [--will-qos qos] [--will-retain] ] -t message-topic

sub_client 客户端订阅一个或多个主题的消息:

mosquitto_sub [-c] [-d] [-h hostname] [-i client_id] [-I client id prefix] [-k keepalive time] [-p port number] [-q message QoS] [--quiet] [-v] [ -u username [-Ppassword] ] [ --will-topic topic [--will-payload payload] [--will-qos qos] [--will-retain] ] -t message topic ...