E28 LoRa模块透传 定点传输 RSSI测试与MicroPython应用

测试说明

测试模块数:3
测试模式:配置模式和传输模式
如果没有检测到串口,首先检查是否安装串口驱动CH341SER,下载链接提取码:vaw2

工作模式

模式(0-3) M2 M1 M0 模式介绍 备注
0 传输模式 1 0 0 串口打开,无线打开,连续透明传输 空速支持手动配置和自适应波特率自动调节;连续模式双方波特率必须一致
1 RSSI 1 0 1 串口打开,无线打开,RSSI功能打开 模块每100ms输出RSSI强度值
2 测距模式 1 1 0 保留 -
3 配置模式 1 1 1 串口打开,无线关闭,用于参数配置 波特率固定9600 8N1
3 低功耗 0 x x 低功耗模式,功耗为最低 M2置高时处于正常工作状态,M2置低时处于低功耗

配置模块(进入配置模式)

使用USB-TTL连接E28 LoRa模块,接线方式为3V3-VCC、GND-GND、TX-RX和RX-TX,如下图所示

配置模式的模块跳帽如下图(M0、M1、M2引脚均置高

打开官方提供的配置软件ConfigureTool_EBYTE_E28Txx-Setting_v1.1,配置流程如下图所示

3个E28 LoRa模块配置参数

模块序号 传输方式 模块地址 模块信道
1 定点 0001 05
2 定点 0002 05
3 定点 0003 05

同频道定点与广播传输

传输模式的模块跳帽如下图

从上到下分别是模块1、2、3,其中模块1、2、3均为定点传输模式

打开串口助手(如果没有可以点击链接下载,提取码:disd)
配置串口设备,9600波特率,8N1,按十六进制发送
在这里插入图片描述
模块1定点传输测试

00 02 05 AABBCC

在这里插入图片描述
模块2定点传输测试

00 03 05 DDEEFF

在这里插入图片描述
模块3定点传输同理

模块2广播传输测试

FFFF 05 DDEEFF

在这里插入图片描述
模块3广播传输测试

FFFF 05 123456789

在这里插入图片描述
模块1定点传输监听功能测试
将模块1的地址设置为FFFF

模块序号 传输方式 模块地址 模块信道
1 定点 FFFF 05
2 定点 0002 05
3 定点 0003 05

在这里插入图片描述

不同频道定点传输测试

模块3设置信道为06

模块序号 传输方式 模块地址 模块信道
1 定点 FFFF 05
2 定点 0002 05
3 定点 0003 06

在这里插入图片描述

00 03 06 112233

在这里插入图片描述

透传

透传就是在通讯中不管传输的业务内容如何,只负责将传输的内容由源地址传输到目的地址,而不对业务数据内容做任何改变
通过E28配置软件配置模块参数:

模块序号 传输方式 模块地址 模块信道
1 透传 0001 05
2 透传 0001 05
3 透传 0002 05

同地址和同信道才能实现正常的透传
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

怎么只用1个模块向不同地址相同信道的透传设备高效地下发消息并监听消息?

各模块配置参数如下:

模块序号 传输方式 模块地址 模块信道
1 透传 FFFF 05
2 透传 0001 05
3 透传 0001 05
4 透传 0002 05

在这里插入图片描述
在这里插入图片描述

RSSI模式

M0和M2引脚置高,M1引脚置低进入RSSI模式,如下图所示

RSSI全称:Received Signal Strength Indication,指接收的信号强度
打开串口,输出的值为16进制补码的形式,如下图所示

MicroPython应用

调整引脚使M0、M1和M2置高,进入配置模式进行参数设置,使用透传模式传输温度数据,设置模块传输方式均为透传,地址为0001,信道为05

找一块PyBoard板,插入传感器(这里用DS18B20温度传感器),用Pyboard的6号UART:Y1(TX)和Y2(RX)引脚传输温度数据,将温度数据传输给地址为02和03的LoRa模块
接线说明

  1. 所有的E28 LoRa模块M0和M1引脚均置低,M2引脚均置高,进入传输模式
  2. PyBoard板子用安卓线连接电脑(如果通过USB hub连接检测不到串口,直连电脑USB试试);
  3. PyBoard板子引出3V3和GND给LoRa模块1供电,Y1(TX)和Y2(RX)引脚分别连接模块1的RX和TX;
  4. LoRa模块2、3使用USB-TTL连接电脑,引脚关系VCC-3V3、GND-GND、TX-RX和RX-TX。

如下图所示

MicroPython测试程序点击下载,提取码:qy9c
打开uPyCraft,写入程序,主程序如下,其他程序可点击上面的链接下载
如果没有uPyCraft.exe,点击下载,提取码:qpx5

// Main.py
import pyb
from dht11 import DHT11
from ds18b20 import DS18B20
from machine import Pin
from pyb import UART
import dht
import time

uart = UART(6,9600)
uart.init(9600, bits=8, parity=None, stop=1)
dht = dht.DHT11(Pin("B13"))
DS18B20 = DS18B20('B15')
DS18B20.Init()

while 1:
  dht.measure()
  uart.write('test start\r')
  time.sleep(3)   
  print("DHT11 temperature:",dht.temperature())   
  print("DHT11 humidity:",dht.humidity(),'%')   
  pyb.LED(2).on()   
  pyb.delay(1000)   
  uart.write('DS18B20 temperature:%s' %DS18B20.get_temperature())   
  time.sleep(3)   
  uart.write('test finish\r')   
  time.sleep(1)   
  pyb.LED(2).off()   
  time.sleep(3)

通过uPycraft运行程序,通过串口助手可得知LoRa模块2、3成功接收到DS18B20温度数据
在这里插入图片描述

不正常透传的BUG

发生在透传和定点传输混合的情况下
各模块配置参数如下:

模块序号 传输方式 模块地址 模块信道
1 透传 FFFF 05
2 定点 0002 05
3 定点 0003 05

在这里插入图片描述

//模块3发送12345 模块1监听结果:12 34 05 00 00 00 
00 02 05 12345
//模块2发送AB 模块1监听结果:AB 34 05 00 
00 03 05 AB
//模块3发送1234 模块1监听结果:12 34 05 00 00
00 02 05 1234

在这里插入图片描述
结论:与定点传输模块混合使用的透传广播监听模块发送数据时丢包最后3个字节的数据,监听时添加3个字节的数据。

官方资料下载链接
欢迎讨论与批评指正!

猜你喜欢

转载自blog.csdn.net/bean_business/article/details/107892189
今日推荐