MQTT的自我感悟

MQTT的认识和学习

⭐MQTT简介

   MQTT协议(消息队列遥测传输协议):是一种基于发布/订阅模式的轻量级协议【构建于TCP/IP协议之上】。

   应用领域: 遥感数据、汽车、智能家居、智慧城市、医疗医护、智能家居... ...

   MQTT遵循原则

      • 精简,不添加可有可无的功能。
      • 发布/订阅(Pub/Sub)模式,方便消息在传感器之间传递。
      • 允许用户动态创建主题,零运维成本。
      • 把传输量降到最低以提高传输效率。
      • 把低带宽、高延迟、不稳定的网络等因素考虑在内。
      • 支持连续的会话控制。
      • 理解客户端计算能力可能很低。
      • 提供服务质量管理。
      • 假设数据不可知,不强求传输数据的类型与格式,保持灵活性。

⭐ 实现方式

   实现MQTT协议需要客户端和服务器端通讯完成,在通讯过程中,MQTT协议中有三种身份:发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。

  MQTT传输的消息分为:主题(Topic)和负载(payload)两部分:

  (1)Topic,可以理解为消息的类型,订阅者订阅(Subscribe)后,就会收到该主题的消息内容(payload);

  (2)payload,可以理解为消息的内容,是指订阅者具体要使用的内容。

 

 

 ⭐ MQTT的使用

  MQTT环境的安装

sudo apt-get update

sudo apt-get install mosquitto

sudo apt-get install mosquitto-clients  

sudo service mosquitto status   # 查看状态

 

 

 验证发布/订阅消息

# ubuntu

mosquitto_sub -h 192.168.0.2 -t "Mymqtt" -v

  【-h】指定要连接的MQTT服务器 
  【-t】订阅主题,此处为mqtt 
  【-v】打印更多的调试信息 # windows mosquitto_pub
-h 192.168.0.2 -t "Mymqtt" -m "I am Windows's MQTT"

  【-h】指定要连接的MQTT服务器 
  【-t】向指定主题推送消息 
  【-m】指定消息内容

 

【注意】--项目实战

当订阅本地消息时:

  mosquitto_sub -t mqtt主题 -u 账户 -P 密码 -h 192.168.xx.xx
订阅远端(broker)消息时:

  mosquitto_sub -t mqtt主题/# -u 账户 -P 密码 -h 192.168.xx.xx -p 端口号 -d

 

 

  

posted @ 2021-01-29 15:21  弹弹大魔王  阅读(86)  评论(0编辑  收藏  举报