上一篇介绍了LoRa-IoT开发板的设计思路、功能特点和应用案例,开发板可以通过烧录程序和AT指令配置参数,现在我们使用AT指令测试开发板功能。
视频教程:LoRa-IoT开发板无线收发数据
首先搭建测试环境,LoRa-IoT开发板焊接视频可以观看:开发板焊接
开发板焊接示意如下所示:
发送设备定义为A,接收设备定义为B。
准备USB转TTL*2,杜邦线若干,为了容易在电脑的串口助手上区分,这里选择了两款转换器,一个是CP2102,一个是CH340。
将CP2102版本的USB转TTL连接发送设备A,CH340连接接收设备B。
在接线时需要注意:
USB转TTL的TXD、RXD和开发板的TXD、RXD不要接错;
开发板使用转换器上的3.3V电源供电,开发板上没有电源芯片,不能接到5V,否则会损坏设备。
连接完成后,将开发板连接在电脑,打开串口调试助手,在端口号COM5和COM7可以看到有两个设备(以实际使用时端口号为准),这里COM5是发送设备A,COM7是接收设备B。
串口数据格式默认是波特率:9600、数据位:8位、停止位:1位、校验位:无。
在串口调试助手的发送数据窗口内输入AT指令,设备如果工作正常,会有相应的返回值,详细的AT指令可以查看《LoRa-IoT开发板使用说明书》。
AT指令 | 正确返回值 | 指令说明 |
---|---|---|
AT | OK | 查询开发板是否支持AT指令 |
现在分别向两个设备输入AT,测试设备是否正常。
LoRa-IoT开发板上电后,可以查询开发板的串口和LoRa的初始化参数。
AT指令 | 正确返回值 | 指令说明 |
---|---|---|
AT+INFO+STATE | UART:B””,D””,S””,C””; LoRa:FRE””,POW””,BW””,SF””,CR””,CRC”” |
获取设备当前状态参数 |
在串口调试助手的接收窗口收到一组数据:
UART:B"9600",D"0",S"0",C"0".LORA:CHN"4",FRE"500",POW"17",BW"62",SF"11",CR"2",CRC"1".
数据各参数意思分别是:B:波特率;D:数据位;S:停止位;C:校验位。CHN:4,默认使用4信道,后面是LoRa在4信道时的参数。FRE:频率;POW:发射功率;BW:带宽;SF:扩频因子;CR:编码率;CRC:校验。
详细的参数和说明,大家可以查看AT指令表。
设备正常工作后,分别配置发送设备A和接收设备B的工作模式,相关操作指令如下:
AT指令 | 正确返回值 | 指令说明 |
---|---|---|
AT+MODE+SEND | MODE SEND | 设置为发送模式 |
AT+MODE+RECV | MODE RECV | 设置为接收模式 |
配置完成后,我们在发送设备的串口助手发送窗口内输入 Hello 2020!
然后观察接收设备是否收到这条数据。
可以看到设备A发送数据,在设备B的接收数据窗口上收到了数据。
接下来我们更改设备A的LoRa参数,再看设备B还能否收到数据。在更改设备参数时,需要先将设备从当前状态退出到指令模式再进行更改,相关操作指令如下:
AT指令 | 正确返回值 | 指令说明 |
---|---|---|
+++ | QUIT MODE SEND! | 发送模式退出到指令模式 |
AT+LORA+FRE=“490” | LORA:CHN"0",FRE"490",POW"17", BW"62",SF"11",CR"2",CRC"1". |
设置LoRa发送频率 |
AT+LORA+SET | Reset LoRa… | 使能当前LoRa配置 |
AT+LORA+GET | LORA:CHN"0",FRE"490",POW"17", BW"62",SF"11",CR"2",CRC"1". |
获取LoRa配置参数 |
AT+MODE+SEND | MODE SEND | 设置为发送模式 |
第一步:发送设备A更改发送频率为490MHz
发→AT+LORA+FRE=“490”
收←LORA:CHN"0",FRE"490",POW"17",BW"62",SF"11",CR"2",CRC"1".
第二步:使能LORA参数设置
发→AT+LORA+SET
收←Reset LoRa…
第三步:获取LORA参数
发→AT+LORA+GET
收←LORA:CHN"0",FRE"490",POW"17",BW"62",SF"11",CR"2",CRC"1".
这里有点需要注意的是:
第一步发送设置频率的AT指令后,返回的数据中有490,其实这个时候LoRa还没有变为490,还是初始值500,需要第二步使能之后才会变为490,LoRa其他参数更改时也需要这一步操作。
设备A改完发送频率后,再重新配置成发送模式,然后观察设备B是否还能收到数据。
我们可以看到设备B并没有收到设备A发送的数据。
现在我们将设备A由原来的发送模式变换成接收模式,设备B由原来的接收模式变换成发送模式,同时将设备B的频率由原来的500MHz改成490MHz,观察设备A能否收到数据,相关操作指令如下:
AT指令 | 正确返回值 | 指令说明 |
---|---|---|
+++ | QUIT MODE SEND! | 发送模式退出到指令模式 |
AT+MODE+CMD | MODE CMD | 设置为指令模式 |
AT+MODE+SEND | MODE SEND | 设置为发送模式 |
AT+MODE+RECV | MODE RECV | 设置为接收模式 |
AT+LORA+FRE=“490” | LORA:CHN"0",FRE"490",POW"17", BW"62",SF"11",CR"2",CRC"1". |
设置LoRa发送频率 |
AT+LORA+SET | Reset LoRa… | 使能当前LoRa配置 |
AT+LORA+GET | LORA:CHN"0",FRE"490",POW"17", BW"62",SF"11",CR"2",CRC"1". |
获取LoRa配置参数 |
设备A现在是接收模式,我们可以在串口助手接收数据窗口,看到设备B发送的数据。
从以上的操作过程可以看到,通过AT指令配置开发板的LoRa参数,可以实现LoRa-IoT开发板之间的数据收发,以及工作模式的切换。如果更改LoRa其他参数,操作过程参考以上操作。
在使用AT指令时,有以下几点需要注意: