EBYTE E22系列Lora模块的微python类
受支持的EBYTE E22模块基于Semtech SX1262/SX1286芯片组,可用于400 MHz(410.125 ... 493.125)和900 MHz(850.125 ... 930.125)频率范围,并提供22 dbm Max。 TX功率。
简单的UART接口用于控制设备。
ebyte数据表:
E22-900T22D
E22-400T22D
Lorae22类基于Effevee的Lorae32类:https://github.com/effevee/lorae32
传输前连接适当的天线!
使用前,请检查您的本地法规是否使用此频率范围。例如,在欧洲大部分地区,最大允许的TX功率低于默认值22 dbm!可能还会有其他限制,例如对传输的占空比限制(这是在使用设备期间跨越总时间的一部分)!

有关引脚配置,请参见代码。
注意: Lorae22测试代码与E32测试代码不同于使用的UART和AUX PIN!此外,Lorae22使用“正常模式”,而Lorae32在SendMessage()中使用“唤醒模式”。
| 传输模式 | TX(addr -ch) | rx(addr -ch) | msg(addr -ch) | 发射器代码 | 接收器代码 |
|---|---|---|---|---|---|
| 透明的 | 0x0001-0x02 | 0x0001-0x02 | 0x0001-0x02 | testsende22_transparent.py | testRecve22_transparent.py |
| 固定P2P | 0x0001-0x02 | 0x0003-0x04 | 0x0003-0x04 | testsende22_p2p.py | testRecve22_p2p.py |
| 固定广播 | 0x0001-0x02 | 0x0003-0x04 | 0xffff -0x04 | testsende22_broadcast.py | testRecve22_broadcast.py |
| 固定监视器 | 0x0001-0x02 | 0xffff -0x04 | 0x0003-0x04 | testsende22_monitor.py | testRecve22_monitor.py |
每个节点以固定的间隔发送包含LED控制值的固定间隔,该消息根据按钮的状态。
之后,它检查收到的消息。如果有LED控制值的消息,则将相应地切换LED。
可以根据阵列ADDR和CHAN中的需要设置本地节点和对等节点的传输模式(地址/通道配置)。
node0.py和node1.py的代码是相同的,除了变量我和peer的设置。
| Node0 | Node1 |
|---|---|
| node0.py | node1.py |
Lora发射器以固定的间隔发送包含其芯片ID和消息序列号的字符串。
LORA接收器打印/日志<Timestamp>,<Latitude>,<频率>,<Altitude>,<rssi>在预定的间隔中。
接收器的位置和时间戳是从GPS接收器通过UART接收到的NMEA消息中解码的。为此,使用了微拷贝。
如果有的话,将通过另一个UART从Ebytee22 Lora收发器模块收到传入的LORA消息。如果在一定时间内无法收到洛拉发射器的预期消息,则假定RSSI值为-255 dbm,表明LORA无线电链路的丢失。
元组<Timestamp>,<latitude>,<频率>,<Altitude>,<rssi>仅在有效的位置可用时才打印并选择写入日志文件。
如果启用了日志记录,则使用格式log_ <8_random_hex_digits _>。csv的文件名是在电源或重置后创建的。日志文件写入Micropython的内部文件系统。必须通过按键明确停止日志记录,否则该文件不能正确关闭,并且将被损坏/空。
两个LED分别表示GPS修复的状态和Lora链接。
| 发射机节点 | 接收器节点 |
|---|---|
| lora_tx.py | lora_rssi_logger.py |
日志文件可以在主机上从CSV -Format转换为合适的格式(例如GPX或KML)。请参阅RSSI_CSV_TO_KML.PY- KML输出文件提供的RSSI值作为扩展数据,将在GoogleArth中的高程图显示。 (用法: rssi_csv_to_kml.py log_deadbeef.csv >log_deadbeef.kml )
注意:该图仅作为一个例子 - 记录间隔应该较短,并且以后对记录策略进行了修改。