1、main.lua:主程序入口;
2、lora2_main.lua:lora主应用功能模块;
3、lora2_sender.lua:lora数据发送应用功能模块;
4、lora2_receiver.lua:lora数据接收应用功能模块;
5、uart_app.lua:UART应用功能模块;
使用Air8101核心板+lora模块测试lora的数据发送和接收功能。
需要两套Air8101核心板+lora模块,才能进行有效的通信测试。
1、Air8101 核心板两块 + 同型号lora模块两块(芯片选择llcc68/sx1268);
本演示中,使用的lora模块为Ai-Thinker的Ra-01SC模块,该模块基于llcc68芯片。
2、TYPE-C USB数据线一根
3、Air8101核心板和数据线的硬件接线方式为
Air8101核心板通过TYPE-C USB口供电;(核心板背面的功耗测试开关拨到OFF一端)
如果测试发现软件频繁重启,重启原因值为:poweron reason 0,可能是供电不足,此时再通过直流稳压电源对核心板的vbat管脚进行4V供电,或者VIN管脚进行5V供电;
TYPE-C USB数据线直接插到核心板的TYPE-C USB座子,另外一端连接电脑USB口;
USB转串口数据线,一般来说,白线连接核心板的UART1_TX,绿线连接核心板的UART1_RX,黑线连接核心板的GND,另外一端连接电脑USB口;
3、Air8101 核心板通过SPI接口与lora模块连接并进行通信,具体接线如下:
| Air8101核心板 | lora模块 |
|---|---|
| 3V3 | VCC |
| GND | GND |
| 65/SPI1_CLK | SCK |
| 66/SPI1_CS | CSS |
| 8/SPI1_MISO | MISO |
| 67/SPI1_MOSI | MOSI |
| 9/GPIO6 | RST |
| 10/GPIO7 | BUSY |
| 14/GPIO8 | DIO1 |
硬件连接注意事项:
电源要求:
控制信号连接:
RST引脚:连接至Air8101的GPIO6,用于lora模块复位控制
BUSY引脚:连接至Air8101的GPIO7,用于lora模块忙状态指示
DIO1引脚:连接至Air8101的GPIO8,用于lora模块中断信号接收
连接确认:
上述GPIO引脚分配已在测试中验证可用
如有变更需求,需同步修改软件配置中的引脚定义
1、Luatools下载调试工具
2、Air8101 V2001版本固件(必须使用大于等于V2001版本的固件)
3、PC端的串口工具,例如SSCOM、LLCOM等都可以;
1、搭建好硬件环境
2、Luatools烧录内核固件和demo脚本代码
3、烧录成功后,自动开机运行
4、打开PC端的串口工具,选择对应的端口,配置波特率115200,数据位8,停止位1,无奇偶校验位;
5、如下是Air8101核心板搭配lora模块发送和接收数据的演示结果:(Air8101核心板+lora模块,下面统称为lora设备)
(1)上电后,lora设备A和B会进入lora接收状态,等待接收数据; 若接收超时,会继续等待接收, 所以在没有数据传输时,luatools会一直打印接收超时信息。
I/user.lora2_main 接收超时
(2)设备A发送数据,设备B接收数据:
发送端通过UART1发送字符串"Hello, I am LoRa device A!"
接收端通过UART1成功接收到数据"Hello, I am LoRa device A!"
(2)设备B发送数据,设备A接收数据:
发送端通过UART1发送字符串"Hello, I am LoRa device B!"
接收端通过UART1成功接收到数据"Hello, I am LoRa device B!"
```