px30移植MQTT服务器mosquitto

本文详细介绍了如何在ARM开发板上交叉编译并安装mosquitto、cJSON和openssl。首先从官方源获取安装包,然后针对不同组件进行编译配置,包括修改Makefile、设置安装路径和编译工具。完成编译后,将库文件和配置文件移植到目标板上,确保mosquitto的正常运行。整个过程涵盖了从源码获取、编译到移植的完整步骤。
摘要由CSDN通过智能技术生成

1、安装包获取

mosquitto安装包,必需

获取途径:
官网https://mosquitto.org/files/source/,如下所示
在这里插入图片描述
包含了所有的发行版本,可根据需求选择最新的版本。

cJSON安装包,选装(取决于mosqitto是否开启支持cJSON)
获取途径:
git clone https://github.com/DaveGamble/cJSON

openssl安装包,选装(取决于mosquitto是否开启支持openssl)
获取途径:
官网:https://www.openssl.org/source/
在这里插入图片描述
根据需求选择对应的版本。
关于openssl包:OpenSSL整个软件包大概可以分成三个主要的功能部分:SSL协议库、应用程序以及密码算法库。作为一个基于密码学的安全开发包,OpenSSL提供的功能相当强大和全面,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。

2、安装

如果系统支持,通过apt安装,可直接选择sudo apt-get install进行安装。

编译源码安装:
cJSON
STEP 01、修改Makefile。
由于需要移植到ARM开发板上,目标开发板为PX30,所以需要修改Makefile。
修改编译工具,改为交叉编译工具:
在这里插入图片描述
修改安装路径,不使用默认安装,因为编译出的是arm架构可执行文件,无法在本机运行,所以无需安装到/usr/local,可以新建一个arm-lib目录,选择将其安装到arm-lib/build/cjson目录下。
在这里插入图片描述
STEP 02、执行make 和 make install
make 在这里插入图片描述
make isntall在这里插入图片描述
STEP 03、获取lib库文件到对应的头文件
/home/arm-lib/build/cjson/lib下可以看到对应的lib库文件在这里插入图片描述
/home/arm-lib/build/cjson/include/cjson下可以看到对应.h头文件
在这里插入图片描述

openssl
STEP、 01 配置编译工具以及安装路径。
./Configure shared os/compiler:aarch64-linux-gnu-gcc --prefix=/home/arm-lib/build/openssl/
执行完毕显示如下 在这里插入图片描述

STEP、 02 执行make 和 make install
make 编译成功,显示如下在这里插入图片描述
make install,显示如下
在这里插入图片描述
STEP 03、获取lib库文件到对应的头文件
头文件位于/home/arm-lib/build/openssl/include/openssl
库文件位于/home/arm-lib/build/openssl/lib

mosquitto
STEP 01、解压安装包
tar -zxvf mosquitto-2.0.12.tar.gz
cd mosquitto
获得源码如下:
在这里插入图片描述
STEP 02、修改config.mk
修改需要的功能
是否支持cJSON,设为yes时,编译需要依赖cJSON库。 在这里插入图片描述
是否支持systemd在这里插入图片描述
websockets支持
在这里插入图片描述
修改编译工具
在这里插入图片描述
添加cJSON库路径,cJSON头文件路径
在这里插入图片描述
修改安装路径
在这里插入图片描述

STEP 03、执行make 和 make install
生成安装包如下:
在这里插入图片描述
STEP 04、移植mosquitto
将sbin/mosquitto移植到目标板 /usr/local/sbin下。
将mosquitto.conf移植到目标板 /etc下。

STEP 05、测试mosquitto

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值