374|2

2933

帖子

4

TA的资源

五彩晶圆(中级)

楼主
 

【FRDM-MCXN947测评】基于FreeRTOS下的lwIP版MQtt测试 [复制链接]

1、项目简介

本次测试是IoT连接常使用的Mqtt协议联网的测试。测试使用FRDM-MCXN947开发板的以太网端口。PHY芯片使用的是LAN8741A芯片。

  该测试是基于例程:lwip_mqtt_freertos项目为基础的。开发板做为联网设备,PC软件MQTT-Explorer-0.4.0-beta1作为连接的另一台设备使用。

使用串口助手软件监视程序运行。

2、项目配置

项目使用MCUXpresso Config Tools 添加引用到测试目录。

  (1)设置好SDK目录,编译器使用自己配套的工具,这里使用的是:GNU ARM工具。

  (2)项目使用例程lwip_mqtt_freertos。

设置完成后,检查设或添加设置。

  为了能够使用mqtt控制外设,这里使用了RED LED的设置,P0_10

 

RGB LED引脚设置如下:

 

   设置引脚方向,标签使用RED_LED,生成程序(更新源代码)

3、程序与设备

使用vscode打开项目,定位到mqtt_freertos.c文件。找到函数mqtt_incoming_data_cb()

/*!
 * [url=home.php?mod=space&uid=159083]@brief[/url] Called when recieved incoming published message fragment.
 */
static void mqtt_incoming_data_cb(void *arg, const u8_t *data, u16_t len, u8_t flags)
{
    int i;
    char cmdStr[20]="";
    int ret = 0;
    LWIP_UNUSED_ARG(arg);

    for (i = 0; i < len; i++)
    {
        if (isprint(data[i]))
        {
            PRINTF("%c", (char)data[i]);
            if ( i < 20 ){ cmdStr[i] = (char)data[i]; }
        }
        else
        {
            PRINTF("\\x%02x", data[i]);
        }
    }
    
    if (flags & MQTT_DATA_FLAG_LAST)
    {
        PRINTF("\"\r\n");
    }

    if (i<20) 
    { 
        ret = strcmp(cmdStr, "ledon");
        if (ret == 0 ) {  PRINTF("LED ON!\n"); }
        ret = strcmp(cmdStr, "ledoff");
        if (ret == 0 ) {  PRINTF("LED OFF!\n"); }


    }

}

添加代码到程序,编译运行程序

4、过程测试

 

程序正常驱动,启动PC程序

 

设置mqtt服务器地址

 

添加订阅消息,  Topic:  lwip_topic/100

发送消息

 

从串口中发现,程序执行成功。

 

 

 

此帖出自NXP MCU论坛

最新回复

请问下MQTT这部分是这个例程里写好的吗?我的板子无法获得MQTT订阅   详情 回复 发表于 2024-12-15 13:55
点赞(1) 关注(1)
 

回复
举报

166

帖子

1

TA的资源

一粒金砂(高级)

沙发
 

请问下MQTT这部分是这个例程里写好的吗?我的板子无法获得MQTT订阅

此帖出自NXP MCU论坛

点评

MQTT订阅消息是写死在程序代码里的,你如果需要修改服务器或订阅需要修改源代码  详情 回复 发表于 2024-12-15 15:27
 
个人签名

没用比没有强

 
 

回复

2933

帖子

4

TA的资源

五彩晶圆(中级)

板凳
 
电子烂人 发表于 2024-12-15 13:55 请问下MQTT这部分是这个例程里写好的吗?我的板子无法获得MQTT订阅

MQTT订阅消息是写死在程序代码里的,你如果需要修改服务器或订阅需要修改源代码

此帖出自NXP MCU论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表