最近做物联网设备,需求长连接推送功能。当前物联网有一个标准协议是MQTT,对应有很多开源服务端,如何快速接入这个服务呢。有两种接入方案:
1.自己clone 代码修改维护。
2.找第三方服务,比如当前提供支持的有云巴,bat。bat目前都还处于公测中,at使用都需要申请设备,b可以直接接入。对比了价格,b最便宜,一个月免费消息1百万条。
最后决定先尝试使用百度云的MQTT服务后台,在百度云里术语叫做“”物接入“”。
百度云MQTT客户端兼容PAHO,PAHO也是一个开源的MQTT协议项目。下面需要写客户端对接服务,百度云提供了如下语言的支持:
https://cloud.baidu.com/doc/IOT/MQTTClientSDK.html
由于是物联网设备,我们选择Embedded C/C++。点击进入github工程页面:
https://github.com/eclipse/paho.mqtt.embedded-c
在Linux环境下:
git clone https://github.com/eclipse/paho.mqtt.embedded-c.git
cd 到工程根目录
make
编译成功,build目录生成如下文件:
**samples/pub0sub1
samples/qos0pub
libpaho-embed-mqtt3c.so
libpaho-embed-mqtt3c.so.1
libpaho-embed-mqtt3c.so.1.0**
将三个so文件copy到/lib目录下,然后运行qos0pub,会发送一条消息。
再运行pub0sub1,会显示收到qos0pub之前发的那条消息。至此,paho mqtt 嵌入式linux平台c的客户端就跑起来了。
相关推荐
使用paho.mqtt.client实现MQTT Client连接物联网平台(ThingsCloud)
本文主要介绍使用paho.mqtt.client库实现一个MQTT Client,并使其连接到ThingsCloud物联网平台。其中包括在ThingsCloud创建项目的方法,配置参数的步骤,设计App UI的详细过程。还是用该MQTT Client发布数据至ThingsCloud,并在ThingsCloud上通过可视面板呈现出来。MQTT Client也能订阅ThingsCloud发布的Topic数据。
【Python】使用paho-mqtt库实现MQTT监听和收发
本文使用Python的paho-mqtt客户端库,实现MQTT消息收发、主题监听。代码简单实用,可直接运行。同时使用了EMQ公司的公共服务器,可直接测试代码有效性。
使用paho.mqtt.client实现MQTT Client连接EMQX Broker
本文主要介绍使用paho.mqtt.client库实现一个MQTT Client,并使其连接到EMQX物联网平台。其中包括在EMQX创建项目的方法,配置参数的步骤。还是用该MQTT Client发布数据至EMQX,并使用MQTT.fx订阅Topic。MQTT Client也能订阅MQTT.fx发布的Topic数据。
【MQTT】paho.mqtt.cpp 库的 介绍、下载、交叉编译、MQTT客户端例子源码
👉本文详细介绍了 paho.mqtt.cpp 库的“下载、交叉编译”、最后给出了怎么写MQTT客户端例子源码的例子
Paho MQTT 嵌入式c客户端研究笔记 (二)
paho.mqtt.embedded-c-master\MQTTPacket\samples,这个目录里面封装了发布消息、订阅消息的示例。运行pub0sub1,这个示例里面会去订阅主题消息、发布主题消息。并且订阅和发布的消息是同一个主题,所以在运行过程中会看到循环打印同一份消息。代码如下:#include <stdio.h> #include <string.h> #include <stdlib.
【MQTT】MQTT C语言客户端实现/ MQTT嵌入式客户端
MQTT客户端实现(嵌入式) 最新最容易使用的mqtt封装。 MQTT客户端实现(使用Eclipse Paho C库,进行了二次封装)。 在Linkit7688单片机上运行测试通过,附例程。 https://download.csdn.net/download/skyformat99/9969954 MQTT 客户端C语言编好的库和例子(example) https://downlo...
Paho mqtt C语言库介绍
虽然可以自己构造MQTT报文,但是还是比较麻烦的,采用别人设计好的库,速度更快,也不容易出现某些自己无法解决的bug,Paho基于C语言,Java,C++,,Python等主流编程语封装了MQTT的库,这次我们的参赛作品就使用了C++,Java,还有C语言的Paho封装的mqtt库。非常的方便,下面是基于C语言实现的库的github下载地址。 下载地址:Paho https://github.com/eclipse/paho.mqtt.embedded-c Paho库目录文件介绍 解压...
【MQTT】paho.mqtt.c 库的“介绍、下载、交叉编译” 详解,以及编写MQTT客户端例子源码
👉本文详细介绍了 paho.mqtt.c 库的“介绍、下载、交叉编译” ,以及怎么使用 aho.mqtt.c 库 编写MQTT客户端例子源码。
C语言基于paho实现MQTT客户端实战案例
C语言基于paho实现MQTT客户端实战案例
【MQTT】基于Paho C库的嵌入式MQTT客户端开发实战指南
本文是一份针对嵌入式开发的MQTT客户端实战指南,详细介绍了如何基于轻量级的Paho C库进行开发。内容涵盖从源码获取、工程搭建、核心网络层移植,到客户端初始化、消息收发、稳定性保障及性能调优的全过程,旨在帮助开发者在资源受限的嵌入式设备上实现稳定高效的MQTT通信。
使用paho.mqtt.embedded-c和openssl实现MQTT的单向认证功能
使用paho.mqtt.embedded-c和openssl实现MQTT的单向认证功能
C++的MQTT开发:使用Paho的C++接口实现消息发布、订阅、连接RabbitMQ
具体的MQTT应用程序可能会有不同的需求和限制。如果应用程序需要在发送消息之间有较长的时间间隔,或者需要处理长时间的非活动状态,那么可以考虑在一段时间后断开连接,并在需要时重新连接。您可以参考paho的官方文档和示例代码来进一步了解和掌握paho的cpp接口的使用。本示例代码仅提供了一个基本的框架,需要根据自己的需求进行更多的自定义和错误处理。是异步的客户端实现,它使用了异步操作和回调函数来处理发送和接收消息,不会阻塞当前线程。提供了更强大的功能和更好的并发性能,但它需要更多的代码和处理异步回调函数。
paho.mqtt.embedded-c:嵌入式平台上的高效MQTT客户端
在物联网(IoT)技术迅猛发展的当下,消息队列遥测传输(MQTT)协议因其轻量级、低功耗的特点,成为了连接各种设备与系统的首选。paho.mqtt.embedded-c 是一个为嵌入式平台设计的开源 MQTT C/C++ 客户端库。该项目由 Eclipse Paho 社区维护,旨在提供一种简单、高效的方式来接入 MQTT 服务。 ## 项目技术分析 paho.mqtt.embedded-c 采...
[嵌入式开发模块]MQTT开源库Paho嵌入式C/C++版本的移植及使用(基于W5500 io库)
这篇文章讲解了Paho的MQTT嵌入式C库的移植及使用。实现在嵌入式系统上实现MQTT client。
交叉编译OpenSSL和paho.mqtt.c
交叉编译OpenSSL和paho.mqtt.c
交叉编译paho.mqtt.c和paho.mqtt.cpp(MQTT客户端)
交叉编译paho.mqtt.c和paho.mqtt.cpp(MQTT客户端)
Paho MQTT C 客户端源码深入解析
本文深入分析了Eclipse Paho MQTT C客户端的源码实现。该开源库支持MQTT 3.1.1和5.0协议,核心模块包括网络层、协议处理和持久化存储。源码采用模块化设计,核心数据结构包括Clients(客户端实例)、Messages(消息跟踪)和Sockets(socket管理)。网络层实现了socket管理和缓冲区机制,协议处理涵盖连接管理、消息发布和QoS机制。持久化存储确保QoS消息可靠性,多线程模型分离用户操作和网络I/O。该库具有多平台支持、高性能和可靠消息传递等特点。
4944




被折叠的 条评论
为什么被折叠?



