rt-thread物联网开发板mqtt实验
·
一、环境
- 硬件平台:潘多拉开发板
- rt-thread版本:v4.1.0
- 编译平台:gcc
- 依赖的package: easy_flash, fal, wlan_wiced, stm32_sdio, mymqtt
二、使用过程
1、更改配置
在bsp目录,打开ComEmu 运行menuconfig:
-
使能wifi
wifi依赖这些包:easy_flash, fal, wlan_wiced, stm32_sdio。wifi使能后这些包会自动选中 -
使能mymqtt包
这个包确实比Paho MQTT好用,至少整个编译过程没报错,最好把例程也选上:

这个软件包的介绍在这里

-
需要使能rt-thread组件前向支持

2、更新软件包并编译
分别运行
pkgs --updata
scons -jN // cup是几核心 N就最大是几
但是编译完后,发现生成bin文件超过了512k , stm32l475flash只有512kb,报链接错误。
根本原因还是这个wlan_wiced软件包wifi的静态链接库有点大 338kb
而开发板官方例程,用的是旧版库,小多了,只有127kb

所以尝试修改rtconfig.py文件
BUILD = 'release'
'''
因为如果是debug,优化等级就是O0,所以把'debug'改成了'release'
'''
if BUILD == 'debug':
CFLAGS += ' -O0 -gdwarf-2 -g'
AFLAGS += ' -gdwarf-2'
else:
CFLAGS += ' -O2'
# CFLAGS += ' -Os'
优化等级设为o2 或 os后,编译出来固件大大减小

3、下载、测试
自己用手机开了一个热点。让板子连网

然后测试mqtt:

publish

可以看到,成功执行了订阅回调
再测试一下,取消订阅:

把热点关掉,测试断网回调及重连:

更多推荐
所有评论(0)