STM32--LoRa通信模块

news2025/1/10 4:07:50
ATK-LORA-01_V3.0(V3.0 是版本号,型号是 ATK-LORA-01 ,下面均以 ATK-LORA-01表示该产品) ALIENTEK 推出的一款体积小、微功率、低功耗、高性能远距离 LORA 无线串口模块。模块设计是采用高效的 ISM 频段射频 SX1278 扩频芯片,模块的工作频率410Mhz~441Mhz,以 1Mhz 频率为步进信道, 32 个信道,可通过 AT 指令在线修改串口速率,发射功率,空中速率、工作模式等各种参数。

ATK-LORA-01 模块具有:体积小、灵敏度高、支持低功耗省电,特点包括:
1 、工业频段: 433Mhz 免申请频段
2 、多种功率等级(最大 20dBm ,最大 100mW
3 、多种串口波特率(与开发板串口相连)、空中速率、工作模式
4 、支持空中唤醒功能,低接收功耗
5 、双 512 字节 环形 FIFO
6 、频率 410-441Mhz ,提供 32 个信道
7 、接收灵敏度达 -136dBm ,传输距离 3000
8 、自动分包传输,保证数据包的完整性

补充:

双 512 环形 FIFO 是一种存储器结构,用于缓存数据或指令以及在数据处理系统中进行流量控制。这种结构通常用于在数据传输速率不匹配的情况下进行数据交换,比如在处理器和外设之间。

让我们逐步解释这个术语:

  1. FIFO(First-In-First-Out):这是一种队列的数据结构,其中最先进入队列的数据最先被取出,就像水龙头中的水流一样。在计算机科学中,FIFO 通常用于缓存和数据传输中,确保数据按照其到达的顺序进行处理。

  2. 双 512:这指的是这种 FIFO 结构内部有两个独立的 FIFO 缓冲区,每个缓冲区的容量为 512。这两个缓冲区可以分别用于不同的数据流或任务。

  3. 环形:环形意味着这些 FIFO 缓冲区被设计成环形的,也就是说,当数据被写入到最后一个位置时,它们将回到起始位置,形成一个循环。

一、模块连接图

二、模块功能介绍

模块根据 MD0 的配置与 AUX 引脚的状态会进入不同的功能
其中在通信功能下,包含 4 种工作模式

三、快速了解

发送模式:透明传输和定向传输

由此可见,透明传输是指发送的信息和设备接收到的消息是一样的。定向传输的模式是指设备发送的信息需要有前缀,发送格式:高位地址+低位地址+信道+用户数据,这些前缀数据是十六进制,指定特定的设备收到信息,在定向传输模式下串口接收到带前缀的数据,会将十六进制的前缀转化为字符串输出。

四、配置功能

上电后,当 AUX 为空闲状态( AUX=0 ), MD0 设置高电平( MD0=1 时,模块会工 作在“配置功能”,此时无法发射和接收无线数据。在“配置功能”下,串口需设置:波特率“115200 ”、停止位“ 1 ”、数据位“ 8 ”、奇偶校验位“无”,通过 AT 指令设置模块的工作参数,部分AT指令如下:
通过正点原子提供 ATK-LORA 配置软件,发送 AT 指令即可以对模块参数进行配置,ATK-LORA 配置软件如图 2.3.2.4 所示:
注意
进入配置功能,串口需设置:“波特率: 115200 8 位数据位、 1 位停止位、无校验位”, 退出配置功能,返回无线通信需设置通信下的串口参数,以免无线通信下工作不正常。

四、通信功能

1、透明传输

1)点对点

1 ,地址相同、信道相同、无线速率(非串口波特率)相同的两个模块,一个模块发送,另外一个模块接收(必须是:一个发,一个收)
2 ,每个模块都可以做发送 / 接收。
3 ,数据完全透明,所发即所得。

2)点对多

1 ,地址相同、信道相同、无线速率(非串口波特率)相同的模块,任意一个模块发送,
其他模块都可以接收到。
2 ,每个模块都可以做发送 / 接收 .
3 ,数据完全透明,所发即所得
点对点: 两个 模块地址、信道、速率相同
点对多: 多个 模块地址、信道、速率相同

2、定向传输

点对点

1 ,模块发送时可修改地址和信道,用户可以指定数据发送到任意地址和信道。
2 ,可以实现组网和中继功能。
发送模块( 1 个): 地址 + 信道 + 数据
接收模块( 1 个):数据
区别点:
点对点(透传):模块地址、信道、速率相同
点对点(定向): 模块地址可变 信道可变 ,速率相同

五、数据流控制

如图所示,模块内部是存在 FIFO 的,发送通过获取 FIFO 里的用户数据 RF 发射出去,接收则将数据存到模块 FIFO ,再发送回给用户。这时如果用户设备通过串口到模块的数据量太大,超过模块 512 字节 FIFO 很多时,会存在溢出现象,数据出现丢包,此时建议模块发送方降低串口速率并且提高空中无线速率(串口速率 < 空中无线速率),从而提高缓存区的数据流转效率,减少数据溢出的可能。而模块接收方则应提高串口速率(串口速率 > 空中无线速率),提高输出数据的流转效率。模块在数据包过大的情况下,不同的串口波特率和空中无线速率配置下,会有不同的数据吞吐量,具 体数值以用户实测为准。( 注意 发射 和接收模块需工作在“一般模式”下 。)
(注:这有点像经典水池子问题,一个龙头进水,一个龙头出水,怎么样才能保持池子不满溢)

六、软件流程编写简述

1)函数中,先对通信串口设置波特率 115200 、无校验位的设置,然后进入配置功能模式,发送 AT 指令配置设备地址、信道、空中速率等参数
2)配置完成后退出配置功能模式,改变MD0的引脚状态进入通信模式,同时通信串口重新设置回通信下的设置
3)最后设置 AUX 中断为上升沿中断,等待数据接收或数据的发送。AUX引脚与MCU上一根外部中断线或gpio中断口相连,注册、设置中断服务函数,当AUX上升沿到来就执行中断服务函数,将buffer(要发送的信息数组)里的数据从串口发送或接收。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1656972.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Java SE】对象的比较

&#x1f970;&#x1f970;&#x1f970;来都来了&#xff0c;不妨点个关注叭&#xff01; &#x1f449;博客主页&#xff1a;欢迎各位大佬!&#x1f448; 本期内容满满干货&#xff0c;将会深入介绍对象与对象之间是如何进行比较的&#xff0c;我们知道基本数据类型是可以直…

Linux0.11中MINIX 文件系统

阅读linux 的源码的时候对minix 文件系统有很多的疑惑&#xff0c;根据自己的认识将这些做一个总结。 MINIX 文件系统由六个部分组成&#xff0c;分别是引导块&#xff0c;超级块&#xff0c;i结点位图&#xff0c;逻辑块位图&#xff0c;i结点&#xff0c;数据块。 引导块&am…

面试集中营—Redis架构篇

一、Redis到底是多线程还是单线程 1、redis6.0版本之前的单线程&#xff0c;是指网络请求I/O与数据的读写是由一个线程完成的&#xff1b; 2、redis6.0版本升级成了多线程&#xff0c;指的是在网络请求I/O阶段应用的多线程技术&#xff1b;而键值对的读写还是由单线程完成的。所…

每日Attention学习6——Context Aggregation Module

模块出处 [link] [code] [IJCAI 22] Boundary-Guided Camouflaged Object Detection 模块名称 Context Aggregation Module (CAM) 模块作用 增大感受野&#xff0c;全局特征提取 模块结构 模块代码 import torch import torch.nn as nn import torch.nn.functional as Fcla…

万兆以太网MAC设计(13)主机与FPGA之间进行PING

文章目录 前言&#xff1a;一、ICMP校验和计算二、上板效果1、终端命令行1、wireshark捕捉 前言&#xff1a; 在上板尝试进行PING操作的时候&#xff0c;发现一直是请求超时的情况&#xff0c;结果排查发现是首部校验和没有计算的问题。在UDP层&#xff0c;我们不进行校验和是…

【python】基于岭回归算法对学生成绩进行预测

前言 在数据分析和机器学习领域&#xff0c;回归分析是一种预测连续数值的监督学习技术。当数据特征与目标变量之间存在线性关系时&#xff0c;线性回归模型尤其有用。然而&#xff0c;当特征数量多于样本数量&#xff0c;或者特征之间存在多重共线性时&#xff0c;普通最小二…

jsp 实验16 MVC 表白墙

源代码以及执行结果截图&#xff1a; ExpressWish_Bean.java package web; import java.util.HashMap; import java.util.ArrayList; import java.util.Iterator; public class ExpressWish_Bean { public HashMap<String,ExpressWish> wishList; ArrayList&…

【AI知识】Stable diffusion常用提示词分享

模型&#xff08;Model&#xff09; majicmixRealistic_v7 majicmixRealistic&#xff08;麦橘写实&#xff09;是融合了多种展现日常生活人物形象的写实风格模型&#xff0c;人物的外观更加接近现实生活&#xff0c;对于光影、皮肤、人物动态均有较好的表现&#xff0c;非常…

Java | Leetcode Java题解之第70题爬楼梯

题目&#xff1a; 题解&#xff1a; public class Solution {public int climbStairs(int n) {double sqrt5 Math.sqrt(5);double fibn Math.pow((1 sqrt5) / 2, n 1) - Math.pow((1 - sqrt5) / 2, n 1);return (int) Math.round(fibn / sqrt5);} }

版本控制工具之Git的基础使用教程

Git Git是一个分布式版本控制系统&#xff0c;由Linux之父Linus Torvalds 开发。它既可以用来管理和追踪计算机文件的变化&#xff0c;也是开发者协作编写代码的工具。 本文将介绍 Git 的基础原理、用法、操作等内容。 一、基础概念 1.1 版本控制系统 版本控制系统&#x…

如何区分APP页面是H5还是原生页面?

刚刚接触手机测试的同学&#xff0c;或多或少都有过这样的疑问&#xff1a;APP页面哪些是H5页面&#xff1f;哪些是原生页面?单凭肉眼&#xff0c;简直太难区分了&#xff01;我总结了6个小技巧&#xff0c;希望能帮大家答疑解惑。 1、看断网的情况 断开网络&#xff0c;显示…

推荐 3 个 yyds 的开源项目!

本期推荐开源项目目录&#xff1a; 1. AI 搜索引擎 2. 大模型聊天框架 3. 模仿抖音的移动端短视频 01 AI 搜索引擎 Perplexica 是一个开源的、由 AI 驱动的搜索引擎。它深入互联网寻找答案&#xff0c;不仅搜索网络&#xff0c;还理解您的问题。 Perplexica 受到 Perplexity AI…

今天来聊聊Numpy!

numpy&#xff1f;what&#xff5e;什么是numpy&#xff1f; 小编先暂且不提。 ​ 大家先暂且看看这句话&#xff0c;“你给我翻 译翻译&#xff0c;什么他妈的是他妈的惊喜&#xff1f; 这还用翻译&#xff0c;都说了… 惊喜嘛……”。 惊喜这段出自《让子…

Could not find the Qt platform plugin “dxcb“ in ““、 重点:是dxcb

这个重点就在于是dxcb不是xcb&#xff0c;让我一顿好找。 https://bugs.launchpad.net/ubuntu/source/deepin-qt5dxcb-plugin/bug/1826629 这篇文章描述了应该是deepin系统的一个问题&#xff0c;应该已经修复了不知道为什么我还会遇到。 不过知道是dxcb后直接去qtcreater里的系…

ICode国际青少年编程竞赛- Python-2级训练场-坐标与列表遍历

ICode国际青少年编程竞赛- Python-2级训练场-坐标与列表遍历 1、 for i in range(5):Flyer[i].step(Dev.x -Flyer[i].x) Dev.step(Item.y - Dev.y)2、 for i in range(7):Flyer[i].step(Dev.y - Flyer[i].y) Dev.step(Item[2].x - Dev.x)3、 for i in range(5):Flyer[i].…

基于若依框架搭建网站的开发日志(一):若依框架搭建、启动、部署

RuoYi&#xff08;基于SpringBoot开发的轻量级Java快速开发框架&#xff09; 链接&#xff1a;开源地址 若依是一款开源的基于VueSpringCloud的微服务后台管理系统&#xff08;也有SpringBoot版本&#xff09;&#xff0c;集成了用户管理、权限管理、定时任务、前端表单生成等…

MYSQL8.0.20安装教程

一&#xff1a;下载mysql MySQL :: Download MySQL Installer (Archived Versions) 二&#xff1a;选中server only&#xff0c;点击next 三&#xff1a;点击server 选项&#xff0c;点击Execute 弹窗点击安装 四&#xff1a;安装项为绿色后&#xff0c;点击next 五&#xf…

大数据中的HDFS读写流程(namenode,datanode)

HDFS读写流程 读取流程 1、客户端请求上传文件 2、namenode检查是否存在&#xff0c;可以上传&#xff0c; 3、客户端请求第一个block块上传到datanode 4、namenode返回3个datanode节点&#xff0c;d1,d2,d3 5、客户端请求dn1调用数据&#xff0c;d1收到请求会继续调用d2&#…

使用海外云手机为亚马逊店铺引流

在全球经济一体化的背景下&#xff0c;出海企业与B2B外贸企业愈发重视海外市场的深耕&#xff0c;以扩大市场份额。本文旨在探讨海外云手机在助力亚马逊店铺提升引流效果方面的独特作用与优势。 海外云手机&#xff0c;一种基于云端技术的虚拟手机&#xff0c;能够在单一硬件上…

经典分类网络LeNet5和VGG16项目:实现CIFAR10分类

CIFAR10分类 v1&#xff1a;LeNet5&#xff1a;2cnn3fc 可视化结果 精确率 损失 最佳 v2&#xff1a;LeNet5&#xff1a;3cnn2fc 可视化结果 精确率 损失 最佳 v3&#xff1a;LeNet5&#xff1a;2cnnbnres3fc 可视化结果 精确率 损失 最佳 v4&#xff1a;VG…