
E22 LoRa模块透传 定点传输 WOR模式测试与MicroPython应用
模块1透传消息测试
模块2定点传输测试 / 模块1监听信道消息测试
当然E22 LoRa模块还有很多丰富的功能,例如中继、加密传输等功能等着我们探索, 官方资料下载 欢迎讨论与批评指正!
发布日期: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因为采用透传可不选)

00 03 05 12345AB
FF FF 05 666777
00 02 05 AABBCC
FF FF 05 DDEEFF
WOR模式测试
WOR发送方与接收方设置流程

配置LoRa模块2为WOR发送方,LoRa模块3为WOR接收方
模块跳帽如下图
3个模块连接串口助手进行调试,WOR发送方向WOR接收方发送消息,成功
00 03 05 12345AB

MicroPython应用
找一块PyBoard板,插入传感器(这里用DS18B20温度传感器),用Pyboard的6号UART:Y1(TX)和Y2(RX)引脚传输温度数据,将温度数据传输给地址为02和03的LoRa模块
接线说明- 所有的LoRa模块M0和M1引脚均置低,进入传输模式
- PyBoard板子用安卓线连接电脑(如果通过USB hub连接检测不到串口,直连电脑USB试试);
- PyBoard板子引出3V3和GND给LoRa模块1供电,Y1(TX)和Y2(RX)引脚分别连接模块1的TX和RX(没错是TX对TX、RX对RX);
- 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温度数据

发表评论
最新留言
关注你微信了!
[***.104.42.241]2025年04月02日 20时15分03秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
2020 AI 产业图谱启动,勾勒中国 AI 技术与行业生态
2021-05-07
Netty4服务端入门代码示例
2021-05-07
Spring源码:prepareBeanFactory(beanFactory);方法
2021-05-07
AcWing 828. 模拟栈
2021-05-07
(20200328已解决)从docker容器内复制文件到宿主机
2021-05-07
OpenAI Gym简介及初级实例
2021-05-07
int 转 CString
2021-05-07
Edit编辑框自动换行与长度
2021-05-07
Java面向对象
2021-05-07
JAVA带标签的break和continue
2021-05-07
Java获取线程基本信息的方法
2021-05-07
(Python学习笔记):字典
2021-05-07
(C++11/14/17学习笔记):线程启动、结束,创建线程多法、join,detach
2021-05-07
C++并发与多线程(一)
2021-05-07
java一些基本程序
2021-05-07
vue-依赖-点击复制
2021-05-07
LeetCode 116填充每个节点的下一个右侧结点指针
2021-05-07
2021-4-28【PTA】【L2-1 包装机 (25 分)】
2021-05-07
Arduino mega2560+MPU6050利用加速度值控制舵机
2021-05-07
紫书——蛇形填数
2021-05-07