mqtt - 如何使用 STM32L496G-CELL02 和 BG96 获得 STM32 MQTT 示例?
问题描述
我有一个带有 BG96 模块的 STM32L496G-CELL02,但我无法让 STM32 Mqtt 示例工作。有人可以给我一个工作方法吗?附件是我找到的一个小指南,但它似乎并不完整:
如何在 IAR L462 和 L496 项目中包含 mqttclient 应用程序
默认情况下,mqttclient 应用程序不包含在交付的固件中。要包含它,请按照以下说明进行操作:
- 删除 IART 项目的以下组件的“从构建中排除”选项
Middlewares/ST/STM32_Cellular/Samples/MQTT
Middlewares/ST/STM32_Network_Library
Middlewares/ST/STM32_Cellular/Modules/MbedTLS_Wrapper
Middlewares/Third_Party/LiamBindle_mqtt-c
Middlewares/Third_Party/MbedTLS
- 在中定义以下常量
Middlewares/ST/STM32_Cellular/Samples/MQTT/Inc/mqttclient_conf.h
(从 MQTT 服务器帐户获取这些参数)注意:这些参数可以通过设置菜单定义:在启动菜单中选择“设置配置菜单”然后选择“配置:Mqttclient”并输入“URL”、“用户名”和“密码”。可以保留其他默认参数。更新:
#define MQTTCLIENT_DEFAULT_SERVER_NAME ((uint8_t *)"<TO_BE_DEFINED>") /* mqtt server URL */
#define MQTTCLIENT_DEFAULT_USERNAME ((uint8_t *)"<TO_BE_DEFINED>") /* mqtt server user name */
#define MQTTCLIENT_DEFAULT_PASSWORD ((uint8_t *)"<TO_BE_DEFINED>") /* mqtt server password */
- 仅当 stackhero-network.com 时,必须在 mqttclient_conf.h 中更新用于 MQTT 服务器身份验证的 ROOT CA(从 MQTT 服务器帐户获取证书)注意:如果证书错误,只会出现警告错误并且应用程序将正常工作
#define MQTTCLIENT_ROOT_CA = {...}
- 从 plf_features.h 中的固件中删除其他应用程序(仅 L462 板,因为内存不足):
- 以下变量未设置:
#define USE_ECHO_CLIENT (0)
#define USE_HTTP_CLIENT (0)
#define USE_PING_CLIENT (0)
#define USE_COM_CLIENT (0)
- 要设置的以下变量:
#define USE_MQTT_CLIENT (1)
我还在这里读到你需要lwip?!但是,这也被排除在提供的示例中。
解决方案
也许您应该尝试使用我的库通过 SIM800 使用 MQTT?或者如果 AT 命令集不匹配,请稍微修复它。 https://github.com/leech001/SIM800MQTT
推荐阅读
- laravel - Laravel - npm run dev - 找不到'~@fortawesome/fontawesome-pro/css/all.min.css'
- node.js - ReferenceError:在初始化之前无法访问。这是循环依赖吗?
- css - Material-UI 表格行高到固定高度,即使 ReactJS 中的内容很长
- visual-studio-code - 关于 executeCommand("explorer.newFolder") 的 vscode api
- ignite - Apache Ignite 如何在 K8S 中部署?
- database - ClickHouse 函数中的第二个参数 toDateTime64 是什么意思?
- python - 如何使用 python reduce 函数填充 NaN 值
- java - 将 ZonedDatetime 转换为字符串
- git - 尝试初始化合并请求源时,Repo init 失败
- python - 如何比较字典值和熊猫数据框?