Arduino Nano with RA-02(SX1278) 接收后冻结
Arduino Nano with RA-02(SX1278) Freezes after receiving
我从同一个地方得到了两个相同的带有 RA-02 LoRa 模块的 Arduino Nano 克隆 (CH340s)。我正在使用 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)。每个模块通过 2x(3.3V DC2DC 100mA 模块)供电,每个 RA-02 总计 200mA。这些 DC2DC 的电源取自通过 USB 连接到我的桌面的 arduino 的 5V。
重新启动后(更改监视器的带宽并将其设置回 9600),它会在很短的时间内再次开始接收。再次冻结前平均约 7 条消息。
上周与我的一位朋友进行了大量测试后,我们决定尝试使用更大的接收板,因为发送不会停顿。他建议使用 Arduino Mega,但由于我的桌子上有一个 4GB RPi,我们决定将其连接起来。
它没有问题,所以如果有人遇到此类问题,我建议您尝试使用模板(这样您将留下大量免费 space),并尽可能使用更大的板。
PI 接收了大约一个小时没有问题。
如果使用 PI,我还会使用 htop 来查看内存是否有任何问题:]
我只需要用sudo apt-get install python3-pip
或sudo apt-get install python-pip
安装pip3(我用的是python3)。其他一切都在指南中'as is'。
我从同一个地方得到了两个相同的带有 RA-02 LoRa 模块的 Arduino Nano 克隆 (CH340s)。我正在使用 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)。每个模块通过 2x(3.3V DC2DC 100mA 模块)供电,每个 RA-02 总计 200mA。这些 DC2DC 的电源取自通过 USB 连接到我的桌面的 arduino 的 5V。
重新启动后(更改监视器的带宽并将其设置回 9600),它会在很短的时间内再次开始接收。再次冻结前平均约 7 条消息。
上周与我的一位朋友进行了大量测试后,我们决定尝试使用更大的接收板,因为发送不会停顿。他建议使用 Arduino Mega,但由于我的桌子上有一个 4GB RPi,我们决定将其连接起来。
它没有问题,所以如果有人遇到此类问题,我建议您尝试使用模板(这样您将留下大量免费 space),并尽可能使用更大的板。
PI 接收了大约一个小时没有问题。
如果使用 PI,我还会使用 htop 来查看内存是否有任何问题:]
我只需要用sudo apt-get install python3-pip
或sudo apt-get install python-pip
安装pip3(我用的是python3)。其他一切都在指南中'as is'。