问题描述
我从同一地点获得了两个相同的带有RA-02 LoRa模块的相同的Arduino Nano克隆(CH340)。我正在使用Esplora库中的LoRaReceiver和LoRaSender草图(只是将频率更改为433)
接收器: '''
#include <SPI.h>
#include <LoRa.h>
void setup() {
Serial.begin(9600);
while (!Serial);
Serial.println("LoRa Receiver");
if (!LoRa.begin(433E6)) {
Serial.println("Starting LoRa Failed!");
while (1);
}
}
void loop() {
// try to parse packet
int packetSize = LoRa.parsePacket();
if (packetSize) {
// received a packet
Serial.print("Received packet '");
// read packet
while (LoRa.available()) {
Serial.print((char)LoRa.read());
}
// print RSSI of packet
Serial.print("' with RSSI ");
Serial.println(LoRa.packetRSSi());
}
}
'''
发件人:'''
#include <SPI.h>
#include <LoRa.h>
int counter = 0;
void setup() {
Serial.begin(9600);
while (!Serial);
Serial.println("LoRa Sender");
if (!LoRa.begin(433E6)) {
Serial.println("Starting LoRa Failed!");
while (1);
}
}
void loop() {
Serial.print("Sending packet: ");
Serial.println(counter);
// send packet
LoRa.beginPacket();
LoRa.print("hello ");
LoRa.print(counter);
LoRa.endPacket();
counter++;
delay(5000);
}
'''
Link to the website with the image
请注意,未使用电位计。 它在死之前正在接收随机数量的消息。它仍然消耗电流,因此模块必须正常工作(TX空闲时约为5mA,发射时约为130mA,而RX始终约为5mA)。每个模块通过2个(3.3V DC2DC 100mA模块)供电,每个RA-02总共200mA。这些DC2DC的电源来自通过USB连接到我的台式机的arduino的5V。
重新启动后(更改显示器的带宽并将其设置回9600),它会在很短的时间内再次开始接收。平均大约7条消息,然后再次冻结。
解决方法
上周与我的一位朋友进行了大量测试后,我们决定尝试使用更大的板来接收,因为发送没有停止。他建议使用 Arduino Mega,但由于我的桌子上放着 4GB RPi,我们决定将其连接起来。
它没有问题,所以如果有人有这种问题,我建议尝试使用模板(这样你会留下足够的可用空间),如果可能的话,使用更大的板。
PI 接收了大约一个小时没有问题。
如果使用 PI,我也会使用 htop 来查看内存是否有任何问题:]
哦,还有我使用的设置指南:https://circuitdigest.com/microcontroller-projects/raspberry-pi-with-lora-peer-to-peer-communication-with-arduino
我只需要使用 sudo apt-get install python3-pip
或 sudo apt-get install python-pip
安装 pip3(我使用的是 python3)。指南中的其他所有内容均“按原样”。