【LoRaWAN】展厅的 LoRaWAN灯控项目部署及开发分享_lora智能照明模块(2)

{
AppDataSize = 4;
AppData[0] = 0x00;
AppData[1] = 0x01;
AppData[2] = 0x02;
AppData[3] = 0x03;
}


**下行数据**



/*!
* \brief MCPS-Indication event function
*
* \param [IN] mcpsIndication - Pointer to the indication structure,
* containing indication attributes.
*/
static void McpsIndication( McpsIndication_t *mcpsIndication )
{
int i = 0;
if( mcpsIndication->Status != LORAMAC_EVENT_INFO_STATUS_OK )
{
return;
}

printf( "receive data: rssi = %d, snr = %d, datarate = %d\r\n", mcpsIndication->Rssi, (int)mcpsIndication->Snr,
             (int)mcpsIndication->RxDatarate);
switch( mcpsIndication->McpsIndication )
{
    case MCPS_UNCONFIRMED:
    {
        break;
    }
    case MCPS_CONFIRMED:
    {
        break;
    }
    case MCPS_PROPRIETARY:
    {
        break;
    }
    case MCPS_MULTICAST:
    {
        break;
    }
    default:
        break;
}

// Check Multicast
// Check Port
// Check Datarate
// Check FramePending
if( mcpsIndication->FramePending == true )
{
    // The server signals that it has pending data to be sent.
    // We schedule an uplink as soon as possible to flush the server.
    OnTxNextPacketTimerEvent( );
}
// Check Buffer
// Check BufferSize
// Check Rssi
// Check Snr
// Check RxSlot
if( mcpsIndication->RxData == true )
{
}

if(mcpsIndication->BufferSize) {
    printf("Received: ");
    for(i=0; i<mcpsIndication->BufferSize; i++) {
        printf("%x ", mcpsIndication->Buffer[i]);
    }
}
printf("\r\n");

}


## 发布MQTT下行数据


阅读MQTT下行数据规则,[TTN服务器mqtt规则]( )


### Topic说明


客户端订阅服务器Topic,进行数据交互  
 本次订阅的发布的top如下



v3/app1@tenant1/devices/dev1/down/push
例如:
v3/zt-smart-light-01@ttn/devices/eui-70b3d57ed005e33f/down/push
//说明:根据规则,我们将app1@tenant1替换成自己的设备名,dev1替换成我们真实的设备EUI,这些信息可以在我们的TTN服务器设备管理内获取到


### 消息负载说明


我们向这个上述Topic下发如下所示数据,通过更换负载payload信息来控制灯的亮灭,数据如下



{
“downlinks”: [{
“frm_payload”: “AA==”, //负载信息,base格式的AA表示关灯,AQ则表示关灯
“f_port”: 15, //端口
“priority”: “NORMAL”,
“class_b_c”: {
“gateways”: [
{
“gateway_ids”: {
“gateway_id”: “eui-94c9604857123456” //这里根据自己的设备填写真实的网关EUI参数,可以在网关或者服务器上获取
}
}
]
}
}]
}


## MQTT客户端


MQTT客户端使用手机app,[IOT MQTT面板]( )  
 【软件名称】iot MQTT面板  
 【软件大小】19.04MB  
 【软件介绍】  
 基于MQTT协议的智能家居物联网遥控。  
 该应用程序允许您基于MQTT协议管理和可视化物联网项目。  
 有了这个应用程序,您可以在一分钟内制作DIY智能家居项目。配置非常简单。应用信息页面提供了详细记录的FAQ和用户指南。  
 1.`支持MQTT`(TCP)和Websocket(有用的特殊防火墙限制网络)协议。  
 2.用于安全通信的SSL。  
 3. JSON支持订阅和发布消息。  
 4.`面板自动订阅和/或发布主题,因此实时更新`。  
 5.旨在有效地与公共经纪人合作(使用设备前缀)。  
 6.来自经纪人的已发送和已接收时间戳。  
 7.材料设计。  
 8.`灵活的面板宽度,合并任何面板`  
 9.`超过250个图标可自定义特定面板。`  
 10.黑暗主题,适合在低光照条件下使用。  
 11.克隆连接,设备或面板,轻松配置  
 12.导入/导出应用程序配置,以便与多个设备轻松共享。  
 13.在后台运行并自动重新连接。


![在这里插入图片描述](https://img-blog.csdnimg.cn/0107b8cd0d254952947c974e16021b28.jpeg)


## 总结


以上就是我们提供的一个mqtt控制LoRa的交互例程,涉及到


* 网络服务器的配置(节点和网关的录入);
* 网关后台信息的配置;
* 节点源码例程的基础修改应用;
* 以及MQTT控制协议的使用说明(推荐移动的mqtt客户端);  
 如果想要自定义数据解析,握手交互控制等逻辑内容的话,还需要大家逐步完善开发适合自己的工程。


## 资料下载地址


IOT MQTT面板APP的下载链接:<https://pan.baidu.com/s/1yfza8N96ZZ5eB_ZM0JrYFA>  
 提取码:eky6


工程源码获取地址:<https://github.com/Ai-Thinker-Open/Ai-Thinker-LoRaWAN-Ra-08.git>


立创灯板硬件设计资料链接:<https://oshwhub.com/aithinker/ra-08led>  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/9aa2f671cc904c708ec6be2b596e8dba.png)


演示视频链接地址:<https://www.bilibili.com/video/BV1qX4y1s7JE/?spm_id_from=333.337.search-card.all.click&vd_source=f382b4ec4a1207af4363c7e0e18dfaa1>  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/98250d2a055842309c73f0fd1d148bd3.jpeg)


## 联系方式


以上就是本期分享的内容,目的在于让大家快速适应新品方案的开发,更多资料可从我们官网上获取。


官方官网:https://www.ai-thinker.com  
 开发资料:https://docs.ai-thinker.com/  
 官方论坛:http://bbs.ai-thinker.com  
 技术支持:[email protected]




## 最后

**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。**

**因此收集整理了一份《2024年嵌入式&物联网开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**

![img](https://img-blog.csdnimg.cn/img_convert/fb90958793cbabcaf1113d80d5dff1a6.png)

![img](https://img-blog.csdnimg.cn/img_convert/7f3bb7e49b20f3864fe3c50aa9293fbc.jpeg)

![img](https://img-blog.csdnimg.cn/img_convert/ca621e59b8dee84e4cb1cb29a7dbb5d3.png)

 ![img](https://img-blog.csdnimg.cn/img_convert/e32b26f14a25f39d3d93dbf1b6c20ecb.png)

![img](https://img-blog.csdnimg.cn/img_convert/c684baeabe3b915830403dce87b7a76c.png)

![img](https://img-blog.csdnimg.cn/img_convert/6f7f669aaeb51c79a61c858b8e1cce50.png)

![](https://img-blog.csdnimg.cn/img_convert/ed15a345b0388f759044a91800c25a4e.png)

 

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!**

[**如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618654289)

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**!!


适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!**

[**如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618654289)

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**!!


猜你喜欢

转载自blog.csdn.net/2401_83641392/article/details/138821028