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

测试说明

测试模块数:3
测试模式:配置模式、传输模式和RSSI模式
如果没有检测到串口,首先检查是否安装串口驱动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,如下图所示
E28 LoRa模块透传 定点传输 RSSI测试与MicroPython应用_第1张图片

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

打开官方提供的配置软件ConfigureTool_EBYTE_E28Txx-Setting_v1.1,配置流程如下图所示
E28 LoRa模块透传 定点传输 RSSI测试与MicroPython应用_第2张图片

3个E28 LoRa模块配置参数

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

同频道定点与广播传输

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

从上到下分别是模块1、2、3,其中模块1、2、3均为定点传输模式
E28 LoRa模块透传 定点传输 RSSI测试与MicroPython应用_第3张图片

打开串口助手(如果没有可以点击链接下载,提取码:disd)
配置串口设备,9600波特率,8N1,按十六进制发送
E28 LoRa模块透传 定点传输 RSSI测试与MicroPython应用_第4张图片
模块1定点传输测试

00 02 05 AABBCC

E28 LoRa模块透传 定点传输 RSSI测试与MicroPython应用_第5张图片
模块2定点传输测试

00 03 05 DDEEFF

E28 LoRa模块透传 定点传输 RSSI测试与MicroPython应用_第6张图片
模块3定点传输同理

模块2广播传输测试

FFFF 05 DDEEFF

E28 LoRa模块透传 定点传输 RSSI测试与MicroPython应用_第7张图片
模块3广播传输测试

FFFF 05 123456789

E28 LoRa模块透传 定点传输 RSSI测试与MicroPython应用_第8张图片
模块1定点传输监听功能测试
将模块1的地址设置为FFFF

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

E28 LoRa模块透传 定点传输 RSSI测试与MicroPython应用_第9张图片

不同频道定点传输测试

模块3设置信道为06

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

E28 LoRa模块透传 定点传输 RSSI测试与MicroPython应用_第10张图片

00 03 06 112233

E28 LoRa模块透传 定点传输 RSSI测试与MicroPython应用_第11张图片

透传

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

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

同地址和同信道才能实现正常的透传
E28 LoRa模块透传 定点传输 RSSI测试与MicroPython应用_第12张图片
E28 LoRa模块透传 定点传输 RSSI测试与MicroPython应用_第13张图片
E28 LoRa模块透传 定点传输 RSSI测试与MicroPython应用_第14张图片

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

各模块配置参数如下:

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

E28 LoRa模块透传 定点传输 RSSI测试与MicroPython应用_第15张图片
E28 LoRa模块透传 定点传输 RSSI测试与MicroPython应用_第16张图片

RSSI模式

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

RSSI全称:Received Signal Strength Indication,指接收的信号强度
打开串口,输出的值为16进制补码的形式,如下图所示
E28 LoRa模块透传 定点传输 RSSI测试与MicroPython应用_第17张图片

MicroPython应用

调整引脚使M0、M1和M2置高,进入配置模式进行参数设置,使用透传模式传输温度数据,设置模块传输方式均为透传,地址为0001,信道为05
E28 LoRa模块透传 定点传输 RSSI测试与MicroPython应用_第18张图片

找一块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。

如下图所示
E28 LoRa模块透传 定点传输 RSSI测试与MicroPython应用_第19张图片

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温度数据
E28 LoRa模块透传 定点传输 RSSI测试与MicroPython应用_第20张图片

不正常透传的BUG

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

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

E28 LoRa模块透传 定点传输 RSSI测试与MicroPython应用_第21张图片

//模块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

E28 LoRa模块透传 定点传输 RSSI测试与MicroPython应用_第22张图片
结论:与定点传输模块混合使用的透传广播监听模块发送数据时丢包最后3个字节的数据,监听时添加3个字节的数据。

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

你可能感兴趣的:(E28,SX1280,MicroPython,lora,信息传输,物联网,python)