加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • Part 1、配置文件介绍
    • Part 2、执行
    • Part 3、MQTT的测试验证
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

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

01/26 10:50
2297
阅读需 7 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

飞凌嵌入式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.indemo.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对文件系统进行编译,编译完成后可查看文件系统中是否已经有对应文件。(注:如果没有网络,则编译时不能自动下载源码包,需要到下载地址手动下载源码包并放到源码包存放路径中。)

Part 3、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 
字样,就说明移植成功了。

 

以上就是在飞凌嵌入式OK113i-S开发板的Buildroot中移植MQTT协议的方法,供屏幕前的工程师小伙伴参考。如果您还有其他想要了解的内容,欢迎在文末留言。点击下图进入飞凌嵌入式官网,即可查看OK113i-S开发板的更多产品详情。

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
CM315D32768HZFT 1 Citizen Finedevice Co Ltd Parallel - Fundamental Quartz Crystal, 0.032768MHz Nom, SMD, 2 PIN
暂无数据 查看
TLP185(V4GHTL,SE(T 1 Toshiba America Electronic Components Transistor Output Optocoupler, 1-Element, 3750V Isolation
暂无数据 查看
CY62146EV30LL-45ZSXIT 1 Cypress Semiconductor Standard SRAM, 256KX16, 45ns, CMOS, PDSO44, LEAD FREE, TSOP2-44
$6.47 查看
飞凌嵌入式

飞凌嵌入式

保定飞凌嵌入式技术有限公司,创建于2006年,是一家专注嵌入式核心控制系统研发、设计和生产的高新技术企业,是国内较早专业从事嵌入式技术的企业之一。 经过十几年的发展与积累,公司拥有业内优秀的软硬件研发团队,在北京及保定建立两大研发基地,在苏州、深圳设有华东、华南技术服务中心,并在北美、欧洲以及亚太等其他国家和地区拥有国际业务网络。公司研发的智能设备核心平台广泛应用于物联网、工控、轨道交通、医疗、电力、商业电子、智能家居、安防、机器人、环境监测等诸多领域。

保定飞凌嵌入式技术有限公司,创建于2006年,是一家专注嵌入式核心控制系统研发、设计和生产的高新技术企业,是国内较早专业从事嵌入式技术的企业之一。 经过十几年的发展与积累,公司拥有业内优秀的软硬件研发团队,在北京及保定建立两大研发基地,在苏州、深圳设有华东、华南技术服务中心,并在北美、欧洲以及亚太等其他国家和地区拥有国际业务网络。公司研发的智能设备核心平台广泛应用于物联网、工控、轨道交通、医疗、电力、商业电子、智能家居、安防、机器人、环境监测等诸多领域。收起

查看更多

相关推荐

电子产业图谱

秉承专业态度,专注智能设备核心平台研发与制造,以技术研发创新为主导,以客户实用化,产品化为目标,把握嵌入式行业的前沿发展需求,利用核心技术为客户提供稳定、可靠、功能优异的高品质产品。合作联系:17713286011