Loading LoRaReceiverInterrupt/LoRaReceiverInterrupt.ino +2 −3 Changes for LoRaReceiverInterrupt/LoRaReceiverInterrupt.ino: 2 added lines, 3 removed lines. Original line number Diff line number Diff line Loading @@ -15,8 +15,7 @@ #define RST 14 // GPIO14 -- SX127x's RESET #define DI0 26 // GPIO26 -- SX127x's IRQ(Interrupt Request) #define BAND 915E6 //you can set band here directly,e.g. 868E6,915E6 #define PABOOST true #define BAND 868E6 //you can set band here directly,e.g. 868E6,915E6 #define RELE_1 17 #define RELE_2 21 Loading Loading @@ -74,7 +73,7 @@ void setup() { LoRa.setTxPower(20,PA_OUTPUT_PA_BOOST_PIN); LoRa.setPreambleLength(8); LoRa.setPins(SS,RST,DI0); if (!LoRa.begin(BAND, PABOOST)) { if (!LoRa.begin(BAND)) { drawTextOLED("Starting LoRa failed!"); while (1); } Loading LoRaSender/LoRaSender.ino +59 −39 Changes for LoRaSender/LoRaSender.ino: 59 added lines, 39 removed lines. Original line number Diff line number Diff line Loading @@ -4,13 +4,8 @@ Http comunications with outside */ #include <WiFiClientSecure.h> #include <WiFi.h> #include <WiFiClient.h> #include <SPI.h> #include <LoRa.h> #include <WiFiClientSecure.h> #include "SSD1306.h" // alias for `#include "SSD1306Wire.h"` Loading @@ -30,7 +25,7 @@ WiFiServer server(80); #define DI0 26 // GPIO26 -- SX127x's IRQ(Interrupt Request) #define BAND 868E6 //you can set band here directly,e.g. 868E6,915E6 #define PABOOST true //#define PABOOST true SSD1306 display(0x3c, 4, 15); Loading @@ -39,12 +34,14 @@ String lastCommand = ""; String lastReceived = ""; String signalLevel = ""; int val = 0; void setup(void) { Serial.begin(115200); while (!Serial) { ; // wait for serial port to connect. Needed for native USB port only } // Serial.begin(115200); // while (!Serial) { // ; // wait for serial port to connect. Needed for native USB port only // } //-------- DISPLAY INIT -------------- Loading @@ -58,7 +55,7 @@ void setup(void) display.flipScreenVertically(); display.setFont(ArialMT_Plain_10); drawTextOLED("DISPLAY OK!", "NO ADDR", "NO COMMAND", "NO LEVEL"); //drawTextOLED("DISPLAY OK!", "NO ADDR", "NO COMMAND", "NO LEVEL"); //------------------------------------- Loading @@ -70,11 +67,13 @@ void setup(void) LoRa.setTxPower(20,PA_OUTPUT_PA_BOOST_PIN); LoRa.setPreambleLength(8); LoRa.setPins(SS, RST, DI0); if (!LoRa.begin(BAND, PABOOST)) { drawTextOLED("Starting LoRa failed!", "", "", ""); if (!LoRa.begin(BAND)) { //drawTextOLED("Starting LoRa failed!", "", "", ""); while (1); } LoRa.noCrc(); WiFi.mode (WIFI_STA); WiFi.setSleep(false); Loading @@ -85,7 +84,7 @@ void setup(void) // Wait for connection while (WiFi.status() != WL_CONNECTED) { delay(500); drawTextOLED("DISPLAY OK!", progress, "NO COMMAND", "NO LEVEL"); //drawTextOLED("DISPLAY OK!", progress, "NO COMMAND", "NO LEVEL"); progress += "."; if(progress.length() > 30) { Loading @@ -96,39 +95,59 @@ void setup(void) // Start TCP (HTTP) server server.begin(); } void drawTextOLED(String text, String ttext, String rread, String signalLevel) { display.clear(); display.setTextAlignment(TEXT_ALIGN_LEFT); display.setFont(ArialMT_Plain_10); display.drawString(0, 0, "IP addr : " + ttext); display.setFont(ArialMT_Plain_10); display.drawString(0, 12, "L.C. : " + text); display.setFont(ArialMT_Plain_10); display.drawString(0, 24, "L.R. : " + rread); display.setFont(ArialMT_Plain_10); display.drawString(0, 36, "Level : " + signalLevel); display.setFont(ArialMT_Plain_10); display.drawString(0, 48, "Giacomo Lavermicocca"); display.display(); //SETUP PIN pinMode(17, INPUT); // set pin to input digitalWrite(17, HIGH); // turn on pullup resistors pinMode(21, INPUT); // set pin to input digitalWrite(21, HIGH); // turn on pullup resistors } //void drawTextOLED(String text, String ttext, String rread, String signalLevel) { // display.clear(); // display.setTextAlignment(TEXT_ALIGN_LEFT); // // display.setFont(ArialMT_Plain_10); // display.drawString(0, 0, "IP addr : " + ttext); // // display.setFont(ArialMT_Plain_10); // display.drawString(0, 12, "L.C. : " + text); // // display.setFont(ArialMT_Plain_10); // display.drawString(0, 24, "L.R. : " + rread); // // display.setFont(ArialMT_Plain_10); // display.drawString(0, 36, "Level : " + signalLevel); // // display.setFont(ArialMT_Plain_10); // display.drawString(0, 48, "Giacomo Lavermicocca"); // // display.display(); //} String s; unsigned long previousMillis = 0; const long interval = 10000; void loop(void) { val = digitalRead(17); if(val == 1){ pinRequest(String(17)); } val = digitalRead(21); if(val == 1){ pinRequest(String(21)); } unsigned long currentMillis = millis(); drawTextOLED(lastCommand, ipAddr, lastReceived, signalLevel); if (currentMillis - previousMillis >= interval) { LoRa.sleep(); } if (WiFi.status() != WL_CONNECTED) { ESP.restart(); } long rssi = WiFi.RSSI(); Loading @@ -137,6 +156,8 @@ void loop(void) ESP.restart(); } //drawTextOLED(lastCommand, ipAddr, lastReceived, signalLevel); // Check if a client has connected WiFiClient client = server.available(); if (!client) { Loading Loading @@ -232,7 +253,6 @@ void loop(void) void onReceive(int packetSize) { //LoRa.crc(); // received a packet // read packet String str; Loading Loading @@ -269,7 +289,7 @@ void pinRequest(String req) req = req.substring(req.lastIndexOf('/') + 1); int reqInt = req.toInt(); for(int i=0;i < 10;i++) for(int i=0;i < 30;i++) { // send packet LoRa.beginPacket(); Loading Loading
LoRaReceiverInterrupt/LoRaReceiverInterrupt.ino +2 −3 Changes for LoRaReceiverInterrupt/LoRaReceiverInterrupt.ino: 2 added lines, 3 removed lines. Original line number Diff line number Diff line Loading @@ -15,8 +15,7 @@ #define RST 14 // GPIO14 -- SX127x's RESET #define DI0 26 // GPIO26 -- SX127x's IRQ(Interrupt Request) #define BAND 915E6 //you can set band here directly,e.g. 868E6,915E6 #define PABOOST true #define BAND 868E6 //you can set band here directly,e.g. 868E6,915E6 #define RELE_1 17 #define RELE_2 21 Loading Loading @@ -74,7 +73,7 @@ void setup() { LoRa.setTxPower(20,PA_OUTPUT_PA_BOOST_PIN); LoRa.setPreambleLength(8); LoRa.setPins(SS,RST,DI0); if (!LoRa.begin(BAND, PABOOST)) { if (!LoRa.begin(BAND)) { drawTextOLED("Starting LoRa failed!"); while (1); } Loading
LoRaSender/LoRaSender.ino +59 −39 Changes for LoRaSender/LoRaSender.ino: 59 added lines, 39 removed lines. Original line number Diff line number Diff line Loading @@ -4,13 +4,8 @@ Http comunications with outside */ #include <WiFiClientSecure.h> #include <WiFi.h> #include <WiFiClient.h> #include <SPI.h> #include <LoRa.h> #include <WiFiClientSecure.h> #include "SSD1306.h" // alias for `#include "SSD1306Wire.h"` Loading @@ -30,7 +25,7 @@ WiFiServer server(80); #define DI0 26 // GPIO26 -- SX127x's IRQ(Interrupt Request) #define BAND 868E6 //you can set band here directly,e.g. 868E6,915E6 #define PABOOST true //#define PABOOST true SSD1306 display(0x3c, 4, 15); Loading @@ -39,12 +34,14 @@ String lastCommand = ""; String lastReceived = ""; String signalLevel = ""; int val = 0; void setup(void) { Serial.begin(115200); while (!Serial) { ; // wait for serial port to connect. Needed for native USB port only } // Serial.begin(115200); // while (!Serial) { // ; // wait for serial port to connect. Needed for native USB port only // } //-------- DISPLAY INIT -------------- Loading @@ -58,7 +55,7 @@ void setup(void) display.flipScreenVertically(); display.setFont(ArialMT_Plain_10); drawTextOLED("DISPLAY OK!", "NO ADDR", "NO COMMAND", "NO LEVEL"); //drawTextOLED("DISPLAY OK!", "NO ADDR", "NO COMMAND", "NO LEVEL"); //------------------------------------- Loading @@ -70,11 +67,13 @@ void setup(void) LoRa.setTxPower(20,PA_OUTPUT_PA_BOOST_PIN); LoRa.setPreambleLength(8); LoRa.setPins(SS, RST, DI0); if (!LoRa.begin(BAND, PABOOST)) { drawTextOLED("Starting LoRa failed!", "", "", ""); if (!LoRa.begin(BAND)) { //drawTextOLED("Starting LoRa failed!", "", "", ""); while (1); } LoRa.noCrc(); WiFi.mode (WIFI_STA); WiFi.setSleep(false); Loading @@ -85,7 +84,7 @@ void setup(void) // Wait for connection while (WiFi.status() != WL_CONNECTED) { delay(500); drawTextOLED("DISPLAY OK!", progress, "NO COMMAND", "NO LEVEL"); //drawTextOLED("DISPLAY OK!", progress, "NO COMMAND", "NO LEVEL"); progress += "."; if(progress.length() > 30) { Loading @@ -96,39 +95,59 @@ void setup(void) // Start TCP (HTTP) server server.begin(); } void drawTextOLED(String text, String ttext, String rread, String signalLevel) { display.clear(); display.setTextAlignment(TEXT_ALIGN_LEFT); display.setFont(ArialMT_Plain_10); display.drawString(0, 0, "IP addr : " + ttext); display.setFont(ArialMT_Plain_10); display.drawString(0, 12, "L.C. : " + text); display.setFont(ArialMT_Plain_10); display.drawString(0, 24, "L.R. : " + rread); display.setFont(ArialMT_Plain_10); display.drawString(0, 36, "Level : " + signalLevel); display.setFont(ArialMT_Plain_10); display.drawString(0, 48, "Giacomo Lavermicocca"); display.display(); //SETUP PIN pinMode(17, INPUT); // set pin to input digitalWrite(17, HIGH); // turn on pullup resistors pinMode(21, INPUT); // set pin to input digitalWrite(21, HIGH); // turn on pullup resistors } //void drawTextOLED(String text, String ttext, String rread, String signalLevel) { // display.clear(); // display.setTextAlignment(TEXT_ALIGN_LEFT); // // display.setFont(ArialMT_Plain_10); // display.drawString(0, 0, "IP addr : " + ttext); // // display.setFont(ArialMT_Plain_10); // display.drawString(0, 12, "L.C. : " + text); // // display.setFont(ArialMT_Plain_10); // display.drawString(0, 24, "L.R. : " + rread); // // display.setFont(ArialMT_Plain_10); // display.drawString(0, 36, "Level : " + signalLevel); // // display.setFont(ArialMT_Plain_10); // display.drawString(0, 48, "Giacomo Lavermicocca"); // // display.display(); //} String s; unsigned long previousMillis = 0; const long interval = 10000; void loop(void) { val = digitalRead(17); if(val == 1){ pinRequest(String(17)); } val = digitalRead(21); if(val == 1){ pinRequest(String(21)); } unsigned long currentMillis = millis(); drawTextOLED(lastCommand, ipAddr, lastReceived, signalLevel); if (currentMillis - previousMillis >= interval) { LoRa.sleep(); } if (WiFi.status() != WL_CONNECTED) { ESP.restart(); } long rssi = WiFi.RSSI(); Loading @@ -137,6 +156,8 @@ void loop(void) ESP.restart(); } //drawTextOLED(lastCommand, ipAddr, lastReceived, signalLevel); // Check if a client has connected WiFiClient client = server.available(); if (!client) { Loading Loading @@ -232,7 +253,6 @@ void loop(void) void onReceive(int packetSize) { //LoRa.crc(); // received a packet // read packet String str; Loading Loading @@ -269,7 +289,7 @@ void pinRequest(String req) req = req.substring(req.lastIndexOf('/') + 1); int reqInt = req.toInt(); for(int i=0;i < 10;i++) for(int i=0;i < 30;i++) { // send packet LoRa.beginPacket(); Loading