openwrt 添加自定义编译项

项目场景:

项目场景:最近需要在编译一个代码的时候,在配置页面去做一个配置,比如我的MQTT代码可以对接几个物联网平台,但是我实际上只需要对接一个平台。这个时候,我就需要在配置页面选定我要对接哪个平台。


问题描述

如何在make menuconfig配置页面中添加编译项,以及如何通过编译项,来引导代码编译一部分功能而不是全部?


解决方案:

修改软件包的makefile 和代码宏定义

#上层界面
define Package/$(PKG_NAME)
  CATEGORY:=XND modules
  SUBMENU:=MQTT LINK modules
  TITLE:=$(PKG_NAME) module
  DEPENDS:=+libc +libuci +libdebug +libubox +ubus +libjson-c +libc  +libmosquitto 
endef

#帮助我们可以在配置页面出现ThingsBoard 和 Jetlink两个选项
define Package/$(PKG_NAME)/config
	menu "Select MQTT Link options"
		config ThingsBoard
			bool "ThingsBoard support"
			default n
			help
			   ThingsBoard MQTT  support.
		config Jetlink
			bool "Jetlink support"
			default y
			help
			  Jetlink MQTT support.
		config Normal
			bool "Normal support"
			default n
			help
			  Normal MQTT support.
	endmenu
endef
#这个帮助我们在编译的时候加上CONFIG_Jetlink 或者CONFIG_ThingsBoard宏定义
ifdef CONFIG_Jetlink
  CFLAGS+=-DCONFIG_Jetlink
endif

ifdef CONFIG_ThingsBoard
  CFLAGS+=-DCONFIG_ThingsBoard
endif

代码修改

//代码中设置宏定义即可完成对接不同的平台的配置
#ifdef CONFIG_Jetlink
    rc = Jetlink_connect(&rtu_net);
    if (rc < 0)
    {
        goto error;
    }
#elif CONFIG_ThingsBoard
    rc = ThingsBoard_connect(&rtu_net);
    if (rc < 0)
    {
        goto error;
    }
#endif

效果展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

欢迎提问,有问必答。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenWRT 是一种开源的嵌入式操作系统,常用于路由器等网络设备中。通过配置自定义的DDNS(动态域名解析服务),可以实现远程访问路由器的功能。 首先,我们需要在路由器上安装相应的软件包。在OpenWRT的系统管理界面中,选择“软件包管理器”,并确保软件包列表已更新。然后搜索并安装“ddns-scripts”软件包。 安装完成后,我们需要在配置文件中设置DDNS相关的参数。在路由器的系统管理界面中,选择“文件浏览器”,找到“/etc/config/ddns”文件,并点击编辑。 在配置文件中,我们需要设置以下参数: 1. `option enabled '1'`:启用DDNS功能。 2. `option lookup_host 'yourdomain.com'`:设置需要解析的域名。 3. `option domain 'yourdomain.com'`:设置域名所在的顶级域。例如,如果是yourdomain.com,则此参数为`yourdomain.com`。 4. `option username 'yourusername'`:设置DDNS服务的用户名。 5. `option password 'yourpassword'`:设置DDNS服务的密码。 6. `option interface 'wan'`:设置使用的网络接口。 7. `option use_syslog '1'`:启用系统日志功能。 配置完成后,保存文件并重启路由器。系统会根据你的设置定期更新DDNS记录。 为了验证DDNS是否正确配置,可以通过远程访问路由器的方式来确认。在浏览器中输入你的域名,如果能够正确访问到路由器的管理界面,则说明DDNS已成功配置。 需要注意的是,自定义DDNS服务需要事先在域名注册商处设置正确的DNS记录,将域名解析服务器指向你的路由器的公共IP地址。 以上就是OpenWRT配置自定义DDNS的简要介绍。希望对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值