`
星夜的遐想
  • 浏览: 190527 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

安装mqtt的客户端过程

阅读更多

1、今天与客户联调,客户反映我们搭建的mqtt server连不上,我之前一直程序直连的,为了验证这个问题,特地安装了一个客户端。

 

 

 

先将安装过程记录如下:

 

 

 

1、下载客户端源码包,网上用的比较多的是mosquitto,网上找了个下载地址:

 

 

 

http://www.eclipse.org/downloads/download.php?file=/mosquitto/source/mosquitto-1.4.15.tar.gz

 

 

 

2、解压到 /opt目录下

 

tar -zxvf mosquitto-1.4.15.tar.gz 

 

 

 

3、make 编译,这个过程比较曲折,各种报错,好不折腾。

 

错误1:

 

mosquitto.c:884: error: ‘struct mosquitto’ has no member named ‘achan’

 

mosquitto.c:887: warning: implicit declaration of function ‘ares_fds’

 

mosquitto.c:887: error: ‘struct mosquitto’ has no member named ‘achan’

 

mosquitto.c:992: error: ‘struct mosquitto’ has no member named ‘achan’

 

mosquitto.c:993: warning: implicit declaration of function ‘ares_process’

 

mosquitto.c:993: error: ‘struct mosquitto’ has no member named ‘achan’

 

 

 

解决方案:

 

到解压包的路径下修改conifg.mk 中的WITH_SRV=YES =>WITH_SRV=no

 

# Build with SRV lookup support.

 

WITH_SRV:=no

 

 

 

 

 

错误2:

 

g++: Command not found

 

 

 

解决方案:

 

编译之前,需要安装c++插件

 

yum install gcc gcc-c++

错误3:

read_handle_server.c:31:25: error: uuid/uuid.h: No such file or directory

read_handle_server.c: In function ‘client_id_gen’:

read_handle_server.c:46: error: ‘uuid_t’ undeclared (first use in this function)

read_handle_server.c:46: error: (Each undeclared identifier is reported only once

read_handle_server.c:46: error: for each function it appears in.)

read_handle_server.c:46: error: expected ‘;’ before ‘uuid’

read_handle_server.c:59: warning: implicit declaration of function ‘uuid_generate_random’

read_handle_server.c:59: error: ‘uuid’ undeclared (first use in this function)

read_handle_server.c:60: warning: implicit declaration of function ‘uuid_unparse_lower’

方案2:

yum install openssl-devel(根据需要)

yum install c-ares-devel(必须)

yum install libuuid-devel(必须)

3、安装

sudo make install //安装时需要管理员权限

 

4、安装完成后,验证

[root@localhost mosquitto-1.4.5]# mosquitto --help mosquitto version 1.4.5 (build date 2018-04-18 01:26:54-0700) mosquitto is an MQTT v3.1 broker.

....

 

5、测试

 

切换两个窗口:

 

订阅方:

 

mosquitto_sub -t topicA -h 111.222.67.243 -u tbox-client -P 1qaz2wsx

 

 

 

发布方:

 

 

 

mosquitto_pub -t topicA -m Msgfrom1 -h 111.222.67.243 -u tbox-client -P 1qaz2wsx

 

 

 

出现意外状态:

 

找不到libmosquitto.so.1

error while loading shared libraries: libmosquitto.so.1: cannot open shared object file: No such file or directory

解决方案:修改libmosquitto.so位置

# 创建链接

sudo ln -s /usr/local/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1

# 更新动态链接库

sudo ldconfig

 

 

附录参数解释:

 

-h broker地址

 

-p 端口 (不指定默认1883)

 

-u 用户名(连接的用户名,mqtt server默认是开启匿名用户访问的,不需要)

 

-P 密码 (连接的密码,mqtt server默认是开启匿名用户访问的,不需要)

 

-m 消息内容 

 

-t topic名字

 

 

 

参考文档:

 

https://www.cnblogs.com/xiaoerhei/p/3777157.html 

 

http://blog.163.com/allegro_tyc/blog/static/33743768201667101816858/ 

 

https://blog.csdn.net/laughing_cui/article/details/46530785

 

 

 

 

 

 

分享到:
评论

相关推荐

    MQTT 客户端

    MQTT客户端是这个协议中的关键组成部分,它们负责连接到MQTT服务器(也称为代理),并进行数据的发送与接收。下面我们将详细探讨MQTT客户端及其相关知识点。 一、MQTT协议基础 1. MQTT协议的特点: - 低开销:设计...

    c#版MQTT客户端

    C#版MQTT客户端是针对MQTT协议开发的软件组件,允许C#应用程序进行MQTT通信,实现设备间的数据传输、状态更新或远程控制等功能。 在这个“c#版MQTT客户端”项目中,主要包括了两个核心功能:订阅topic和发布消息。 ...

    mqtt客户端工具

    使用 Paho MQTT 客户端工具,开发者可以轻松测试 MQTT 服务的可用性,验证数据传输的正确性,或者在开发过程中调试 MQTT 相关的问题。例如,你可以通过配置 `paho.ini` 文件,设置连接到 MQTT 服务器的参数,然后...

    activeMQ 推送之mqtt客户端

    连接过程中,客户端会发送 CONNECT 报文,包含身份信息和连接参数。断开时,客户端发送 DISCONNECT 报文。 5. **保持连接(Keep Alive)**:为了检测客户端是否在线,MQTT 协议引入了心跳机制。客户端与服务器在...

    MQTT 客户端调试工具V1.1

    "MQTT客户端调试工具V1.1"正是这样一款专为MQTT协议设计的辅助工具,旨在帮助开发者更有效地测试和调试MQTT服务。 首先,让我们详细了解一下这个工具的主要特性: 1. **十六进制显示**:在调试过程中,有时数据...

    mqtt客户端调试工具以及源码下载

    在本主题中,我们关注的是MQTT客户端调试工具及其源码,这对于开发者来说是非常宝贵的资源,特别是对于那些正在从事Java编程并需要处理MQTT协议的项目的人来说。 标题提到的"mqtt客户端调试工具"是指用于测试和调试...

    MQTT客户端通用测试工具.rar

    总的来说,MQTTFX是MQTT开发和测试过程中不可或缺的工具,其简洁易用的界面和丰富的功能为MQTT客户端的测试提供了极大的便利。在64位Windows系统上,"mqttfx-1.5.0-windows-x64"版本能够无缝融入开发环境,帮助用户...

    嵌入式常用的C语言mqtt客户端源码

    在C语言环境下,开发者可以使用开源的MQTT客户端库,如`paho-mqtt3c`,这是一个由IBM开发的轻量级MQTT客户端库。该库提供了基本的MQTT连接、发布、订阅和断开连接等功能。 - **连接**:客户端需要连接到MQTT...

    MQTT客户端推送实现

    总的来说,实现MQTT客户端推送涉及客户端库的集成、连接管理、订阅与发布操作,以及可能的服务器配置。通过理解这些概念,你可以构建一个可靠的、实时的数据传输系统,适用于各种IoT和移动应用场景。

    MQTT客户端.rar

    几个文件(1、设置配置文件_1-4.png)说明了配置MQTT客户端的过程。这可能包括设置客户端ID(每个连接到Broker的客户端必须有唯一ID)、保持连接的参数、心跳间隔(Keep Alive)以及客户端的其他特性。 3. **订阅...

    VB6 MQTT,C# mqtt,VB.net+MQTTnet实现的MQTT客户端示例资源

    C# MQTT客户端示例可能涉及到使用.NET Framework或.NET Core,通过NuGet包管理器安装MQTTnet库版本4.0.1.184。MQTTnet是一个强大的开源库,它为.NET开发者提供了完整的MQTT客户端功能,包括连接到MQTT服务器(如使用...

    ESP8266开发,实现MQTT客户端,与MQTT服务器通信,断线重连

    在本项目中,我们将探讨如何使用ESP8266作为MQTT客户端,与MQTT服务器进行通信,并实现断线后的自动重连功能。 MQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅式消息传输协议,广泛应用于...

    mqtt客户端,适合初学者参考,使用的是mqttnet三方包

    在本项目中,使用C#的Visual Studio 2019作为开发环境,.NET Framework 4.8作为运行时环境,提供了丰富的类库和工具支持,使得开发MQTT客户端变得更加方便。 MqttNet是一个开源的C# MQTT客户端实现,它完全遵循MQTT...

    QT实现MQTT客户端源码

    在实现MQTT客户端的过程中,你需要完成以下步骤: 1. **配置项目**: 在QT Creator中创建一个新的QT项目,设置好编译器和目标平台,并引入Paho MQTT C++库。 2. **连接MQTT服务器**: 使用MQTT库提供的API建立TCP...

    MQTT 1.7.1 免注册版 客户端软件

    在压缩包子文件的文件名称列表中,"MQTT 1.7.1 免注册版 客户端软件 .exe" 指的是这个MQTT客户端的可执行文件,用户下载后可以直接运行在Windows操作系统上。通常,这样的客户端软件会包含创建连接、订阅主题、发布...

    Mqtt客户端

    7. **连接安全性:** Mqtt客户端支持SSL/TLS加密,以保护数据在传输过程中的安全性。 **MqttClientAndroid-master:** 这个压缩包很可能包含了针对Android平台实现的Mqtt客户端源代码。开发人员可以研究并理解如何...

    mqtt-tls_mqtttls_mqtt_mqtt客户端_TLS_源码.rar

    - 安全连接:MQTT客户端可以通过TLS与服务器建立安全连接,确保数据在传输过程中的机密性和完整性。 - 证书验证:TLS使用数字证书来验证服务器的身份,防止假冒服务器。 - 客户端认证:TLS也支持客户端证书,实现...

    mqtt-tls_mqtttls_mqtt_mqtt客户端_TLS

    MQTT客户端是连接到MQTT服务器(也称为Broker)的应用程序,用于发送和接收消息。在“mqtttls”上下文中,客户端不仅需要遵循MQTT协议,还需要支持TLS握手过程,以便在建立连接时验证服务器的身份,并创建一个加密的...

    MQTT客户端(可用于测试)

    在这个"MQTT客户端(可用于测试)"中,我们有一个专为测试目的设计的MQTT客户端实现,它可以在Visual Studio (VS)环境中运行。以下是对这个主题的详细阐述: 1. **MQTT协议**: MQTT是基于TCP/IP协议栈的,设计目的...

    mqtt+服务端+客户端

    `Mqtt-Clinet-Window-测试工具.zip`可能包含了一个适用于Windows平台的MQTT客户端测试工具,用于模拟真实的客户端行为,测试与服务端的连接、发布消息、订阅主题等功能。这样的工具对于开发和调试MQTT应用非常有用,...

Global site tag (gtag.js) - Google Analytics