超低功耗LoRa无线通信应用实践
目录
1、模块简介
本博客选用LoRa Radio Module-868MHZ作为无线通信模组,其是一款体积小、微功率、低功耗、高性能、远距离的无线数据传输模块。具备内部自动扩频计算和前导 CRC 纠错处理能力。使用时,不改变用户的任何数据和协议,采用半双工通讯,实现串口无线数据收发传输的功能。
模块的射频芯片基于扩频跳频技术,配置低功耗高速处理器,支持普通透明传输方式,不改变用户数据和协议,所发即所收;也可以 建立一对多星型网络通讯,中心模块通过地址呼叫节点模块,节点模块通过透传方式作出应答,节点之间不会相互干扰,非常适合无线水表、气表、传感等低功耗应用场合。
模块间的通信距离3到5千米,通信范围广,若再加入中继模块提供中继路由,可有效扩大通讯范围,在距离上足可覆盖许多应用网络。用户还可以通过上位机软件或用 AT 命令根据实际需求灵活配置模块的网络ID、工作频率、串口速率、扩频因子、扩频带宽等参数,操作简单,使用方便。
模块技术参数如下所示:
2、模块应用
2.1、工作模式
LoRa模块有三种刚工作模式:标准模式(透明模式)(Standard)、中心模式(Central)和节点模式(Node),此外,中心模式和节点模式通讯时,可以采用“快速通道” 模式。
一、标准模式
模块处于高速无线监听状态,无论是空中数据还是串口数据都及时处理,并且 AUX 脚提前 2 ms 给出低电平来唤醒用户设备。
标准模式时序图如下所示:
二、中心模式
模块配置是按休眠模式配置,但工作是全速工作,耗电和全速模式一样, 并且两个模块都设置为中模式是不可以通信,它要配合节点模块使用来组成低功耗星型网络。
三、节点模式
模块大部分功能都关闭,数据传输都得到优化,如果模块在节点模式下需要发送数据给中心模块,就需要借助 EN 脚来唤醒模块。如客户端需要发送数据的时候,客户端就需要把 EN 脚拉低再发送数据,模块被换醒后可以通过串口接收客户端发过来的数据。所以在节点模式下休眠,模块不会监听串口数据(需要 EN 脚唤醒)只保留 CAD 无线监听。
节点模式时序图如下所示:
当模块设置为标准模式或中心模式时,如果 EN 脚置高电平,那么模块的 MCU和 RFIC 都是深度休眠,待机电流只有 3.9uA。此时模块不可以接收串口数据和无线数据。只有当 EN 脚被拉低的时候,模块才可以被唤醒,恢复到原来的状态。
当模块设置为节点模式时,如果 EN 脚置高电平,则模块处于休眠和 CAD 检测交替切换状态。模块可以接收空中数据,但不可以接收串口数据,只有模块 EN 脚被拉低时,才可以接收串口数据。
四、快速通道
中心模块和节点模块之间通讯时,可以采用快速通道模式,具体做法是,中心模块 EN 脚和 SET 脚拉低,节点模块 EN 脚和 SET 脚拉低,此后,中心模块给节点模块发送数据时,可以省去前导码配对时间,也就是取消了节点模块的休眠时间。从而减少了大规模数据采集所需要的时间,同时,也减少了部分功耗。这种模式适用于短时间内单个节点传输大量数据,或者多个节点轮询少量数据的情况
模块在三种不同的工作模式下,无线接收、串口接收、处理器状态等处理方式是不同的,因此具有不同的功耗表现。
2.2、模块配置
在使用模块通信之前需要使用软件配置相应的模式,若想实现通信效果前提是模块之间载波频率、扩频因子、扩频带宽、网络 ID 都要相同。
官方最新配置软件如下所示,图中所显示的参数值,即为模块出厂的默认参数,用户需要根据实际的应用需求修改相关参数。更多详情可参见模块官网说明文档。
简要说明如下所示:
序号 | 说明 | 序号 | 说明 |
---|---|---|---|
1 |
打开串口
| 9 |
设置节点
ID
|
2 |
选择串口
| 10 |
设置网络
ID
|
3 |
选择软件波特率
| 11 |
设置发射功率
|
4 |
选择软件校验
| 12 |
设置串口波特率
|
5 |
设置频率
| 13 |
设置串口校验
|
6 |
设置工作模式
| 14 |
写参数按钮
|
7 |
设置扩频因子
| 15 |
读参数按钮
|
8 |
设置扩频带宽
| 16 |
状态显示栏
|
注意:
1、 标准模式和标准模式搭配可以相互通讯,中心模式和节点模式搭配可以相互通讯,其他模式搭配都不可以相互通讯。而快速通道模式,只在中心模式和节点模式搭配时才有效。
2、 如果要配置模块的参数,不管在哪个模式下,EN 脚必须接地,才可以输入命令进行配置参数。 EN 脚被拉低 50MS 后客户端才可以从串口发送数据给模块。
配置完成后即可使用串口调测助手进行通信,当然就可以直接用单片机的MCU串口收发数据实现无线通信,使用非常便捷。
关注公众号,发送关键字:Java车牌识别,获取项目源码。