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’结尾) | 69 | “TX OK”“TX Error” |
配置射频参数(PC->Node) | 0x03 |
2B:前导码0x55 0xAA1B:空中速率档位 有效值=[4, 7, 10] 4B:频率,有效范围= [410 MHz~ 525MHz] 2B:CRC16校验 |
9 |
数据帧(十六进制):55 AA07 1C 03 A1 80 XX XX55 AA:前导码(防错) 07:使用第7档速率(见表2) 1C 03 A1 80:0x1C03A180(470,000,000), 即频率为470MHz。 XX XX:对前面7字节CRC16校验 |
回应配置射频(Node->PC) | 0x83 | 配置结果(字符串,以’\0’结尾) | 328 | “OK”“Bad bps, valid is[4, 7, 10]” |
读取射频参数(PC->Node) | 0x04 | / | 0 | / |
回应读取射频(Node->PC) | 0x84 |
2B:前导0x55 0xAA1B:空中速率档位 4B:频率(大端格式) 2B:CRC16校验 |
9 |
数据帧(十六进制):55 AA07 1C 03 A1 80 XX XX55 AA:前导码(防错) 07:使用第7档速率(见表2) 1C 03 A1 80:0x1C03A180(470,000,000), 即频率为470MHz。 XX XX:对前面7字节CRC16校验 |
设置发射功率(PC->Node) | 0x07 | 1B:发射功率,有效范围=[-1~20] | 1 | 数据帧(十六进制):1414: 0x14=20,发射功率为20dBm |
回应设置功率(Node->PC) | 0x87 | 发送结果(字符串,以’\0’结尾) | 328 | “OK”“Bad TX power, valid is[-1~20]” |
读取发射功率(PC->Node) | 0x08 | / | 0 | / |
回应读取功率(Node->PC) | 0x88 | 1B:发射功率,有效范围=[-1~20] | 1 | 数据帧(十六进制):1414: 0x14=20,发射功率为20dBm |
读取RSSI(PC->Node) | 0x0A | / | 0 | / |
回应读取RSSI(Node->PC) | 0x8A | 2B: 接收数据包RSSI值有效范围=[-146~20] | 2 | 数据帧(十六进制):FF F6FF F6: 0xFFF6=-10,RSSI为-10dBm |
接收数据(Node->PC) | 0xC0 | 实际接收数据,最大字节=247 | 2 | 数据帧(十六进制):12 34接收2字节唤醒数据:0x12 0x34 |
您的留言或需求: