`
星夜的遐想
  • 浏览: 193521 次
  • 性别: 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

 

 

 

 

 

 

分享到:
评论

相关推荐

    基于Netty实现的MQTT客户端_netty-mqtt-client.zip

    此外,安全机制也是实现MQTT客户端时不能忽视的部分,它包括消息的加密传输、客户端认证、授权等安全策略,以保证通信过程的安全可靠。 在开发环境配置方面,通常需要Java开发环境,因为Netty和MQTT客户端的大部分...

    MQTT客户端-v3.1.1中文.zip

    MQTT是一种轻量级的消息...这个MQTT客户端软件是一个学习和实践物联网通信的优秀平台,它不仅能够帮助用户理解MQTT协议的工作原理,而且还能实际操作和体验物联网通信的过程,极大地提升了用户的学习效率和实践能力。

    这是一个用Qt5写的MQTT客户端程序_qt_mqtt_client.zip

    标题中提到的“这是一个用Qt5写的MQTT客户端程序_qt_mqtt_client.zip”,暗示该压缩包文件包含了一个基于Qt5框架开发的MQTT客户端程序。该程序的核心功能是作为一个客户端与MQTT服务器进行通信。客户端程序通常会...

    MQTT 客户端

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

    c#版MQTT客户端

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

    C#实现Mqtt客户端和服务端_MQTT.zip

    在具体实现上,C#实现MQTT客户端和服务端需要依赖于一些基础的网络编程知识,以及对.NET框架下网络通信机制的了解。开发者通常需要利用现有的库和框架,如System.Net或第三方库,来简化编程工作。在服务端实现时,还...

    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. **十六进制显示**:在调试过程中,有时数据...

    VS2017 MQTT客户端

    VS2017 MQTT客户端开发是一项技术活动,主要利用Visual Studio 2017这一集成开发环境进行上位机软件的开发工作。MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息传输协议,广泛应用于物联网(IoT)...

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

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

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

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

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

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

    MQTT 1.7.1 免注册版 客户端软件

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

    嵌入式常用的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)是一种轻量级的发布/订阅式消息传输协议,广泛应用于...

    QT实现MQTT客户端源码

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

Global site tag (gtag.js) - Google Analytics