0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

应用开发笔记 | 米尔MYD-YA15XC-T LoRa无线通讯实例

米尔电子 2021-08-06 15:12 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

​1.概述

本文主要基于LoRa调制功能的无线串口模块的树莓派扩展板,讲述在M4核LoRa的调试过程。

2.硬件资源

ØTypec Debug线1根

ØMicro usb线1根

ØMYD-15XC-T开发板

Ø树莓派接口SX1262 868M LoRa HAT模块2个

3.软件资源

ØLinux 5.4.31

ØSTM32CubeIDE 1.5.0

ØLInux虚拟机

Ø米尔提供的SDK

4.环境准备

预先安装好CubeIDE等开发软件并搭建好Linux虚拟机环境,具体环境搭建请参考米尔的软件开发手册《MYD-YA15XC-T_Linux软件开发指南》。

5.操作步骤

5.1.硬件介绍与设置

1)硬件介绍

关于树莓派接口SX1262 868M LoRa HAT模块的硬件介绍与设置请参考微雪官网:

https://www.waveshare.net/wiki/SX1262_868M_LoRa_HAT

2)接线与设置

需要两个LoRa模块,一个LoRa模块通过Micro USB连接至PC,跳帽置于A,M1和M0连接GND,打开SSCOM串口软件连接LoRa模块。另外一个LoRa模块跳帽连接B,M0、M1跳帽移除改用MYD-YA15XC-T开发板的GPIO使用,如下图所示:

poYBAGEM3zSAeoEfAArC5pDF_LY175.png

图5-1. 连接与配置

5.2.CubeMX配置

设置时钟为209M,如下图只需要在红色框输入209M,按“Enter”,会自动设置时钟参数:

poYBAGEM30GAFAm5AAClo0QsK90560.png

图 5-1.时钟设置

由于该模块通讯接口使用的是串口,所以还需要设置usart外设,并使能中断:

pYYBAGEM31iAf1wPAAFojqVaL2Q756.png

图 5-2.串口设置

接着勾选串口中断,通过中断收发:

pYYBAGEM32mAHZ7GAAEBrHHDY1Y795.png

图5-3.串口中断

5.3.软件设计

由5.2节生成代码之后,在工程目录新建“LoRa”目录,用来存放LoRa的配置代码(微雪官网有该模块设置源码,用户可以直接移植):

pYYBAGEM33WAA8tpAADNY7ApY_s838.png

设置寄存器配置模式,这里首先需要设置模式2进行寄存器配置:

void cfg_sx126x_io(uint8_t status)

{

if(CFG_REGISTER == status){

M0_RESET();

M1_SET();

HAL_Delay(5);

}else if(NORMAL_STATUS == status){

M0_RESET();

M1_RESET();

HAL_Delay(5);

}else if(WOR_STATUS == status){

M0_SET();

M1_RESET();

HAL_Delay(5);

}else if(SLEEP_STATUS == status){

M0_SET();

M1_SET();

HAL_Delay(5);

}

}

配置寄存器,设置波特率9600,广播监听地址:

/******************************************************************************

sx126x mode :broadcast & monitor mode

parameter:

address_high:0xff

address_low:0xff

net_id: 0x00

serial:0x62

power: 0x00

channel: 0x12

transmission_mode: 0x03

crypt_high: 0x00

crypt_low: 0x00

******************************************************************************/

lora_para_t transparent_mode = {

.address_high = BROADCAST_ADDH_VALUE,

.address_low = BROADCAST_ADDL_VALUE,

.net_id = BROADCAST_NETID_VALUE,

.serial = BROADCAST_SERIAL_VALUE,

.power = BROADCAST_POWER_VALUE,

.channel = BROADCAST_CHANNEL_VALUE,

.transmission_mode = BROADCAST_TRANSIMISSION_VALUE,

.crypt_high = BROADCAST_CRYPTH_VALUE,

.crypt_low = BROADCAST_CRYPTL_VALUE

};

设置寄存器:

uint8_t sx126x_write_register(lora_para_t para)

{

int8_t i;

buffer[0] = CFG_HEADER;

buffer[1] = REG_START;

buffer[2] = REG_NUMBER;

for(i=3;i<12;i++){

buffer[i] = *(¶.address_high + i - 3);

}

HAL_UART_Transmit_IT(&huart3,(uint8_t *)buffer,12);

HAL_UART_Receive_IT(&huart3,(uint8_t *)buffer,12);

HAL_Delay(500);

if(CFG_RETURN == buffer[0]){

buffer[0] = 0;

init_cplt_flag = SUCCESS;

return SUCCESS;

}

return ERROR;

}

定义发送的信息:

/* USER CODE BEGIN 1 */

uint8_t transparent_string[] = "Helloworld";//"This is a transparent message\r\n";

uint32_t delay;

/* USER CODE END 1 */

主函数里,使用串口中断进行发送和接收处理:

/* Infinite loop */

/* USER CODE BEGIN WHILE */

while (1)

{

/* USER CODE END WHILE */

/* USER CODE BEGIN 3 */

if(delay++>18000000){

HAL_UART_Transmit_IT(&huart3,transparent_string,strlen((const char *)transparent_string));

delay = 0;

}

if(SUCCESS == over_flag){

HAL_UART_Transmit_IT(&huart3,buffer,strlen((const char *)buffer));

over_flag = ERROR;

rece_count = 0;

HAL_UART_Receive_IT(&huart3,(uint8_t *)&rece_buff,1);

}

}

5.4.测试

1)量产模式启动m4固件

启动开发板,并启动m4固件,如下:

root@myir-ya151c-t-4e512d:~# cp LoRa_CM4.elf /lib/firmware/

root@myir-ya151c-t-4e512d:~# echo LoRa_CM4.elf > /sys/class/remoteproc/remotepro

c0/firmware

root@myir-ya151c-t-4e512d:~# echo start > /sys/class/remoteproc/remoteproc0/stat

e

[ 82.845983] remoteproc remoteproc0: powering up m4

[ 82.859219] remoteproc remoteproc0: Booting fw image LoRa_CM4.elf, size 2532532

[ 82.865319] remoteproc remoteproc0: header-less resource table

[ 82.870883] remoteproc remoteproc0: no resource table found for this firmware

[ 82.884297] remoteproc remoteproc0: header-less resource table

[ 82.888689] remoteproc remoteproc0: remote processor m4 is now up

2)信息接收

打开sscom,可以看到usb控制的LoRa模块能接收到数据,如下图所示:

poYBAGEM35aALJ4uAAGKmoVxTcM661.png

图 5-2.数据接收

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开发板
    +关注

    关注

    26

    文章

    6420

    浏览量

    120904
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    新品!从MINI到工业板:米尔T153开发板工业场景全覆盖

    今年1月,米尔发布了MYD-YT153MX-MINI开发板,该产品精准切入国产核心板在中端市场领域,具有极致性价比,自上市即获得良好的市场反响。为方便开发者灵活选择、适配更专业的场景,
    的头像 发表于 03-27 08:03 2057次阅读
    新品!从MINI到工业板:<b class='flag-5'>米尔</b><b class='flag-5'>T</b>153<b class='flag-5'>开发</b>板工业场景全覆盖

    2W大功率高速率多频段LR2021无线通讯模块LoRa2021F33-2G4 规格书

    2W大功率高速率多频段LR2021无线通讯模块LoRa2021F33-2G4 规格书
    发表于 03-11 14:11 0次下载

    LoRa1121 FCC&amp;CE认证 多频段LoRa无线通讯模块规格书

    LoRa1121 FCC&CE认证 多频段LoRa无线通讯模块规格书
    发表于 02-26 14:36 0次下载

    微型LORA数传模块:六种传输方式,5KM无线通讯

    微型LORA数传模块主打无线透明传输、远距离稳定通信的LORA物联智能网关,支持多种通讯模式,兼具易部署、低功耗、高安全等优势,可轻松解决工业场景下串口设备布线难、抗干扰弱等痛点。 一
    的头像 发表于 02-03 17:17 328次阅读

    有奖丨米尔全志 T153 MINI开发板免费试用来啦

    米尔与全志合作发布的新品基于全志T153应用处理器的MYD-YT153MX-MINI开发板免费试用名额来啦~~米尔提供了3套价值399元的
    的头像 发表于 01-29 08:04 581次阅读
    有奖丨<b class='flag-5'>米尔</b>全志 <b class='flag-5'>T</b>153 MINI<b class='flag-5'>开发</b>板免费试用来啦

    PLC无线通讯模块的风险与应对

    PLC无线通讯模块的使用确实存在一定风险,但无线通讯模块通过技术设计和实际应用验证,针对工业场景中的常见风险,已形成对应的应对举措。以下是结合其技术特点和实际案例的详细分析: 一、常见风险与达泰
    的头像 发表于 01-23 10:48 332次阅读
    PLC<b class='flag-5'>无线通讯</b>模块的风险与应对

    LoRa2021 全频段无线通讯模块规格书

    LoRa2021 全频段无线通讯模块规格书
    发表于 11-17 15:00 3次下载

    基于LORA无线通讯的祥控多点式烟叶温湿度监测系统

    XKCON祥控多点式烟叶温湿度监测系统基于LORA无线通讯技术,无需复杂的布线工作,缩短了工期,节省了成本;系统可以根据烟厂的实际布局和需求进行灵活配置,实现对各单点无线温湿度检测杆测量信号的采集接收,大大提升了系统监测和调控能
    的头像 发表于 09-23 17:02 915次阅读
    基于<b class='flag-5'>LORA</b><b class='flag-5'>无线通讯</b>的祥控多点式烟叶温湿度监测系统

    解析Profinet无线通讯模块的工作原理与技术特点

    Profinet无线通讯模块 DTD418M/DTD419M系列是一款基于工业以太网技术的无线通讯设备,不仅支持西门子PLC,还支持其他品牌的PLC和控制系统,如欧姆龙、基恩士、Rockwell
    的头像 发表于 08-25 17:23 1161次阅读
    解析Profinet<b class='flag-5'>无线通讯</b>模块的工作原理与技术特点

    PLC之间跨区域通讯无线通讯方案全解析

    。 在这种情况下,可以给PLC配备相应的无线通讯模块来实现 PLC与PLC无线通讯。 串口无线通讯模块和以太网无线通讯模块,都可以妥善地实现PLC之间的远距离数据传递与共享。 一、串口
    的头像 发表于 07-21 16:57 1045次阅读
    PLC之间跨区域<b class='flag-5'>通讯</b>!<b class='flag-5'>无线通讯</b>方案全解析

    基于米尔全志T536开发板的多协议物联网关的方案测试

    本文将介绍基于米尔电子MYD-LT536开发板(米尔基于全志T536开发板)的多协议物联网关方案
    的头像 发表于 06-19 08:03 2270次阅读
    基于<b class='flag-5'>米尔</b>全志<b class='flag-5'>T</b>536<b class='flag-5'>开发</b>板的多协议物联网关的方案测试

    有奖丨米尔 NXP i.MX91开发板免费试用来啦

    米尔与NXP合作发布的新品基于NXPi.MX91应用处理器的MYD-LMX91开发板免费试用名额来啦~~米尔提供了3套价值588元的MYD-
    的头像 发表于 06-05 08:02 1533次阅读
    有奖丨<b class='flag-5'>米尔</b> NXP i.MX91<b class='flag-5'>开发</b>板免费试用来啦

    基于米尔全志T536开发板的视频识别应用方案

    本文将介绍基于米尔电子MYD-LT536开发板(米尔基于全志T536开发板)的视频识别应用方案测
    的头像 发表于 06-05 08:01 2480次阅读
    基于<b class='flag-5'>米尔</b>全志<b class='flag-5'>T</b>536<b class='flag-5'>开发</b>板的视频识别应用方案

    LORA无线测温模块:无线通讯,3KM传输免布线

    LORA无线测温模块是一种基于低功耗广域网(LPWAN)技术的无线温度监测设备。结合了LORA(Long Range)无线通信技术与温度传感
    的头像 发表于 05-19 14:40 786次阅读

    TurMass™ vs LoRa无线通讯模块的革命性突破

    TurMass™凭借其高传输速率、强大并发能力、双向传输、超强抗干扰能力、超远传输距离、全国产技术、灵活组网方案以及便捷开发等八大优势,在无线通讯领域展现出强大的竞争力。
    的头像 发表于 05-06 10:50 2647次阅读
    TurMass™ vs <b class='flag-5'>LoRa</b>:<b class='flag-5'>无线通讯</b>模块的革命性突破