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

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

stm32f107+dp83848

在原来的基础上
一个zigbee的网关折腾记(之mqtt)_第1张图片
如果你的电脑没有上面的选项,需要先安装
打开
一个zigbee的网关折腾记(之mqtt)_第2张图片
然后安装
一个zigbee的网关折腾记(之mqtt)_第3张图片
选上组件
然后添加“MQTTEcho.c”这个文件。然后需要修改几个地方

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

一个zigbee的网关折腾记(之mqtt)_第4张图片

第二个就是设置主题

一个zigbee的网关折腾记(之mqtt)_第5张图片
我做了些小修改

一个zigbee的网关折腾记(之mqtt)_第6张图片

可以看到网页已经出现了我们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");
}  

你可能感兴趣的:(一个zigbee的网关折腾记(之mqtt))