R-QWERT
这个作者很懒,什么都没留下…
展开
-
Linux:MQTT通信协议之八 -- 交叉编译paho.mqtt.c
1、前言前面第五篇文章已经交叉编译过mosquitto了,其实paho.mqtt.c也是类似编译的,都是需要先交叉编译OpenSSL库,然后在make编译的时候设置CFLAGS等变量来指定OpenSSL的头文件和库路径。2、交叉编译步骤2.1 交叉编译OpenSSL源码下载:https://www.openssl.org/source/old/编译步骤:tar xzvf openssl-1.1.0k.tar.gzcd openssl-1.1.0k/mkdir tmp./config sh原创 2021-01-31 18:29:31 · 767 阅读 · 0 评论 -
Linux:MQTT通信协议之七 -- 编写paho.mqtt.c简单的C例程(异步函数)
文章目录1、前言2、订阅端3、发布端4、编译5、配置运行环境1、前言异步函数的好处就是以非阻塞的方式去运行,但它相比于同步函数的结构就要稍微复杂一些。异步方式就是先设置对应的结构体,之后就去启动对应的操作,这些操作后台执行完成之后就会调用相结构体里面的成功或失败函数,我们就可以在这些被调用的函数里面执行我们下一步的操作。2、订阅端程序一开始就根据我们定义的宏去创建一个实例和设置回调函数,接着定义一个“连接”的结构体填充用户密码、函数指针,这个结构体中将文件句柄作为context传进去供onConn原创 2020-08-05 12:43:43 · 1514 阅读 · 1 评论 -
Linux:MQTT通信协议之六 -- 编译paho.mqtt.c及编写简单的C例程(同步函数)
文章目录1、编译 paho.mqtt.c1.1 步骤1.2 说明1.3 同步函数2、订阅端2.1 订阅端——MQTTClient_receive阻塞等待方式2.2 订阅端——MQTTClient_setCallbacks回调的异步方式3、发布端4、编译5、配置运行环境1、编译 paho.mqtt.c前面几节讲的都是Mosquitto的服务器端和客户端,这节看看另外一个常用的MQTT客户端的开源项目paho mqtt,它还有其他的语言版本,这里主要是看C语言版本的项目。1.1 步骤下载地址: htt原创 2020-08-05 12:24:23 · 2265 阅读 · 0 评论 -
Linux:MQTT通信协议之五 -- 交叉编译mosquitto
1、前言前面的测试例程都是基于Linux PC上的,但在我们的使用过程中,往往需要在其他平台上使用,比如ARM架构的平台,这时由于CPU架构的不同,指令集也就不同,所以接下来就是需要进行交叉编译。2、交叉编译步骤回想一下在PC上编译的步骤(文章链接),结合config.mk可以知道mosquitto依赖于OpenSSL,除非你确定不再使用密码认证,所以接下来需要先编译OpenSSL。2.1 交叉编译OpenSSL源码下载:https://www.openssl.org/source/old/编原创 2021-01-29 11:47:48 · 433 阅读 · 2 评论 -
Linux:MQTT通信协议之四 -- 编写mosquitto的C例程(异步函数)
文章目录1、前言2、订阅端3、发布端1、前言上一篇文章简单提及了以异步函数和同步函数对比,由于异步函数是非阻塞的,所以性能上比同步函数要稍好些,所以也就常用异步函数来实现MQTT的通讯。异步函数与同步函数两者的差别就是在连接服务器的connect函数、loop循环函数。那接下来就简单探究一下loop函数的调用方式:同步函数是调用mosquitto_loop函数来阻塞等待实现的一种通信;而查看源码我们就会发现,异步方式的"loop"函数就是创建了一个线程去完成同步方式中导致阻塞等待的mosquitto_原创 2020-07-13 23:13:52 · 2243 阅读 · 0 评论 -
Linux:MQTT通信协议之三 -- 编写mosquitto的C例程(同步函数)
文章目录1、前言2、订阅端(sub.c)3、发布端(pub.c)4、编译5、执行程序查看测试结果6、程序运行情况如图7、服务器端输出信息1、前言前面两节讲了MQTT的简单介绍、mosquitto服务器端与客户端的两种搭建方式及其简单测试,但那些都是在命令行里面的操作,而我们需要写程序的时候总不能一直都是system函数来调用吧。上一篇文章里面使用的就是mosquitto官方源码,那么有了源码,能做的事情就比较多了,包括编写应用程序。在上一篇文章中讲了编译源码,成功之后会得到几个编写C/C++程序所需要原创 2020-07-13 09:49:33 · 1619 阅读 · 1 评论 -
Linux:MQTT通信协议之二 -- 编译mosquitto源码搭建MQTT
1、下载源码https://mosquitto.org/download/2、编译tar xzvf mosquitto-1.6.9.tar.gzcd mosquitto-1.6.9/makemake install3、可能会遇到的问题① 如果按照上一篇文章安装了mosquitto和mosquitto-clients,为避免出现问题,可以执行sudo apt-get remove mosquitto和sudo apt remove mosquitto-clients把它们先卸载,如果没有原创 2020-06-06 15:26:05 · 686 阅读 · 0 评论 -
Linux:MQTT通信协议之一 -- mqtt基本概念、apt-get命令搭建mosquitto服务器及简单测试
MQTT1、MQTT是什么2、MQTT通信模式3、MQTT发布服务质量4、MQTT遗嘱消息5、MQTT主题筛选6、Ubuntu安装mosquitto7、测试(默认配置)8、设置服务器端密码 / 端口9、测试(密码连接)10、参考文章11、附加内容(相关参数说明)1、MQTT是什么Message Queuing Telemetry Transport是一个基于TCP/IP的轻量级、灵活的即时通讯协议,多用于IOT物联网开发(这里假设你已经了解过MQTT是怎样的一个协议了,所以只是简单说明一下,想了解更多可原创 2020-06-04 17:11:47 · 1897 阅读 · 1 评论