一个zigbee的网关折腾记(之mqtt)

本文介绍如何使用Keil的中间件快速搭建MQTT模块,实现STM32F107通过DP83848网关与MQTT服务器通信。文中详细描述了从选择服务器到设置主题,再到解决程序测试中遇到的堆栈溢出问题的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这几年物联网很火,也带火了MQTT。
有关MQTT的相关知识可以百度
使用keil的中间件建立一个MQTT的模板很容易。之所以得出这个结论是因为,之前建立一个网络功能也是点点鼠标而已😄
还是使用这个那个网关的板子

stm32f107+dp83848

在原来的基础上
在这里插入图片描述
如果你的电脑没有上面的选项,需要先安装
打开
在这里插入图片描述
然后安装
在这里插入图片描述
选上组件
然后添加“MQTTEcho.c”这个文件。然后需要修改几个地方

第一个当然是MQTT的服务器,这个可以自己搭建或者使用别人公开出来的
测试使用 “http://www.tongxinmao.com/App/Detail/id/126”
这个测试足够使用了

在这里插入图片描述

第二个就是设置主题

在这里插入图片描述
我做了些小修改

在这里插入图片描述

可以看到网页已经出现了我们publish的主题和内容。
MQTT完成!
虽然很多概念都不是很懂,但是基于keil 的中间件我们已经能上报数据了。

测试工程可以下载:
https://download.csdn.net/download/sup999/12176068

程序测试的时候比较容易导致溢出,最好就是将

tid_thrMqtt = osThreadNew (thrMqtt, NULL, NULL);            /* create thrMqtt thread */

定义为静态的

比如

static uint64_t thread1_stk_1[256];

const osThreadAttr_t thread1_attr = {
.stack_mem = &thread1_stk_1[0],
.stack_size = sizeof(thread1_stk_1)
};

tid_thrMqtt = osThreadNew (thrMqtt, NULL, &thread1_attr);            /* create thrMqtt thread */
if (tid_thrMqtt == NULL) 
{
printf("tid_thrMqtt cread error\r\n");
}  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值