zoukankan      html  css  js  c++  java
  • MQTT的使用一

    MQTT:物联网消息传递标准

    简介

    MQTT是用于物联网(IoT)的OASIS标准消息传递协议。它被设计为一种非常轻量级的发布/订阅消息传送,非常适合以较小的代码占用量和最小的网络带宽连接远程设备。如今,MQTT被广泛用于汽车,制造业,电信,石油和天然气等行业。

    MQ?

    “ MQ”是指MQ系列,这是IBM为支持MQ遥测传输而开发的产品。当Andy和Arlen在1999年创建协议时,他们以IBM产品的名字命名。许多来源错误地将MQTT标记为消息队列协议。那明显是错的,MQTT并不是传统的消息排队解决方案。

    为什么选择MQTT?

    • 轻巧高效:MQTT客户端非常小,需要最少的资源,因此可以在小型微控制器上使用。MQTT消息头很小以优化网络带宽。
    • 双向通讯:MQTT允许设备到云之间以及云到设备之间的消息传递。这使得易于将消息广播到事物组。
    • 扩展到数百万个事物:MQTT可以扩展以与数百万个IoT设备连接。
    • 可靠的消息传递:对于许多物联网用例而言,消息传递的可靠性至关重要。这就是MQTT具有3种定义的服务质量级别的原因:0-最多一次,1-至少一次,2-恰好一次
    • 对不可靠网络的支持:许多物联网设备通过不可靠的蜂窝网络进行连接。MQTT对持久性会话的支持减少了将客户端与代理重新连接的时间。
    • 安全启用:MQTT使您可以轻松地使用TLS加密消息并使用现代身份验证协议(例如OAuth)对客户端进行身份验证。

    MQTT发布/订阅架构

    MQTT的使用

    说了这么多,MQTT只是一种协议应该怎么使用呢?简单的看分为两个部分:服务端、客户端。接下来,我们利用EMQ作为服务端,MQTT.fx作为客户端,来简单走一遍。

    EMQ的安装

    • 这里我使用的时阿里ECS云主机,系统时CentOS。
    • 需要开通安全组:18083、1883
    • 进入CentOS界面输入以下命令:
    wget https://packages.emqx.io/emqx-ce/v2.3.10/emqttd-centos7-v2.3.10.zip	//下载安装
    yum install unzip -y	//安装压缩包
    unzip emqttd-centos7-v2.3.10.zip	//解压服务器的压缩包
    cd emqttd	//进入emqtt文件夹
    ./bin/emqttd console
    CTRL+c     //关闭控制台
    ./bin/emqttd start	//守护进程模式启动,启动错误日志将输出在 log/ 目录
    ./bin/emqttd_ctl status		//EMQ 消息服务器进程状态查询
    
    • 登陆MQTT的后台:
    服务ip+18083端口,如:192.168.2.100:18083
    账号:admin       密码:public
    

    ### MQTT.fx客户端安装 - 这里我使用的时win10系统,[去下载]("http://mqttfx.jensd.de/index.php/download") - 安装完成后出现如下界面:

    - 点击 `Extras` - `Edit Connection Profiles` 来编辑:

    - 配置你的服务端ip,输入用户名和密码:admin, public:

    - 配置完成后,点击 `Connect` 连接,右边的指示灯变录说明连接成功。如果没有请检查你的ip和端口,以及阿里安全组是否开通:

    - 切换到 `Subscribe` 输入一个topic,然后来订阅它:

    - 切换到 `Publish`,输入topic和要发送的内容,点击 `Publish` 来发布:

    - 回到 `Subscribe` 可以看到发布的消息了:

    ## 参考资料

    https://www.hivemq.com/blog/mqtt-essentials-part-1-introducing-mqtt/

    https://www.emqx.io/cn/products/enterprise

    http://mqttfx.jensd.de/index.php/download

  • 相关阅读:
    vue里的样式添加之类名改动 和style改动
    vue里的样式添加之行间样式
    vue 里filter的基本用法
    Binary Tree Inorder Traversal
    Course Schedule 解答
    Topological Sorting
    Maximum Depth of Binary Tree 解答
    Clone Graph 解答
    Java Keyword -- super
    Binary Tree Zigzag Level Order Traversal 解答
  • 原文地址:https://www.cnblogs.com/wangrui38/p/13852692.html
Copyright © 2011-2022 走看看