zoukankan      html  css  js  c++  java
  • 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

      

  • 相关阅读:
    语言精粹【摘要】
    【转】一个Java程序员应该掌握的10项技能
    比较有用的网址
    推荐一些国内的Jquery CDN免费服务
    CSS3动画【归纳总结】
    scrollTo与border结合使用的小玩意
    aria-label及aria-labelledby应用//////////[信息无障碍产品联盟]
    aria初探(一)
    没有this的JavaScript
    Front-end Job Interview Questions
  • 原文地址:https://www.cnblogs.com/wzhqzm/p/14345157.html
Copyright © 2011-2022 走看看