E22 LoRa模块透传 定点传输 WOR模式测试与MicroPython应用
发布日期:2021-05-08 04:54:14 浏览次数:22 分类:精选文章

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

测试说明

测试模块数:3

测试模式:配置模式、传输模式和WOR模式
如果没有检测到串口,首先检查是否安装串口驱动CH341SER,提取码:vaw2

工作模式

模式(0-3) M1 M0 模式介绍 备注
0 传输模式 0 0 串口打开,无线打开透明传输 支持特殊指令空中配置
1 WOR模式 0 1 可以定义为WOR发送方和WOR接收方 支持空中唤醒
2 配置模式 1 0 用户可通过串口对寄存器进行访问,从而控制模块工作状态 -
3 深度休眠 1 1 模块进入休眠 -

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

配置模式的模块跳帽如下图

安卓数据线连接模块后

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

模块序号 传输方式 模块地址 模块信道 备注
1 透传 FFFF(65535) 5 模块1可以广播和监听当前信道的所有数据
2 定点 2 5 定点传输测试
3 定点 3 5 定点传输测试

传输模式测试(模块记得接上天线)

透传和定点传输混合测试

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

从左到右分别是模块1、2、3,其中模块1负责广播和监听当前信道的所有数据,模块2、3用作定点传输测试

打开串口助手(如果没有可以点击下载,提取码:disd)

配置串口设备,9600波特率,按十六进制发送(模块1因为采用透传可不选)
在这里插入图片描述
模块1透传消息测试
在这里插入图片描述
模块2定点传输测试 / 模块1监听信道消息测试

00 03 05 12345AB

在这里插入图片描述

模块2广播传输测试 / 模块1监听信道消息测试

FF FF 05 666777

在这里插入图片描述

模块3定点传输测试 / 模块1监听信道消息测试

00 02 05 AABBCC

在这里插入图片描述

模块3广播传输测试 / 模块1监听信道消息测试

FF FF 05 DDEEFF

在这里插入图片描述

WOR模式测试

WOR发送方与接收方设置流程

配置LoRa模块2为WOR发送方LoRa模块3为WOR接收方

模块跳帽如下图

3个模块连接串口助手进行调试,WOR发送方向WOR接收方发送消息,成功

00 03 05 12345AB

在这里插入图片描述

WOR接收方向WOR发送方发送消息,失败,说明一点:WOR模式下只能由发送方接收方发送消息,换种说法,发送方只能发送消息,接收方只能接收消息(心中瞬间产生一个疑问:那WOR接收方向接收方发送消息呢?经过测试,结论是不可以)。
在这里插入图片描述

MicroPython应用

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

接线说明

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

如下图所示

MicroPython测试程序,,提取码:hpan

打开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温度数据

在这里插入图片描述
当然E22 LoRa模块还有很多丰富的功能,例如中继、加密传输等功能等着我们探索,
官方资料下载
欢迎讨论与批评指正!

上一篇:E28 LoRa模块透传 定点传输 RSSI测试与MicroPython应用
下一篇:E104-BT10G/N蓝牙模块组成mesh网络流程

发表评论

最新留言

关注你微信了!
[***.104.42.241]2025年04月02日 20时15分03秒