精华内容
下载资源
问答
  • MQTT调试工具,用于MQTT协议联调联试,使用方便,画面简洁清晰,需要键入地址及端口号,ID/用户名及密码后连接,能够用来进行十六进制显示和ASCII显示,可以订阅MQTT topic!
  • MQTT服务+客户端

    千次阅读 2017-09-04 15:17:34
    MQTT服务器客户端架设服务器使用Mosquitto,客户端使用paho。 MQTT服务器客户端架设 服务器 Windows下 Linux下 配置文件 运行 客户端 Python Javascript cc 重点内容说明 消息质量 消息主题 subscribe订阅 数字符号 ...

    MQTT服务器客户端架设

    服务器使用Mosquitto,客户端使用paho。

    服务器

    安装包和源码地址:http://mosquitto.org/download/

    Windows下

    下载win32安装包,安装到C盘根目录下。期间,提示需要下载Openssl和pthreadv2。按照链接地址下载,然后将dll到添加到path或者copy到mosquitto根目录下。
    注意:坑在于,openssl只能使用1.0.x版本,否则各种找不到的问题。

    Linux下

    sudo apt install mosquitto ,然后命令行中就可以找到mosquitto。

    配置文件

    • 修改了默认监听的端口为8080,同时开启websockets功能,端口31000。
    • 禁用匿名用户,添加了授权用户和文件
    # =================================================================
    # Default listener
    # =================================================================
    port 8080  # tcp监听的端口,必须开启,默认为1831  
    
    # =================================================================
    # Extra listeners
    # =================================================================
    listener 31000         # 新增,为websockets开启的端口 
    protocol websockets    # 新增,设定31000的协议为websockets
    
    # =================================================================
    # Security
    # =================================================================
    allow_anonymous false  # 关闭匿名用户,配合用户管理使用  
    
    # -----------------------------------------------------------------
    # Default authentication and topic access control
    # -----------------------------------------------------------------
    password_file /etc/mosquitto/pwfile # 设置用户和密码验证方式的文件  

    以上设定完毕后,需要通过命令行添加一个用户 test:
    mosquitto_passwrod -c /etc/mosquitto/pwfile test 注意-c会重新创建文件,新增不用此参数。
    按照提示,输入密码,即新建了一个用户test。

    运行

    mosquitto -c /etc/mosquitto/mosquitto.conf -d
    注意:-d会让mosquitto在后台守护运行。windows配置文件在exe所在目录。
    其实也可以直接执行mosquitto就可以,它会使用默认的配置文件运行。

    客户端

    你可以使用mosquitto自带的devel文件夹下文件开发,也可以使用第三方的,但是建议使用paho。原因很简单,clients端语言和功能支持很全面。
    参考Url https://www.eclipse.org/paho/downloads.php

    Python

    这里主要演示sub功能。

    # coding:utf-8
    
    import paho.mqtt.client as mqtt
    
    def on_connect(client, userdata, flags, rc):
        print("Connected with result code: "+str(rc))
    
        client.subscribe("robot/#")
    
    def on_message(client, userdata, msg):
        try:
            if msg.topic == "robot/str":
                print(userdata,msg.topic,msg.payload.decode("utf8"))
            elif msg.topic == "robot/json":
                print(userdata,msg.topic,msg.payload.decode("utf8"))
            else:
                print(userdata,msg.topic,len(msg.payload))
        except Exception as err:
            print("on_message error:",err)
            pass
    
    def subtopic():
        client = mqtt.Client()
        client.on_connect = on_connect
        client.on_message = on_message
    
        client.username_pw_set("test","testpwd")
        client.connect("remote.xxxx.com",8080)
    
        # client.publish("robot/python","Hello!!") # 发送消息
        client.loop_forever()
        pass
    
    if __name__=="__main__":
        subtopic()
        pass

    Javascript

    mqttws31.js这个库,最好将它下载下来,然后引用。cdn因为是国外的,网络不稳。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>MQTT js Test</title>
    </head>
    <body>
    <h1>查看控制台输出~</h1>
    <textarea id="id_msg">我是测试文本</textarea>
    <br/>
    <button onclick="javascripts:btn_msg();">发送</button>
    
    <script src="https://cdnjs.cloudflare.com/ajax/libs/paho-mqtt/1.0.1/mqttws31.js" type="text/javascript"></script>
    <script>
        // Create a client instance
        client = new Paho.MQTT.Client("remote.xxxxx.com", 31000,"clientId");
    
        // set callback handlers
        client.onConnectionLost = onConnectionLost;
        client.onMessageArrived = onMessageArrived;
    
        // connect the client
        client.connect({
            userName:"test",
            password:"testpwd",
            onSuccess:onConnect,
        });
    
        function btn_msg() {
            var txt = document.getElementById('id_msg').value;
            message = new Paho.MQTT.Message(txt);
            message.destinationName = "robot/str";
            client.send(message);
        }
    
        // called when the client connects
        function onConnect() {
            // Once a connection has been made, make a subscription and send a message.
            console.log("onConnect");
            client.subscribe("robot/#");
            message = new Paho.MQTT.Message("Hello,i am fron web js.");
            message.destinationName = "robot/web";
            client.send(message);
        }
    
        // called when the client loses its connection
        function onConnectionLost(responseObject) {
            if (responseObject.errorCode !== 0) {
                console.log("onConnectionLost:"+responseObject.errorMessage);
            }
        }
    
        // called when a message arrives
        function onMessageArrived(msg) {
            if (msg.destinationName == "robot/str")
                console.log(msg.destinationName,msg.payloadString)
            else if (msg.destinationName == "robot/json")
                console.log(msg.destinationName,msg.payloadString)
            else
                console.log(msg.destinationName,(msg.payloadBytes).length)
        }
    </script>
    </body>
    </html>

    c/c++

    需要使用 https://github.com/eclipse/paho.mqtt.c 自己编译,或者官方的x64编译好的dll。项目中自带vs2017的项目文件。
    注意:需要在src文件夹下,复制一份VersionInfo.h.in文件,改名为VersionInfo.h。Demo参考官方Demo,很简单。
    推荐使用异步dll。

    重点内容说明

    消息质量

    • 0: “至多一次”,消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送;
    • 1 :“至少一次”,确保消息到达,但消息重复可能会发生;
    • 2:“只有一次”,确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。

    消息主题

    构建一个应用程序时,主题树的设计应考虑以下主题名称的语法和语义的原则:
    - 主题必须至少一个字符长;  
    - 主题名称是区分大小写的,例如,A和a是两个不同的主题;
    - “/”创造了一个独特的主题,例如,/a与a是不同的主题。/a匹配“+/+”和“/+”,但不匹配“+”; 
    - 任何主题不包含空字符(Unicode \ x0000)。  

    以下原则适用于主题树的结构和内容:
    - 64 k的长度是有限的,但在没有限制水平主题树的数量。  
    - 可以有任意数量的根节点,也就是说,可以有任意数量的主题树。

    subscribe订阅

    使用正斜杠(/)分隔主题树中的每个级别,并提供一个主题空间的层次结构。主题层面分离器的使用中遇到两个通配符时重要的主题由用户指定。

    数字符号(#)

    是一个通配符匹配任意数量的水平在一个主题,只能用在最后,如a/#/c是不合法的。例如,如果你订阅a/b/c/#,你在这些主题接收消息:
    - a/b/c
    - a/b/c/d
    - a/b/c/e

    加号(+)

    是一个通配符匹配的主题只有一个水平。例如,如果你订阅a/+/c/#,你在这些主题:接收消息:
    - a/a/c/
    - a/b/c/d
    - a/c/c/e

    订阅”+/#”

    此主题可接受所有类型主题的消息

    publish发布

    发布的时候主题时,+或者#不能通配,是且仅是一个明确的主题。

    MQTT协议

    https://mcxiaoke.gitbooks.io/mqtt-cn/content/mqtt/01-Introduction.html

    展开全文
  • MQTT协议 NodeJS客户端

    2019-09-10 17:28:00
    NodeJS和npm安装就不说了,直接进入正题。 (1)创建项目目录,例如MqttClient,在该目录下执行命令...这时就会在目录下产生package.json配置文件,包括依赖库管理。 (2)参考MQTT库官方文档 https://www.npmjs.c...

    转载请注明出处:https://leytton.blog.csdn.net/article/details/100705766

    NodeJS和npm安装就不说了,直接进入正题。

    (1)创建项目目录,例如MqttClient,在该目录下执行命令npm init,
    这时就会在目录下产生package.json配置文件,包括依赖库管理。

    (2)参考MQTT库官方文档 https://www.npmjs.com/package/mqtt

    (3)添加MQTT库,执行命令npm install mqtt --save,就会在项目目录下生成node_modules目录,里面是依赖库文件。

    (4)创建index.js入口文件

    (5)添加以下内容:

    var mqtt = require('mqtt')
    var client  = mqtt.connect('mqtt://test.mosquitto.org')
     
    client.on('connect', function () {
      console.log("connected!");
      client.subscribe('topic_0001', function (err) {
        if (!err) {
          client.publish('topic_0001', 'Hello mqtt');
          console.log("published message~");
        }
      })
    })
     
    client.on('message', function (topic, message) {
      // message is Buffer
      console.log("received data:"+message.toString())
      //client.end()// close clint
    })
    
    console.log("continue code");
    

    代码执行结果如下:

    E:\Dev\NodeJS\MqttClient>node index.js
    continue code
    connected!
    published message~
    received data:Hello mqtt
    
    展开全文
  • MQTT-FX客户端

    MQTT-FX介绍:

    下载地址1:http://mqttfx.jensd.de/index.php/download

    下载地址2:http://mqttfx.bceapp.com/

    我们的设备,在连接MQTT服务端之前,建议先使用MQTT-FX客户端连接MQTT服务端,用来检测MQTT服务端的工作状态、MQTT通信时各项参数的正确性、网络是否连接正常。

     

    软件集成MQTT协议,只需要设置相关【连接】参数,就能将此软件作为MQTT客户端,连接MQTT服务端。连接MQTT服务端之后,就可以使用MQTT-FX客户端来和MQTT服务端交互,实现订阅主题、发布消息。

     

    下面是通信配置示例:

    1 配置MQTT服务端参数、用户名等信息;

    2 连接设备;

    3 订阅主题;

    我们订阅一个SW_LED的主题;

    4 发布一个带有SW_LED主题的消息;

    5 查看订阅结果,如下图所示:

    可以看到,MQTT成功订阅主题,并接收发布的消息。

    展开全文
  • ioBroker MQTT ioBroker 的 MQ 遥测传输 (MQTT)。 MQTT(以前称为消息队列遥测传输...类型- 如果您想创建自己的 MQTT 代理,请选择“客户端”(如果您想接收和发送消息到其他代理)或“服务器”。 服务器设置 WebSocke
  • 9、配置环境变量 安装Jmeter 1、官网下载 jmeter 安装 zip 包 打开链接:https://jmeter.apache.org/download_jmeter.cgi 找到:Apache JMeter 5.1.1 找到:Binaries 下载Apache JMeter 5.1.1.zip 2、配置系统环境...

    前言:通过jmeter分布式压力测试部署方案可实现百万个设备同时上传数据到物联网服务器,同时可生成测试报告

    一)Windows下安装Jmeter5.1.1

    安装JDK

    1、登录官网:www.oracle.com
    2、登录用户
    3、在这里插入图片描述
    4、在这里插入图片描述
    5、在这里插入图片描述
    6、

    展开全文
  • MQTT X 的用户界面借助聊天软件的形式简化了页面的操作逻辑,用户可以快速创建连接保存并同时建立个连接客户端,方便用户快速测试 MQTT/TCP、MQTT/TLS 的连接、发布/订阅功能及其他特性。 项目地址:GitHub 官方...
  • MQTT.fx客户端使用方法

    千次阅读 2020-08-11 15:47:35
    MQTT.fx是调试MQTT协议一个必备的工具软件,这里...2)配置MQTT客户端参数 打开MQTT.fx;点击设置图标 在Profile Name 栏可随便填入一个名称,代表你当前使用客户端的名称。 在Profile Typer 栏选择MQTT Broker即可。
  • 选择一个目标文件夹,然后调用命令D:\apache-activemq-5.15.9\bin\activemq.bat create mybroker然后进入到文件夹mybrokercd mybroker运行mqtt服务器mybroker/bin/mybroker.bat start服务的配置信息在conf/...
  • 基于ARM平台交叉编译MQTT-C客户端的百度云IOT接入流程记录   Paho MQTT嵌入式c客户端编译实践[百度云MQTT客户端兼容PAHO,PAHO也是一个开源的MQTT协议项目]: 1.参见以下网页: ... Paho MQTT 嵌入式c客户端研究笔记...
  • 一、前期准备。 1.关于MQTT连接的属性:https://www.cnblogs.com/mhtc/p/11112153.html 2.关于阿里云配置工具的使用:... 4.MQTT.fx客户端,请百度后官网下载。 二、实际操作。 1.生成连接参数。这里不做介绍,请...
  • 市面上的MQ产品很,如阿里自研并开源RocketMQ,还有类似RabbitMQ、**ActiveMQ,**他们不管支持MQTT协议,还支持如AMQP、stomp协议等等,EMQ 使用的协议是mqtt。 只需要看本地MQTT服务器怎么配置的,目录里的二就够...
  • 在做MQTT之前,我首先 一、pandas是什么? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤 1.引入库 代码如下(示例): import numpy as np import pandas as pd ...
  • 1 MQTT 服务器搭建 用 apache-apollo-1.7.1 搭建服务器,以下是简单记录自己搭建过程 1 下载 apache-apollo-1.7.1-windows-distro.zip 并解压 2 到解压后 D:\softpackge\Apache\apache-apollo-1.7.1\bin 目录下...
  • 2、验证jdk配置 3、apollo软件的介绍 1)解压文件 2)安装 3)启动软件 4)登录apollo服务 5)启动服务端连接 6)平台功能区简介 4、mqttfx软件的介绍 三、基本测试 Step1: Step2: Ste..
  • 1、下载MQTT的java语言包 ... 2、相关的java类 //MQTT客户端类,通过这个类可以发布和订阅主题 MqttClient //连接配置类 MqttConnectOptions MqttConnectOption
  • 安卓开发之MQTT使用(客户端)

    千次阅读 2020-12-21 17:55:22
    在我们的项目中,有时候会使用到实时通信之类的功能,有些可以使用本地post或者get轮询,但是会占用太内存,今天我们就来介绍一个叫做MQTT的东西实现双向通信 先导包 implementation 'org.eclipse.paho:org....
  • openssl生成证书,阿里云EMQ服务器与本地mqtt.fx客户端(代替esp8266)测试 出于学习8266和项目的需要,然后感觉百度上这方面的资料不而且有点,就结合了已有的资料,做了一份比较综合的总结吧算是。如有错误望...
  • MQTT--Qt5编写MQTT-client客户端

    千次阅读 2018-07-25 09:03:51
    库的下载地址:https://github.com/emqtt/qmqtt  好不容易编译成功,于是写下经验。 编译环境: 桌面环境:Windows10 Qt5版本: 开始 ...4、配置文件 5、点击build完成 6、重点!!!  - ...
  • 目录 1. 准备 2. MQTT.fx 设置登录名、密码 3.MQTT.fx 接入阿里云,订阅Topic ...阅读本篇文章,不需要了解 MQTT协议和通信帧的格式,只要创建好阿里云的产品和设备,即可使用 MQTT.fx 接入调试。关于 MQT.
  • 网上可以找到的mosquitto真的不,俺这种不是什么技术大牛的人搞起来真的好费工夫。 在此本着共享精神跟大家分享。(其中的服务端的类基本上使用了网络上一位朋友的共享)由于是整整三天的调查成果,因此例外拿个10...
  • 深入浅出MQTT: Unity客户端和服务端

    千次阅读 2019-08-15 17:14:59
    (本文把服务器搭建和unity客户端代码一起讲了,文章可能会有点长,请耐心看完) MQTT是IBM开源的一个通讯方式,如果你是在做物联网或传感器之类的通讯,这个通讯方式十分适合你,下面讲一下MQTT的优点: (1)精简,...
  • 简单介绍MQTT 简单介绍TLS 搭建MQTT服务器 1.配置用户名密码 这里需要配置三个字段 生成用户名密码 生成acl_file文件 2.使用openssl 生成服务器证书和客户端证书 安装openssl 创建CA证书 生成服务器证书 生成...
  • 这里,博主做了一个简单的概念图。 我们需要针对云和端...- 支持设备,每个设备由一个ESP8266支持 - ESP8266作为Client,涉及到 `MQTT、HTTP、COAP、WS`等等 - 在ESP8266上开发用户业务功能,涉及到`处理服务端数
  • 1.服务端软件对比  https://github.com/mqtt/mqtt.github.io/wiki/servers ...支持的客户端语言 IBM MQ 完整的MQTT v3.1 IBM MQ JMS 企业级 IBM MQ(之前称作 WebSphere MQ)是一个安全...
  • MQTT.fx是调试MQTT协议一个必备的工具软件,这里归纳粗略介绍...2)配置MQTT客户端参数 打开MQTT.fx;点击设置图标 在Profile Name 栏可随便填入一个名称,代表你当前使用客户端的名称。 在Profile Typer 栏选择M.
  • WINCC7.5配置MQTT客户端功能

    千次阅读 2020-05-22 20:43:20
    双击Cloud Connector配置MQTT服务的连接。 云提供商选择第二项:Generic,通用的MQTT协议。 代理地址填:MQTT服务器的IP地址,代理端口填:1883,站名称:可以自定义 3.配置单个变量属性,在右下角属性开启WINCC...
  • 转载于https://www.cnblogs.com/cheng2015/p/12143279.html
  •  总结一下,Apollo作broker的配置和操作还是挺简单的,看网上的一些博客说明,感觉比很broker工具的部署都简单,当然功能比较如何,鄙人没测试过,也没调查过,就不清楚了。paho_mqtt这个库还是比较简单易懂的,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,005
精华内容 3,202
关键字:

mqtt配置多客户端