85 lines
2 KiB
C++
85 lines
2 KiB
C++
#include "KiteLib.h"
|
|
|
|
XBee bee = Kite.ModuleA;
|
|
SX1278 lora = Kite.ModuleB;
|
|
|
|
void setup() {
|
|
Serial.begin(9600);
|
|
|
|
Serial.print("[XBee] Initializing ... ");
|
|
byte state = bee.begin(9600);
|
|
if(state == ERR_NONE) {
|
|
Serial.println("success!");
|
|
} else {
|
|
Serial.print("failed, code 0x");
|
|
Serial.println(state, HEX);
|
|
while(true);
|
|
}
|
|
|
|
Serial.print("[XBee] Setting PAN ID ... ");
|
|
state = bee.setPanId("0123456789ABCDEF");
|
|
if(state == ERR_NONE) {
|
|
Serial.println("success!");
|
|
} else {
|
|
Serial.print("failed, code 0x");
|
|
Serial.println(state, HEX);
|
|
while(true);
|
|
}
|
|
|
|
Serial.print("[XBee] Setting destination address ... ");
|
|
state = bee.setDestinationAddress("0013A200", "40A58A5D");
|
|
if(state == ERR_NONE) {
|
|
Serial.println("success!");
|
|
} else {
|
|
Serial.print("failed, code 0x");
|
|
Serial.println(state, HEX);
|
|
while(true);
|
|
}
|
|
|
|
Serial.print("[SX1278] Initializing ... ");
|
|
state = lora.begin();
|
|
if(state == ERR_NONE) {
|
|
Serial.println("success!");
|
|
} else {
|
|
Serial.print("failed, code 0x");
|
|
Serial.println(state, HEX);
|
|
while(true);
|
|
}
|
|
|
|
Serial.println("[XBee] Waiting for incoming data ... ");
|
|
}
|
|
|
|
void loop() {
|
|
bool receivedFlag = false;
|
|
String receivedString;
|
|
|
|
while(bee.available() > 0) {
|
|
char receivedCharacter = bee.read();
|
|
Serial.print("[XBee] ");
|
|
Serial.print(receivedCharacter);
|
|
Serial.print("\t 0x");
|
|
Serial.println(receivedCharacter, HEX);
|
|
if(receivedCharacter != '\n') {
|
|
receivedString += receivedCharacter;
|
|
} else {
|
|
Serial.print("[XBee] Received string: ");
|
|
Serial.println(receivedString);
|
|
receivedFlag = true;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if(receivedFlag) {
|
|
receivedFlag = false;
|
|
Packet pack("01:23:45:67:89:AB:CD:EF", receivedString.c_str());
|
|
Serial.print("[SX1278] Transmitting packet ... ");
|
|
byte state = lora.transmit(pack);
|
|
if(state == ERR_NONE) {
|
|
Serial.println("success!");
|
|
} else {
|
|
Serial.print("failed, code 0x");
|
|
Serial.println(state, HEX);
|
|
}
|
|
}
|
|
}
|
|
|