01-15-2025, 03:21 AM
SX1278 Transmitter:
SX1278 Receiver:
Code:
#include <LoRa.h>
#include <SPI.h>
#define ss 38
#define rst 42
#define dio0 41
int counter = 0;
void setup()
{
Serial.begin(115200);
while (!Serial);
Serial.println("LoRa Sender");
LoRa.setPins(ss, rst, dio0); //setup LoRa transceiver module
while (!LoRa.begin(433E6)) //433E6 - Asia, 866E6 - Europe, 915E6 - North America
{
Serial.println(".");
delay(500);
}
LoRa.setSyncWord(0xA5);
Serial.println("LoRa Initializing OK!");
}
void loop()
{
Serial.print("Sending packet: ");
Serial.println(counter);
LoRa.beginPacket(); //Send LoRa packet to receiver
LoRa.print("hello ");
LoRa.print(counter);
LoRa.endPacket();
counter++;
delay(2000);
}
SX1278 Receiver:
Code:
#include <LoRa.h>
#include <SPI.h>
#define ss 38
#define rst 42
#define dio0 41
void setup()
{
Serial.begin(115200);
while (!Serial);
Serial.println("LoRa Receiver");
LoRa.setPins(ss, rst, dio0); //setup LoRa transceiver module
while (!LoRa.begin(433E6)) //433E6 - Asia, 866E6 - Europe, 915E6 - North America
{
Serial.println(".");
delay(500);
}
LoRa.setSyncWord(0xA5);
Serial.println("LoRa Initializing OK!");
}
void loop()
{
int packetSize = LoRa.parsePacket(); // try to parse packet
if (packetSize)
{
Serial.print("Received packet '");
while (LoRa.available()) // read packet
{
String LoRaData = LoRa.readString();
Serial.print(LoRaData);
}
Serial.print("' with RSSI "); // print RSSI of packet
Serial.println(LoRa.packetRssi());
}
}