最近做物联网设备,需求长连接推送功能。当前物联网有一个标准协议是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的客户端就跑起来了。
---------------------
作者:rocky-bull
来源:CSDN
原文:https://blog.csdn.net/rambomatrix/article/details/62892151
版权声明:本文为博主原创文章,转载请附上博文链接!