【lora模块调试:亿百特lora-型号E22-400T30D-V=初步调试踩坑-认识模块-了解协议(1)】

news2024/10/7 13:24:29

【lora模块调试:亿百特lora-型号E22-400T30D-V=初步调试踩坑-认识模块-了解协议(1)】

  • 1、概述
  • 2、实验环境
  • 3-1:先行了解
  • 3-2:经验总结
  • 4、硬件线路连接方式
      • 1、厂家提供的ttl转usb的模块
      • 2、使用开发板上的串口
      • 3、自己弄个转换器
      • 4、本次实验硬件连接
  • 5-1:透传模式
    • 1、10进制透传
    • 2、16进制透传
  • 5-2:定点模式
    • 1、第一步写入参数
    • 2、第二步进行传输实验
    • 2、第三步进行广播传输实验
  • 5-3:设置参数模式
  • 5-4:不同模块测试
  • 6、协议解读
  • 7、相关资料整理
  • 8、细节部分
        • (1)注意“配置模式(M1=1,M0=0)"和”通信模式(M1=0,M0=0)“.
        • (2)不同模块模块功率不一样,不容易影响通信。
  • 9、总结

1、概述

之前做过Lora调试有一段时间了,但是刚刚接触时候,遇到一堆问题,调试的时候,很容易掉进坑里去,所以最近再次调试,做个笔记的同时,也算是复习一下,同时后续有调试lora的小伙伴,也可以给予一定指导。

原本没有想着编写代码的,后续想想还是编写个简单样例吧,这样也能将正点原子的开发板H7的使用一下,自己买的H7,吃灰吃了好久,刷完视频,就没怎么用过,这次也再用用。

所以本次分成两篇来编写,本篇也就是第一篇主要是基础调试,不涉及代码,为的是了解协议相关。第二篇会主要编写代码,我计划分别在F1/F4/H7上实验一个简单应答样例。

2、实验环境

实验环境本次比较重要,主要是线路连接,或者说lora的模式配置引脚M0和M1高低电平等。

(1)软件环境:PC环境WIN10,串口软件和配置软件(RF_Setting(E22-E9X(SL)) )。
(2)硬件芯片:lora模块:E22-400T30D
(3)硬件芯片:lora模块:E22-400T22S
在这里插入图片描述

(4)其它硬件: TTL串口传usb模块,串口转usb转换器,开发板H7(本篇主要是供电)线路。
(5)其它说明,本次没有距离相关实验,模块离得比较近,所以不使用天线也可以通信。

硬件如下图所示。
在这里插入图片描述

3-1:先行了解

这部主要是截图,简单说明模块和lora,具体更为细节的lora这里不会浪费太大篇幅,想要了解在网上自行了解就可以了,资料太多了。
在这里插入图片描述

3-2:经验总结

此部分说要说说自己调试整体情况,自己经验总结。
(1)主要注意硬件的连接,调试的时候,可能会连接很多线,尤其是切换模式的时候,有小心就容易连接错误,或者虚连,导致软件连接不同。
(2)不同模式下,能够使用指令不相同,在通信模式下,不要发设置模式的指令。在设置模式下,不要发送信息。
(3) 一旦报错,软件连接不成功的,先检查M0和M1引脚高低电平。
(4)协议需要仔细看下,尤其是定点模式透传模式下,数据错了很容易不通。

4、硬件线路连接方式

本部分介绍3种连接模块的方式,以此应对不同人持有硬件情况不同情况,

1、厂家提供的ttl转usb的模块

如下图,使用这种方式,对初学者非常友好,不需要关心做线,不使用杜邦线去接,直接插上模块,只要关系在设置模式时,M0和M1,接上跳线帽就是接地为0,拔下跳线帽是接高为1。

但是后来再想买一个的时候,发现商家将物品下架了,需要的话可能需要在某宝上搜搜,【USB转TTL多功能转换板,E15-USB-R2】。
在这里插入图片描述

2、使用开发板上的串口

一般不是买核心单片机话,都会带232转usb的模块,说白了直接用开发板上的这个模块,还省心,当然整个开发板还是有些价格的。

我这次其中一个就接在了这个上,很方便,如果不通,对调RX和TX
在这里插入图片描述

3、自己弄个转换器

转换器的成本也是比较贵些的,但是这种转换器,算是一劳永逸的方式,有了一体转换器,调试的时候基本不会再考虑什么小模块485,232和422啥的了,它上边都有,还方便。

本次实验其中一个lora就连接在这上,如果不同也可以尝试对调RX和TX,需要注意的是共地
在这里插入图片描述

4、本次实验硬件连接

这里将自己本次实验的硬件作个说明,硬件连接可以说非常重要,一旦稍有差错,软件调试可能就不通。如下引脚,我将所有用到的引脚罗列出来。

//2个lora模块
M0--配置引脚-设置发送模式和设置模式--连接高低来控制
M1--配置引脚-设置发送模式和设置模式--连接高低来控制
RXD--通信引脚,连接单片机,者转换器模块或者232模块
TXD--通信引脚,连接单片机,者转换器模块或者232模块
AUX--用于指示模块工作状态,基本上悬空
VCC--VCC供电,直接连接5V,本次接在开发板的5V上
GND--GND供地,直接连接GND,本次接在开发板的GND上

//开发板232模块
RXD--连接一个lora模块的TXD,用以通信
TXD--连接一个lora模块的RXD,用以通信
VCC--VCC供电,因为在开发板上直接供电了,不需要关心。

//usb转换器
3/5V in-就是RXD--连接一个lora模块的TXD,用以通信
3V out -就是TXD--连接一个lora模块的RXD,用以通信
GND--GND供地,连接在开发板上,就实现了共地

如下图所示,出自本人“灵活画手[手动滑稽狗头]”,用图示来说明线路连接方式,在文档中有说明模式设置,如下图,主要是设置M0和M1,我们主要是使用传输模式和配置模式.
在这里插入图片描述

如下图,如果是传输模式下,连接如下。
在这里插入图片描述
如下图,如果是配置模式下,连接如下。
在这里插入图片描述

5-1:透传模式

我们先尝试一下透传模式,透传模式顾名思义,你输入什么,就传输什么,在同一频率下的模块无差别接收。

1、10进制透传

如下图在配置模式(M0=0,M1=1情况下),我们先用配置软件(RF_Setting(E22-E9X(SL)) V2.4.exe),配置“恢复出厂设置”的默认参数,波特率9600,8N1,2.4kps,240bytes,等,先写入。
在这里插入图片描述
然后将在通信模式(M0=0,M1=0情况下),我们用上边串口模块,进行通信实验,一遍输入些内容,可用看到均透传过去了。

另外引入第三个模块,只要也是透传模式下,配置一样,同样可用收到信息。

2、16进制透传

如下图我们只需要点上16进制显示,和16进制发送,就可以了,本质上,模块就是16进制发送的。,点上后我们可用直接看16进制了。
在这里插入图片描述
另外一个细节,从收发延迟时间,可用看到大致中间传输时间,不过这不是本篇关心的点

5-2:定点模式

透传因为对数据完全没有要求,所以不必关系你输入数据,而定点需要包头,说白了,对数据有点要求,要求你发送时先输入模块地址+通信信道,然后才是你的数据,而收到方,自动将模块地址+通信信息剔出去,留下数据。
注意点:

  1. 模块地址要设成不一样的,不同透传模式,地址需要设置不一样
  2. 定点传输时,需要指定模块地址+通信信道。
  3. 模块自动只将数据给你,如下图。
    在这里插入图片描述

1、第一步写入参数

我们刚才实验,先尝试透传,现在要设置定点模式,所以我们选先进入在配置模式(M0=0,M1=1情况下),然后读取,参数,一个设置模块地址为0,定点传输,一个设置模块地址为1,定点传输,如下图所示。

在这里插入图片描述

2、第二步进行传输实验

然后切换模式,在通信模式(M0=0,M1=0情况下),我们指定com6的模块地址为0,com16的地址为1,通信信道为23(十进制),那么16进制就是0x17。

我们在地址为0的模块,给地址为1的发,就是0x00 0x01 0x17 0xXX
我们在地址为1的模块,给地址为0的发,就是0x00 0x00 0x16 0xXX
如下图所示。
在这里插入图片描述
通过上图也可以看到,数据接收到,直接将数据给我们了,并没有包头部分。

2、第三步进行广播传输实验

在这里插入图片描述

根据文档,可看到,还有一个广播模式,只要将地址改成全0xFF 0xFF就可以了。
在这里插入图片描述
注意均要点上 16进制发送

5-3:设置参数模式

在设置模式参数,即在配置模式(M0=0,M1=1情况下),按照文档,我们可用进行一些指令进行练习,其中也可用看到,发出指令后,不一定完全按照文档回复,但多尝试几次,还是可以收到的。
在这里插入图片描述
随后使用软件进行验证。
在这里插入图片描述

5-4:不同模块测试

恰好手里有个不太一样的lora模块,或者说型号不是完全一样的模块,如下图,
在这里插入图片描述
我们在配置模式(M0=0,M1=1情况下),将其地址设为2,其它基本一致。
在这里插入图片描述

进一步测试,发现读取模块功率不一样,这块其它配置基本相同,就可以进行通信,如下图。
在这里插入图片描述

6、协议解读

本部分只要是协议部分解读,了解lora配置部分协议,配置软件发送时,就是就是发送了一串16进制数据组。
在这里插入图片描述

为此我将数据提取复制出来,也就是”恢复出厂设置“的参数。
”0xc0 0x00 0x09 / 0x00 0x00 /0x00 / 0x62 0x00 0x17 0x43 0x00 0x00“
如下时经过解析部分,这个是哪里来的呢,在文档中有说明。
在这里插入图片描述

如下文档,是对于这些数据含有说明。
在这里插入图片描述
练习”5-3:设置参数模式“的时候,我们指定开头0xC0,就是设置寄存器模式,而第二位0x00是起始地址,而第三位是长度,后面是参数。
在这里插入图片描述

这里做个波特率解析,我们选则9600这个值,那么就是7位上为0,6位上位1,5位上位1,加上后续配置。图的方式展现,如下。
在这里插入图片描述
而长度为0x09,说明后续要有几个参数长度,如下。
在这里插入图片描述
这大概就是数据解析内容了。

7、相关资料整理

(1)先是这块模块文档,可用去官网下,或者我这个连接,里面有配置软件和一个文档。串口软件网上很多,请自行寻找吧。
链接:https://download.csdn.net/download/qq_22146161/87972032

(2)买模块时,商家给到连接,可以理解亿百特将资料放在一个网站上,自己去下载吧,这里给出链接。
物品lora链接:https://www.ebyte.com/product-view-news.html?id=934
在这里插入图片描述
物品usb转ttl模块链接:https://www.ebyte.com/product-view-news.html?id=627
在这里插入图片描述

8、细节部分

(1)注意“配置模式(M1=1,M0=0)"和”通信模式(M1=0,M0=0)“.

在实验过程中,需要多次切换模式,进行设置,稍微一不注意,就可能通信不成功,自己好几次,也是因为这个失败了,所以在调试,多次提醒,在什么什么模式下,主要是为了防范这个。

否则很容易出现下面报错,”模块无响应“。
在这里插入图片描述

(2)不同模块模块功率不一样,不容易影响通信。

虽然不同模块功率不一样,但基本不影响通信,如下两图。
在这里插入图片描述在这里插入图片描述

9、总结

刚刚接触时,不知道这么多细节,调不通,确实有点头大,记录下来,也是感觉非常不错的。
后续用代码调试下,敬请期待吧。

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

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

相关文章

基于Java+Vue前后端分离网上拍卖系统设计实现(源码+lw+部署文档+讲解等)

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

智能批量剪辑系统源码开发者如何减少服务器成本?

一、智能混剪批量剪辑自研与接入第三方“如阿里云”接口的差别 智能混剪批量剪辑自研和接入第三方"如阿里云"接口的差别主要在于技术实现和功能定制。自研混剪系统需要团队投入大量时间和资源来研发和维护,并且能够根据用户需求定制和优化功能&#xff0…

6 中断概览(STM32HAL库)

目录 中断概览 STM32异常和中断介绍 STM32的异常一览 STM32的中断表一览 中断的优先级 中断的优先级分组 优先级分组 嵌套向量中断控制器(NVIC)功能 中断概览 什么是中断? 中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器…

如何理解Spring Bean?

文章目录 一、什么是 Spring Bean?二、定义Spring Bean 有哪些方式?三、Spring 容器是如何加载 Bean 的? 我一共分三段来介绍,首先,介绍什么是 Spring Bean?然后,定义Spring Bean 有哪些方式&am…

typescript Constructor Set requires ‘new‘

使用typescript的class继承时报错 “构造函数集需要’new’” ts代码 class MySet extends Set {constructor() {super();}let myset new MySet();控制台错误 只需要在tsconfig.json文件中添加以下配置即可 "compilerOptions": {"target": "es6…

面试常问 什么是回表?为什么需要回表?

小伙伴们在面试的时候,有一个特别常见的问题,那就是数据库的回表。什么是回表?为什么需要回表? 索引结构 要搞明白这个问题,需要大家首先明白 MySQL 中索引存储的数据结构。这个其实很多小伙伴可能也都听说过&#xf…

SQL方言:传统关系型数据库下的方言对比

前言&#xff1a; 技术多元化是一个趋势&#xff0c;多语言并存&#xff0c;多数据库适配&#xff0c;多环境兼容>< 场景&#xff1a; 当从SQL Server数据库迁移到MySql数据库或者Oracle数据库&#xff0c;甚至国产化数据库&#xff0c;不同数据库之间可以自定义切换&…

实现firebase FCM和Analytics

前提&#xff1a;1.需要vpn 2.带有google 服务的手机 注意&#xff01;&#xff01;&#xff01; 这个在2023年6月30日时还是测试版&#xff0c;所以手机有概率接收不到消息 编写代码前需要在https://console.firebase.google.com/ 配置好参数 这里的token值需要填写代码内的i…

macOS 系统 安装 Kafka 快速入门

博主 默语带您 Go to New World. ✍ 个人主页—— 默语 的博客&#x1f466;&#x1f3fb; 《java 面试题大全》 &#x1f369;惟余辈才疏学浅&#xff0c;临摹之作或有不妥之处&#xff0c;还请读者海涵指正。☕&#x1f36d; 《MYSQL从入门到精通》数据库是开发者必会基础之…

神策(Android)- 集成基础埋点的整个过程

记得最早以前都是用友盟全家桶&#xff0c;埋点是用友盟&#xff0c;推送也是用友盟&#xff1b;但是近俩年我参与开发的app&#xff0c;埋点都是用神策、推送都是用极光私服&#xff0c;分享都是去对应集成对应平台的SDK 神策篇 神策&#xff08;Android&#xff09;- 集成基…

2023-6-30-第十二式组合模式

&#x1f37f;*★,*:.☆(&#xffe3;▽&#xffe3;)/$:*.★* &#x1f37f; &#x1f4a5;&#x1f4a5;&#x1f4a5;欢迎来到&#x1f91e;汤姆&#x1f91e;的csdn博文&#x1f4a5;&#x1f4a5;&#x1f4a5; &#x1f49f;&#x1f49f;喜欢的朋友可以关注一下&#xf…

Linux的tmux的使用

0.前言 您好&#xff0c;这里是limou3434&#xff0c;本次我将给您带来Linux下tmux的使用。 如果您感兴趣也可以看看我的其他内容。 1.tmux的基础概念 tmux是一款在Linux里运行在终端上的软件&#xff0c;可以使得终端具有强大的多任务管理功能&#xff08;以下是在Ubuntu环…

CSS知识点汇总(八)--Flexbox

1. flexbox&#xff08;弹性盒布局模型&#xff09;是什么&#xff0c;适用什么场景&#xff1f; 1. flexbox&#xff08;弹性盒布局模型&#xff09;是什么 Flexible Box 简称 flex&#xff0c;意为”弹性布局”&#xff0c;可以简便、完整、响应式地实现各种页面布局。采用…

Python高级教程:简单爬虫实践案例

学习目标 能够知道Web开发流程 能够掌握FastAPI实现访问多个指定网页 知道通过requests模块爬取图片 知道通过requests模块爬取GDP数据 能够用pyecharts实现饼图 能够知道logging日志的使用 一、基于FastAPI之Web站点开发 FastAPI是一个高性能、易于使用、快速编写API的…

新品亮相丨美格智能高性能Cat.1 bis模组SLM332X上市

6月29日&#xff0c;2023 MWC 上海世界移动通信大会火热进行中。展会现场&#xff0c;美格智能正式发布基于芯翼信息科技XY4100芯片平台研发的高性能4G LTE Cat.1 bis模组SLM332X。该产品可广泛应用于智能支付、智慧表计、共享经济、公网对讲机、定位追踪、智能穿戴、安防监控等…

Web3本地搭建truffle智能合约开发环境

之前的几篇文章 我们是成功的操作了我们本地区块链的 那么 本文 我们就来说说智能合约 啊 不容易啊 扯了这么久 终于到这了 智能合约是部署在区块链上 不可逆的 一种去中心化的程序&#xff0c;他没有任何第三方公司来管理这个程序和数据 然后 还有就是怎么连接到区块链上的智能…

基于Java星空游戏购买下载平台设计实现(源码+lw+部署文档+讲解等)

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

浅谈基于微电网的智慧校园能耗监测系统的设计与产品应用

摘 要&#xff1a;针对高校教学建筑能效监管效率低的问题&#xff0c;从系统总体设计、分层设计、硬件系统设计、软件系统设计、功能测试等方面阐述了一种基于物联网技术的智慧校园建筑能效监管系统。通过对能耗监管系统关键功能的测试&#xff0c;测试效果良好&#xff0c;结果…

处理开发者账号到期导致APP下架的方处理开发者账号到期导致APP下架的方法

处理开发者账号到期导致APP下架的方处理开发者账号到期导致APP下架的方法 开发人员账号到期时&#xff0c;应采取以下步骤处理APP被下架问题&#xff1a; 登录开发者账号。点击右上角的"账户"&#xff0c;选择"续费"。输入信用卡信息&#xff0c;确保使用…

Android应用卡顿监控方案原理和对比

作者&#xff1a;天才木木木木 0 介绍 要监控应用界面是否发生卡顿&#xff0c;需要先了解一下Android应用主线程的渲染机制&#xff1a; Android 系统提供一个稳定的帧率输出机制&#xff0c;让软件层和硬件层可以以共同的频率一起工作,使我们可以享受稳定帧率的画面。 大部…