LoRa点对点系统3 与PC接口

来源:互联网 发布:排序算法比较次数 编辑:程序博客网 时间:2024/05/22 17:02

LoRa点对点系统3 与PC接口

1 通信介质

UART口:115200波特率、8位数据位、1位停止位、无校验。

2 通信模式

设置和读取参数遵循主从方式,PC为主,Node为从。通信由PC发起,Node根据相应的命令进行响应,如下图所示。



当Node接收唤醒通信数据帧时,它以“异步方式”发送给PC,如下图所示。



3 通信帧格式

PC与Node通信帧采用变长格式,如下图所示。大部分设备可以很好地处理以“回车符”结尾的数据帧,因此协议中的Tail等于0x0D(换行符)。



4 通信帧种类

没有额外说明,数据格式均为“大端”,即:4字节整数0x12345678在内存中(自低向高)存储顺序为:0x12、0x34、0x56、0x78。

帧含义

Type

数据域

实例

字节

数据解释

读取软件版本

(PC->Node)

0x01

/

0

/

回应软件版本

(Node->PC)

0x81

软件版本号

(字符串,以’\0’结尾)

24

“LoRaP2P V1.0.0 16-10-20”

发送数据

(PC->Node)

0x02

实际发送数据,

最大字节=247

2

数据帧(十六进制):12 34

发送2字节数据:0x12 0x34

回应发送结果

(Node->PC)

0x82

发送结果

(字符串,以’\0’结尾)

6

9

“TX OK”

“TX Error”

配置射频参数

(PC->Node)

0x03

2B:前导码0x55 0xAA

1B:空中速率档位

有效值=[4, 7, 10]

4B:频率,有效范围=

[410 MHz~ 525MHz]

2B:CRC16校验

9

数据帧(十六进制):55 AA071C 03 A1 80 XX XX

55 AA:前导码(防错)

07:使用第7档速率(见表2)

1C 03 A1 800x1C03A180(470,000,000),

即频率为470MHz

XX XX:对前面7字节CRC16校验

回应配置射频

(Node->PC)

0x83

配置结果

(字符串,以’\0’结尾)

3

28

“OK”

“Bad bps, valid is[4, 7, 10]”

读取射频参数

(PC->Node)

0x04

/

0

/

回应读取射频

(Node->PC)

0x84

2B:前导0x55 0xAA

1B:空中速率档位

4B:频率(大端格式)

2B:CRC16校验

9

数据帧(十六进制):55 AA071C 03 A1 80 XX XX

55 AA:前导码(防错)

07:使用第7档速率(见表2)

1C 03 A1 800x1C03A180(470,000,000),

即频率为470MHz

XX XX:对前面7字节CRC16校验

设置发射功率

(PC->Node)

0x07

1B:发射功率,

有效范围=[-1~20]

1

数据帧(十六进制):14

14: 0x14=20,发射功率为20dBm

回应设置功率

(Node->PC)

0x87

发送结果

(字符串,以’\0’结尾)

3

28

“OK”

“Bad TX power, valid is[-1~20]”

读取发射功率

(PC->Node)

0x08

/

0

/

回应读取功率

(Node->PC)

0x88

1B:发射功率,

有效范围=[-1~20]

1

数据帧(十六进制):14

14: 0x14=20,发射功率为20dBm

读取RSSI

(PC->Node)

0x0A

/

0

/

回应读取RSSI

(Node->PC)

0x8A

2B: 接收数据包RSSI值

有效范围=[-146~20]

2

数据帧(十六进制):FF F6

FF F6: 0xFFF6=-10RSSI-10dBm

接收数据

(Node->PC)

0xC0

实际接收数据,

最大字节=247

2

数据帧(十六进制):12 34

接收2字节唤醒数据:0x12 0x34

 


0 0
原创粉丝点击