Added LED signals to node examples

This commit is contained in:
Jan Gromeš 2018-04-13 20:52:50 +02:00
parent 917fb2834b
commit 896326fefb
4 changed files with 195 additions and 1 deletions

View file

@ -1,11 +1,25 @@
#include "KiteLib.h"
#define LED_START_ERROR A1
#define LED_START_OK A0
#define LED_RECEIVING A3
#define LED_TRANSMITING A2
#define BLINK_DELAY 250
HC05 bluetooth = Kite.ModuleA;
RF69 rf = Kite.ModuleB;
void setup() {
Serial.begin(9600);
pinMode(LED_START_ERROR, OUTPUT);
pinMode(LED_START_OK, OUTPUT);
pinMode(LED_RECEIVING, OUTPUT);
pinMode(LED_TRANSMITING, OUTPUT);
ledsHigh();
bluetooth.begin(9600);
Serial.println("[HC05] Port open!");
@ -16,9 +30,14 @@ void setup() {
} else {
Serial.print("failed, code 0x");
Serial.println(state, HEX);
ledsLow();
digitalWrite(LED_START_ERROR, HIGH);
while(true);
}
ledsLow();
digitalWrite(LED_START_OK, HIGH);
Serial.println("[HC05] Waiting for incoming data ... ");
}
@ -27,11 +46,13 @@ void loop() {
String receivedString;
while(bluetooth.available() > 0) {
digitalWrite(LED_RECEIVING, HIGH);
char receivedCharacter = bluetooth.read();
Serial.print("[HC05] ");
Serial.print(receivedCharacter);
Serial.print("\t 0x");
Serial.println(receivedCharacter, HEX);
digitalWrite(LED_RECEIVING, LOW);
if(receivedCharacter != '\n') {
receivedString += receivedCharacter;
} else {
@ -43,6 +64,7 @@ void loop() {
}
if(receivedFlag) {
digitalWrite(LED_TRANSMITING, HIGH);
receivedFlag = false;
Packet pack("01:23:45:67:89:AB:CD:EF", receivedString.c_str());
Serial.print("[RF69] Transmitting packet ... ");
@ -53,7 +75,22 @@ void loop() {
Serial.print("failed, code 0x");
Serial.println(state, HEX);
}
digitalWrite(LED_TRANSMITING, LOW);
Serial.println("[HC05] Waiting for incoming data ... ");
}
}
void ledsHigh() {
digitalWrite(LED_START_ERROR, HIGH);
digitalWrite(LED_START_OK, HIGH);
digitalWrite(LED_RECEIVING, HIGH);
digitalWrite(LED_TRANSMITING, HIGH);
}
void ledsLow() {
digitalWrite(LED_START_ERROR, LOW);
digitalWrite(LED_START_OK, LOW);
digitalWrite(LED_RECEIVING, LOW);
digitalWrite(LED_TRANSMITING, LOW);
}

View file

@ -1,5 +1,12 @@
#include "KiteLib.h"
#define LED_START_ERROR A1
#define LED_START_OK A0
#define LED_RECEIVING A3
#define LED_TRANSMITING A2
#define BLINK_DELAY 250
XBee bee = Kite.ModuleA;
RF69 rf = Kite.ModuleB;
@ -8,13 +15,25 @@ Packet pack;
void setup() {
Serial.begin(9600);
pinMode(LED_START_ERROR, OUTPUT);
pinMode(LED_START_OK, OUTPUT);
pinMode(LED_RECEIVING, OUTPUT);
pinMode(LED_TRANSMITING, OUTPUT);
ledsHigh();
Serial.print("[XBee] Initializing ... ");
byte state = bee.begin(9600);
if(state == ERR_NONE) {
Serial.println("success!");
ledsLow();
delay(BLINK_DELAY);
ledsHigh();
} else {
Serial.print("failed, code 0x");
Serial.println(state, HEX);
ledsLow();
digitalWrite(LED_START_ERROR, HIGH);
while(true);
}
@ -22,9 +41,14 @@ void setup() {
state = bee.setPanId("0123456789ABCDEF");
if(state == ERR_NONE) {
Serial.println("success!");
ledsLow();
delay(BLINK_DELAY);
ledsHigh();
} else {
Serial.print("failed, code 0x");
Serial.println(state, HEX);
ledsLow();
digitalWrite(LED_START_ERROR, HIGH);
while(true);
}
@ -32,9 +56,14 @@ void setup() {
state = bee.setDestinationAddress("0013A200", "40A58A5D");
if(state == ERR_NONE) {
Serial.println("success!");
ledsLow();
delay(BLINK_DELAY);
ledsHigh();
} else {
Serial.print("failed, code 0x");
Serial.println(state, HEX);
ledsLow();
digitalWrite(LED_START_ERROR, HIGH);
while(true);
}
@ -45,16 +74,21 @@ void setup() {
} else {
Serial.print("failed, code 0x");
Serial.println(state, HEX);
ledsLow();
digitalWrite(LED_START_ERROR, HIGH);
while(true);
}
ledsLow();
digitalWrite(LED_START_OK, HIGH);
}
void loop() {
Serial.print("[RF69] Waiting for incoming transmission ... ");
byte state = rf.receive(pack);
bee.println("Hello World!");
if(state == ERR_NONE) {
digitalWrite(LED_RECEIVING, HIGH);
Serial.println("success!");
char str[24];
@ -73,8 +107,12 @@ void loop() {
Serial.print("[RF69] Data:\t\t");
Serial.println(pack.data);
digitalWrite(LED_RECEIVING, LOW);
Serial.print("[XBee] Sending packet ... ");
digitalWrite(LED_TRANSMITING, HIGH);
bee.println(pack.data);
digitalWrite(LED_TRANSMITING, LOW);
Serial.println("done!");
} else if(state == ERR_RX_TIMEOUT) {
@ -86,3 +124,17 @@ void loop() {
}
}
void ledsHigh() {
digitalWrite(LED_START_ERROR, HIGH);
digitalWrite(LED_START_OK, HIGH);
digitalWrite(LED_RECEIVING, HIGH);
digitalWrite(LED_TRANSMITING, HIGH);
}
void ledsLow() {
digitalWrite(LED_START_ERROR, LOW);
digitalWrite(LED_START_OK, LOW);
digitalWrite(LED_RECEIVING, LOW);
digitalWrite(LED_TRANSMITING, LOW);
}

View file

@ -1,18 +1,37 @@
#include "KiteLib.h"
#define LED_START_ERROR A1
#define LED_START_OK A0
#define LED_RECEIVING A3
#define LED_TRANSMITING A2
#define BLINK_DELAY 250
XBee bee = Kite.ModuleA;
SX1278 lora = Kite.ModuleB;
void setup() {
Serial.begin(9600);
pinMode(LED_START_ERROR, OUTPUT);
pinMode(LED_START_OK, OUTPUT);
pinMode(LED_RECEIVING, OUTPUT);
pinMode(LED_TRANSMITING, OUTPUT);
ledsHigh();
Serial.print("[XBee] Initializing ... ");
byte state = bee.begin(9600);
if(state == ERR_NONE) {
Serial.println("success!");
ledsLow();
delay(BLINK_DELAY);
ledsHigh();
} else {
Serial.print("failed, code 0x");
Serial.println(state, HEX);
ledsLow();
digitalWrite(LED_START_ERROR, HIGH);
while(true);
}
@ -20,9 +39,14 @@ void setup() {
state = bee.setPanId("0123456789ABCDEF");
if(state == ERR_NONE) {
Serial.println("success!");
ledsLow();
delay(BLINK_DELAY);
ledsHigh();
} else {
Serial.print("failed, code 0x");
Serial.println(state, HEX);
ledsLow();
digitalWrite(LED_START_ERROR, HIGH);
while(true);
}
@ -30,9 +54,14 @@ void setup() {
state = bee.setDestinationAddress("0013A200", "40A58A5D");
if(state == ERR_NONE) {
Serial.println("success!");
ledsLow();
delay(BLINK_DELAY);
ledsHigh();
} else {
Serial.print("failed, code 0x");
Serial.println(state, HEX);
ledsLow();
digitalWrite(LED_START_ERROR, HIGH);
while(true);
}
@ -43,9 +72,14 @@ void setup() {
} else {
Serial.print("failed, code 0x");
Serial.println(state, HEX);
ledsLow();
digitalWrite(LED_START_ERROR, HIGH);
while(true);
}
ledsLow();
digitalWrite(LED_START_OK, HIGH);
Serial.println("[XBee] Waiting for incoming data ... ");
}
@ -54,11 +88,13 @@ void loop() {
String receivedString;
while(bee.available() > 0) {
digitalWrite(LED_RECEIVING, HIGH);
char receivedCharacter = bee.read();
Serial.print("[XBee] ");
Serial.print(receivedCharacter);
Serial.print("\t 0x");
Serial.println(receivedCharacter, HEX);
digitalWrite(LED_RECEIVING, LOW);
if(receivedCharacter != '\n') {
receivedString += receivedCharacter;
} else {
@ -70,6 +106,7 @@ void loop() {
}
if(receivedFlag) {
digitalWrite(LED_TRANSMITING, HIGH);
receivedFlag = false;
Packet pack("01:23:45:67:89:AB:CD:EF", receivedString.c_str());
Serial.print("[SX1278] Transmitting packet ... ");
@ -80,6 +117,21 @@ void loop() {
Serial.print("failed, code 0x");
Serial.println(state, HEX);
}
digitalWrite(LED_TRANSMITING, LOW);
}
}
void ledsHigh() {
digitalWrite(LED_START_ERROR, HIGH);
digitalWrite(LED_START_OK, HIGH);
digitalWrite(LED_RECEIVING, HIGH);
digitalWrite(LED_TRANSMITING, HIGH);
}
void ledsLow() {
digitalWrite(LED_START_ERROR, LOW);
digitalWrite(LED_START_OK, LOW);
digitalWrite(LED_RECEIVING, LOW);
digitalWrite(LED_TRANSMITING, LOW);
}

View file

@ -1,5 +1,12 @@
#include "KiteLib.h"
#define LED_START_ERROR A1
#define LED_START_OK A0
#define LED_RECEIVING A3
#define LED_TRANSMITING A2
#define BLINK_DELAY 250
ESP8266 wifi = Kite.ModuleA;
SX1278 lora = Kite.ModuleB;
@ -8,13 +15,25 @@ Packet pack;
void setup() {
Serial.begin(9600);
pinMode(LED_START_ERROR, OUTPUT);
pinMode(LED_START_OK, OUTPUT);
pinMode(LED_RECEIVING, OUTPUT);
pinMode(LED_TRANSMITING, OUTPUT);
ledsHigh();
Serial.print("[SX1278] Initializing ... ");
byte state = lora.begin();
if(state == ERR_NONE) {
Serial.println("success!");
ledsLow();
delay(BLINK_DELAY);
ledsHigh();
} else {
Serial.print("failed, code 0x");
Serial.println(state, HEX);
ledsLow();
digitalWrite(LED_START_ERROR, HIGH);
while(true);
}
@ -22,9 +41,14 @@ void setup() {
state = wifi.begin(9600);
if(state == ERR_NONE) {
Serial.println("success!");
ledsLow();
delay(BLINK_DELAY);
ledsHigh();
} else {
Serial.print("failed, code 0x");
Serial.println(state, HEX);
ledsLow();
digitalWrite(LED_START_ERROR, HIGH);
while(true);
}
@ -32,9 +56,14 @@ void setup() {
state = wifi.join("SSID", "PASSWORD");
if(state == ERR_NONE) {
Serial.println("success!");
ledsLow();
delay(BLINK_DELAY);
ledsHigh();
} else {
Serial.print("failed, code 0x");
Serial.println(state, HEX);
ledsLow();
digitalWrite(LED_START_ERROR, HIGH);
while(true);
}
@ -45,8 +74,13 @@ void setup() {
} else {
Serial.print("failed, code 0x");
Serial.println(state, HEX);
ledsLow();
digitalWrite(LED_START_ERROR, HIGH);
while(true);
}
ledsLow();
digitalWrite(LED_START_OK, HIGH);
}
void loop() {
@ -54,6 +88,7 @@ void loop() {
byte state = lora.receive(pack);
if(state == ERR_NONE) {
digitalWrite(LED_RECEIVING, HIGH);
Serial.println("success!");
char str[24];
@ -80,7 +115,10 @@ void loop() {
Serial.print(lora.lastPacketRSSI);
Serial.println(" dBm");
digitalWrite(LED_RECEIVING, LOW);
Serial.print("[ESP8266] Publishing MQTT message ... ");
digitalWrite(LED_TRANSMITING, HIGH);
byte state = wifi.MqttPublish("Kite", String(pack.data));
if(state == ERR_NONE) {
Serial.println("success!");
@ -88,6 +126,7 @@ void loop() {
Serial.print("failed, code 0x");
Serial.println(state, HEX);
}
digitalWrite(LED_TRANSMITING, LOW);
} else if(state == ERR_RX_TIMEOUT) {
Serial.println("timeout!");
@ -98,3 +137,17 @@ void loop() {
}
}
void ledsHigh() {
digitalWrite(LED_START_ERROR, HIGH);
digitalWrite(LED_START_OK, HIGH);
digitalWrite(LED_RECEIVING, HIGH);
digitalWrite(LED_TRANSMITING, HIGH);
}
void ledsLow() {
digitalWrite(LED_START_ERROR, LOW);
digitalWrite(LED_START_OK, LOW);
digitalWrite(LED_RECEIVING, LOW);
digitalWrite(LED_TRANSMITING, LOW);
}