Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
Menuconfig
MQTT
夏令营
【RSOC25】Day5 课程笔记:env添加软件包
发布于 2025-08-01 12:32:44 浏览:27
订阅该版
[tocm] # 软件包机制 ## pkg —upgrade 从软件包索引仓库拉取到本地仓库,更新软件包索引 解决找不到软件包的问题 也可以去env package文件夹git 拉取  llm chat软件包 通过api,在单片机在上使用大模型ai 配置步骤 api key 获取 https://bailian.console.aliyun.com/?tab=model#/model-market     效果  ## Kconfig 配置文件  在c语言 宏 + 条件编译 可以分布在各个文件夹 https://www.rt-thread.org/document/site/#/development-tools/build-config-system/Kconfig selete 使用要慎重,否则关不掉 shift+?可以查看该配置项情况  上手尝试:对应Kconfig ``` menu "Onboard Peripheral Drivers" menuconfig BSP_MQTT_MESSAGE bool "Enable MQTT default message" default n if BSP_MQTT_MESSAGE config BSP_MQTT_MESSAGE_NAME string "name" default "abc" config BSP_MQTT_MESSAGE_STUDY string "study" default "abd" endif ``` # 省略…… endmenu 注意不要手动改rtconfig.h的配置,否则env更新会失效 ## env 上位机,环境变量、软件包 ## scons 构建工具 ``` SConstruct SCons 入口脚本 scons —dist 打包 scons -c 清理 scons —verbose 详细信息 ``` keil来开发要注意rtconfig.py的EXEX_PATH是否正确 函数 ```python import os from building import * cwd = GetCurrentDir() # 获取当前地址 objs = [] # 定义一个空列表,用于存储所有的对象文件 list = os.listdir(cwd) # 获取目录 src = Glob('*.c') # 所有.c文件 CPPPATH = [cwd] # 包含路径 if not GetDepend('BSP_DRV_EMAC'): SrcRemove(src, ['drv_smc911x.c']) if not GetDepend('BSP_DRV_CLCD'): SrcRemove(src, ['drv_clcd.c']) if not GetDepend('RT_USING_SERIAL_V1'): SrcRemove(src, ['drv_uart.c']) if not GetDepend('RT_USING_SERIAL_V2'): SrcRemove(src, ['drv_uart_v2.c']) group = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH) # 名字,.c, 依赖的宏,.h # 有SConscript就追加 for d in list: path = os.path.join(cwd, d) if os.path.isfile(os.path.join(path, 'SConscript')): objs = objs + SConscript(os.path.join(d, 'SConscript')) objs = objs + group Return('objs') ``` ### 网络组件 ntp 获取时间和 检查网络情况  ## 软件包 ## kawaii mqtt  注意mqtt client id 随便起不要一样  在MQTTX相应配置,还是注意mqtt client id 随便起不要一样的  动手实践 在Kconfig加入上文的代码 修改mqtt demo 实现发送json ```c char *tmp_json ; char *message_json(void) { cJSON* root = cJSON_CreateObject(); cJSON_AddStringToObject(root, "name", BSP_MQTT_MESSAGE_NAME); cJSON_AddStringToObject(root, "study", BSP_MQTT_MESSAGE_STUDY); tmp_json = cJSON_Print(root); rt_kprintf("json:%s\n",tmp_json); cJSON_Delete(root); return tmp_json; } MSH_CMD_EXPORT(message_json,print json message); static int my_mqtt_publish_handle(mqtt_client_t *client) { mqtt_message_t msg; memset(&msg, 0, sizeof(msg)); msg.qos = QOS0; msg.payload = (void *)message_json(); return mqtt_publish(client, KAWAII_MQTT_PUBTOPIC, &msg); } ```  
0
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
石上不时尚
这家伙很懒,什么也没写!
文章
6
回答
0
被采纳
0
关注TA
发私信
相关文章
1
关于env工具中menuconfig的操作介绍问题
2
关于env工具中menuconfig的操作介绍问题
3
env工具输入menuconfig报错
4
关于ENV使用过程中无法运行menuconfig命令
5
menuconfig后运行pkgs --updateb出现的错误
6
运行menuconfig命令报错
7
使用env工具进行menuconfig配置时遇到了问题!!
8
menuconfig -s命令为啥是无法识别的?
9
env中无法识别menuconfig命令
10
使用menuconfig配置组件后编译问题
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
6
五分钟玩转RT-Thread新社区
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
Bootloader
AT
Hardfault
CAN总线
ART-Pi
FinSH
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
FAL
RTC
rt-smart
cubemx
I2C_IIC
UART
BSP
WIZnet_W5500
ESP8266
PWM
ota在线升级
packages_软件包
flash
freemodbus
GD32
潘多拉开发板_Pandora
编译报错
ADC
keil_MDK
flashDB
rt_mq_消息队列_msg_queue
ulog
socket
MicroPython
msh
中断
Debug
SFUD
at_device
SDIO总线
本月问答贡献
出出啊
1527
个答案
344
次被采纳
小小李sunny
1444
个答案
290
次被采纳
张世争
821
个答案
179
次被采纳
crystal266
555
个答案
162
次被采纳
whj467467222
1222
个答案
149
次被采纳
本月文章贡献
出出啊
1
篇文章
1
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
2
次点赞
crystal266
2
篇文章
1
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部