如何在飞凌嵌入式T113-i开发板的Buildroot中移植MQTT协议?

原创 2024-01-29 14:41:00 t113 全志t113 t113i移植MQTT协议

飞凌嵌入式OK113i-S开发板上市一段时间以来收获了很多关注,也成为了许多客户项目选型的优质之选。在实际的项目开发中,工程师朋友们可能会需要在文件系统中移植一些工具或协议,那么该如何进行移植操作呢?我们可以通过添加package包配置的方式在OK113i-S开发板的Buildroot中移植新功能。本篇文章,小编就以在Buildroot移植MQTT协议为例为大家介绍。

Part 1 配置文件介绍

首先了解一下在Buildroot中移植功能时涉及到的配置文件。

查看飞凌嵌入式OK113i-S开发板源码中已有的配置文件,可以看到在路径 buildroot/buildroot-201902/package/mosquitto 里边包括以下几个文件:

Config.in

mosquitto.mk

mosquitto.hash

mosquitto.service

S50mosquitto

① Config.in

Config.in文件通过 BR2_PACKAGE_** 作为开关来告知Buildroot需要哪个包参与编译,开关在 buildroot/buildroot-201902/configs/ 下面的 OK113I_linux_defconfig 配置文件中赋值,类似于内核中的Kconfig文件。

例如:

package/Config.in中写了调用关系

source "package/mosquitto/Config.in";

package/mosquitto/Config.in中写了

BR2_PACKAGE_MOSQUITTO信息。 


② demo.mk

这个文件中声明一些包的信息,比如:指定包的版本、包源码下载链接、存放路径、编译规则、工具链等。编译时会按照这个文件中的下载地址和版本下载源码包到指定路径并进行编译和文件拷贝,相当于Makefile文件。

例如:mosquitto.mk

文件开头先写了软件包版本和下载地址,我们在浏览器访问该地址可以找到对应版本的软件包。编译时,如果源码中没有该文件,就会自动下载。

mosguitto-1.5.8.tar.gz

mosguitto-1.5.8.tar.gz.asc

除此之外文件中还定义了其他的编译规则,包括文件拷贝路径等内容。

③ demo.hash

这个文件会记录下载的源码包的hash校验码,防止下载的源码包出错。

④ demo.service

此文件是为systemd服务 ,systemd开机后会依据此文件启动demo服务,在demo.mk中会指定此文件的源路径已经安装路径。目前OK113i-S开发板没有使用该服务,因此可以不用管它。

⑤ S50demo

此文件类是demo.service,是目前OK113i-S开发板在使用的开机服务类型。


在以上5种文件中Config.in和demo.mk是必须的,其他文件按需配置即可。具体配置内容可参考已有文件或根据实际情况进行书写。Mosquitto已经有写好的配置文件,可以直接用,一般配置文件由项目的维护者或开发者提供,如果自己移植的文件没有配置文件,可以参考已有配置文件写一个。

Part 2  执行

我们需要在buildroot/buildroot-201902中执行

make OK113I_linux_defconfig

然后执行make menuconfig ARCH=arm

在图形配置界面进行配置(如果执行报错,请先安装该指令:sudo apt-get update 和 sudo apt-get install ncurses)。

进入图形配置界面后输入“/”搜索要配置的功能,如图搜索Mosquitto看到的信息,按提示选“1”可进入目标选项,按“空格”选择后保存并退出。

配置完成后,在当前目录下执行 ./build.sh对文件系统进行编译,编译完成后可查看文件系统中是否已经有对应文件。(注:如果没有网络,则编译时不能自动下载源码包,需要到下载地址手动下载源码包并放到源码包存放路径中。)

Part3  MQTT的测试验证

修改OK113i-S开发板的 /etc/mosquitto/mosquitto.conf 文件,在#user mosquitto后加一行user root,重启服务或者开发板。也可以杀掉进程并重新执行:

/usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf

然后进行测试——

订阅test主题:

mosquitto_sub -t test &

发布test主题:

mosquitto_pub -t test -m "hello world"

能看到返回的 hello world 字样,就说明移植成功了。



相关产品 >

  • FET113i-S核心板

    全志T113处理器设计全国产化工业级核心板, 飞凌T113-i核心板采用全志T113-i处理器设计,高性价比 T113-i是全志科技推出的高性能工业控制处理器T113系列。T113-i 主频1.2GHz,集成双核Cortex-A7 CPU、64位玄铁C906 RISC-V CPU和HiFi4 DSP,提供高效的计算能力;T113-i核心板整板采用工业级国产元器件,是工业、电力、交通等关键领域实现国产化降本的优质之选。T113性能参数及功能规格参数详解见参数表。推荐飞凌FET113i核心板

    了解详情
    FET113i-S核心板
  • OK113i-S开发板

    全志T113处理器系列开发板,T113开发板是飞凌嵌入式基于全志T113-i处理器设计的一款工业核心板。T113开发板物料采用全国产工业级元器件,全志T113 开发板功能完善、性价比高、资料丰富。T113系列推荐飞凌T113-i开发板,Linux系统,双核CortexA7,64位玄铁C906 RISC-V CPU和HiFi4 DSP,是国产化降本的优质选择。

    了解详情
    OK113i-S开发板

推荐阅读 换一批 换一批