目录
一、简单了解
本文以正点原子ATK-LORA-01模块为例进行介绍。
1、模块简介
ATK-LORA-01-V3.0(V3.0是版本号,下面均以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、自动分包传输,保证数据包的完整性
2、硬件及功能
外观如图:
各引脚描述如下:
与STM32通过串口连接:
其中,当要进入配置模式时,需要将MD0给高电平,需要固件升级时需要将MD0与AUX同时给高,并保持1秒。否则进入无线通信模式,配置方式见下图:
其中通信功能又包括4中工作模式:
3、传输方式
LORA模块通信的传输方式主要有以下三种:
(1)透明传输:即透传数据,例如:A设备发5字节数据AABBCCDDEE到B设备,B设备就可以收到数据AABBCCDDEE。(透明传输,针对设备相同地址、相同的通信信道,用户数据可以是字符或16进制数据形式)
(2)定向传输:即定点传输,例如:A设备(地址为:0x1400,信道为0x17(23信道、433Mhz))需要向B设备(地址为:0x1234,信道为0x10(16信道、426Mhz))发送数据AABBCC,其通信格式为:123410AABBCC,其中1234为模块B的地址,10为信道,则模块B可以收到AABBCC。同理,如果B设备需要向A设备发送数据AABBCC,其通信格式为:140017AABBCC,则A设备可以收到AABBCC。(定向传输,针对设备间地址和通信信道不同,数据格式为16进制,发送格式:高位地址+低位地址+信道+用户数据)
(3)广播与数据监听:将模块地址设置为0xFFFF(即65535),可以监听相同信道上的所有模块的数据传输,发送的数据,可以被相同信道上任意地址的模块收到,从而起到广播和监听的作用。
三者的区别:
简单的说,当只需要点对点通信(即两个LORA相互通信)时,可使用前两种方式。
其中,透明传输可以以字符或16进制数据形式发送,需要两个LORA模块的地址、信道相同,而定向传输只能以16进制的特定格式发送,无需二者地址或信道相同。(由于LORA模块的地址和信道有十分多的选择,一般不会出现冲突的可能,所以个人推荐使用透明传输更方便。)
当需要多个LORA通信时,选用第三种传输方式。
二、模块上手
1、连接
刚开始学习使用LORA模块进行通信,可以先配置一个LORA模块与STM32连接,另一个直接通过USB-TTL连接到电脑,通过上位机软件检测是否成功连接并进行简单的通信。
与STM23直接通过串口连接,MD0和AUX连接GPIO,如果使用正点原子的开发板(如战舰)则可直接与其串口三对接:
另一个直接通过USB转TTL连接,然后打开上位