博客
关于我
E28 LoRa模块透传 定点传输 RSSI测试与MicroPython应用
阅读量:369 次
发布时间:2019-03-05

本文共 2819 字,大约阅读时间需要 9 分钟。

测试说明

测试模块数: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,如下图所示

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

打开官方提供的配置软件,配置流程如下图所示

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.pyimport pybfrom dht11 import DHT11from ds18b20 import DS18B20from machine import Pinfrom pyb import UARTimport dhtimport timeuart = 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 0000 02 05 1234

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

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

转载地址:http://qhuwz.baihongyu.com/

你可能感兴趣的文章
Python(三十)类的理解
查看>>
Extjs布局详解
查看>>
Android数据库
查看>>
C语言之指针再涉(二)
查看>>
Linux基础命令(十四)软件安装的后续
查看>>
HTML基础,块级元素/行内元素/行内块元素辨析【2分钟掌握】
查看>>
keil左侧文件调整方法
查看>>
本地分支关联远程分支
查看>>
STM8 GPIO模式
查看>>
python多态和封装
查看>>
STM32boot启动
查看>>
回调函数(callback function)
查看>>
omnet++
查看>>
23种设计模式一:单例模式
查看>>
Qt中的析构函数
查看>>
CSharp中委托(一)委托、匿名函数、lambda表达式、多播委托、窗体传值、泛型委托
查看>>
二叉堆的c++模板类实现
查看>>
C语言实现dijkstra(adjacence matrix)
查看>>
SQL Server SQL语句调优技巧
查看>>
用C#实现封装-徐新帅-专题视频课程
查看>>