rt-thread物联网开发板mqtt实验

一、环境

  • 硬件平台:潘多拉开发板
  • rt-thread版本:v4.1.0
  • 编译平台:gcc
  • 依赖的package: easy_flash, fal, wlan_wiced, stm32_sdio, mymqtt

二、使用过程

1、更改配置

在bsp目录,打开ComEmu 运行menuconfig:

  1. 使能wifi
    rt-thread物联网开发板mqtt实验wifi依赖这些包:easy_flash, fal, wlan_wiced, stm32_sdio。wifi使能后这些包会自动选中

  2. 使能mymqtt包
    rt-thread物联网开发板mqtt实验这个包确实比Paho MQTT好用,至少整个编译过程没报错,最好把例程也选上:
    rt-thread物联网开发板mqtt实验
    这个软件包的介绍在这里
    rt-thread物联网开发板mqtt实验

  3. 需要使能rt-thread组件前向支持
    rt-thread物联网开发板mqtt实验

2、更新软件包并编译

分别运行

pkgs --updata
scons -jN   // cup是几核心 N就最大是几

但是编译完后,发现生成bin文件超过了512k , stm32l475flash只有512kb,报链接错误。
根本原因还是这个wlan_wiced软件包wifi的静态链接库有点大 338kb
rt-thread物联网开发板mqtt实验而开发板官方例程,用的是旧版库,小多了,只有127kb
rt-thread物联网开发板mqtt实验

所以尝试修改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后,编译出来固件大大减小
rt-thread物联网开发板mqtt实验

3、下载、测试

自己用手机开了一个热点。让板子连网
rt-thread物联网开发板mqtt实验
然后测试mqtt:
rt-thread物联网开发板mqtt实验
publish
rt-thread物联网开发板mqtt实验
可以看到,成功执行了订阅回调

再测试一下,取消订阅:
rt-thread物联网开发板mqtt实验
把热点关掉,测试断网回调及重连:
rt-thread物联网开发板mqtt实验

上一篇:《程序员的呐喊》一一1.13 弱类型机制够不够强


下一篇:Selenium | 页面跳转后无法定位到元素,怎么破?