...
Code Block |
---|
#include <SPI.h> #include <LoRa.h> int counter = 0; String myData = "my name"; void setup() { Serial.begin(9600);// wait until serial has started Serial.println("LoRa Sender"); if (!LoRa.begin(868E6)) { Serial.println("Starting LoRa failed!"); while (1); } delay(1000); pinMode(LED_BUILTIN, OUTPUT); } void loop() { Serial.print("Sending packet: "); Serial.println(counter); // send packet LoRa.beginPacket(); LoRa.print(myData); LoRa.print(" name"); LoRa.endPacket(); counter++; digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW delay(4000); } |
Receiver Code
Code Block |
---|
#include <SPI.h> #include <LoRa.h> String contents = ""; void setup() { Serial.begin(9600); while (!Serial); // wait until serial has started Serial.println("LoRa Receiver"); if (!LoRa.begin(868E6)) { 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()) { contents += (char)LoRa.read(); } Serial.println(contents); // print RSSI of packet Serial.print("' with RSSI "); Serial.println(LoRa.packetRssi()); contents = ""; } |
...
Code Block |
---|
#include <SPI.h> #include <LoRa.h> int counter = 0; String myUniqueId = "asdfw1"; void setup() { Serial.begin(9600); Serial.println("LoRa Sender"); if (!LoRa.begin(868E6)) { Serial.println("Starting LoRa failed!"); while(1); } delay(1000); pinMode(LED_BUILTIN, OUTPUT); } void loop() { int sensorValue = analogRead(A0); Serial.print("Sending packet: "); Serial.println(counter); // send packet LoRa.beginPacket(); LoRa.print(sensorValue); LoRa.print(","); LoRa.print(myUniqueId); LoRa.endPacket(); counter++; digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW delay(4000); } |
Receiver Code
Code Block |
---|
#include <SPI.h>
#include <LoRa.h>
String contents = "";
String myUniqueId = "asdfw1";
void setup() {
Serial.begin(9600);
while (!Serial);
Serial.println("LoRa Receiver");
if (!LoRa.begin(868E6)) {
Serial.println("Starting LoRa failed!");
while (1);
}
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
// try to parse packet
int packetSize = LoRa.parsePacket();
if (packetSize) {
// received a packet
Serial.print("Received packet '");
// read packet
while (LoRa.available()) {
contents += (char)LoRa.read();
}
Serial.println(contents);
// print RSSI of packet (Received Signal Strength Indicator)
Serial.print("' with RSSI ");
Serial.println(LoRa.packetRssi());
int commaIndex = contents.indexOf(',');
String data = contents.substring(0, commaIndex);
String ID = contents.substring(commaIndex + 1);
if (data && ID) {
Serial.println("Recieved Matching format");
if (ID.equals(myUniqueId)) {
Serial.println("ID matches!");
digitalWrite(LED_BUILTIN, HIGH);
Serial.print("data: ");
Serial.println(data);
} else {
Serial.print(myUniqueId);
Serial.print(" does not match ");
Serial.println(ID);
digitalWrite(LED_BUILTIN, LOW);
}
}
contents = "";
}
} |
...