Loading LoRaReceiverInterrupt/LoRaReceiverInterrupt.ino +23 −11 Changes for LoRaReceiverInterrupt/LoRaReceiverInterrupt.ino: 23 added lines, 11 removed lines. Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ String str; int addr = 0; #define EEPROM_SIZE 1 int eValue = 0; int eeValue = 0; void setup() { Loading @@ -51,13 +52,16 @@ void setup() { display.setFont(ArialMT_Plain_10); //------------------------------------------------------------------------ Serial.begin(115200); while (!Serial); if (!EEPROM.begin(EEPROM_SIZE)) { Serial.println("failed to initialise EEPROM"); delay(1000000); } Serial.begin(115200); while (!Serial); eeValue = (EEPROM.read(addr)); Serial.println(String(eeValue)); Serial.println("LoRa Receiver Callback"); SPI.begin(SCK,MISO,MOSI,SS); Loading Loading @@ -87,8 +91,14 @@ void loop() { //Reset rele digitalWrite(RELE_1, LOW); digitalWrite(RELE_2, LOW); eeValue = (EEPROM.read(addr)); Serial.println(String(eeValue)); } else { Serial.println(eeValue); eeValue = genNextPrime(eeValue); // EEPROM.write(addr, eeValue); // EEPROM.commit(); } drawTextOLED(str); Loading Loading @@ -133,11 +143,6 @@ void onReceive(int packetSize) String r1 = String(RELE_1, DEC); String r2 = String(RELE_2, DEC); eeValue = 1234; EEPROM.write(addr, eeValue); EEPROM.commit(); if(extraParam == 111) { if(str.indexOf(r1) >= 0) //TODO manca la parte di sicurezza Loading Loading @@ -183,7 +188,15 @@ void setRele2() long i = 2; // Start at 2 int is_prime(long num) { long genNextPrime(const long currentPrime) { long i = currentPrime + 1; while (!isPrime(i)) { i++; } return i; } int isPrime(long num) { // Only have to check for divisible for the sqrt(number) int upper = sqrt(num); Loading @@ -198,4 +211,3 @@ int is_prime(long num) { return 1; // If you get this far it's prime } LoRaSender/LoRaSender.ino +41 −2 Changes for LoRaSender/LoRaSender.ino: 41 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -23,6 +23,8 @@ #include <ESPmDNS.h> #include "SSD1306.h" // alias for `#include "SSD1306Wire.h"` const char* ssid = "Thomas"; const char* password = "viapiccardi47!!thomas"; Loading @@ -41,6 +43,11 @@ WiFiServer server(80); #define BAND 868E6 //you can set band here directly,e.g. 868E6,915E6 #define PABOOST true SSD1306 display(0x3c, 4, 15); String ipAddr = ""; String lastCommand = ""; void setup(void) { pinMode(25,OUTPUT); Loading Loading @@ -72,7 +79,8 @@ void setup(void) Serial.print("Connected to "); Serial.println(ssid); Serial.print("IP address: "); Serial.println(WiFi.localIP()); ipAddr = WiFi.localIP().toString(); Serial.println(ipAddr); // Set up mDNS responder: // - first argument is the domain name, in this example Loading @@ -93,6 +101,34 @@ void setup(void) // Add service to MDNS-SD MDNS.addService("http", "tcp", 80); //-------- DISPLAY INIT -------------- pinMode(16,OUTPUT); digitalWrite(16, LOW); // set GPIO16 low to reset OLED delay(50); digitalWrite(16, HIGH); // while OLED is running, must set GPIO16 in high // Initialising the UI will init the display too. display.init(); display.flipScreenVertically(); display.setFont(ArialMT_Plain_10); } void drawTextOLED(String text, String ttext) { display.clear(); display.setTextAlignment(TEXT_ALIGN_LEFT); display.setFont(ArialMT_Plain_10); display.drawString(0, 0, "Last command : " + text); display.setFont(ArialMT_Plain_10); display.drawString(0, 20, "IP addr : " + ttext); display.setFont(ArialMT_Plain_10); display.drawString(0, 40, "Giacomo Lavermicocca"); display.display(); } String s; Loading @@ -101,6 +137,8 @@ const long interval = 10000; void loop(void) { drawTextOLED(lastCommand, ipAddr); // Check if a client has connected WiFiClient client = server.available(); if (!client) { Loading Loading @@ -144,8 +182,9 @@ void loop(void) s += "</html>\r\n\r\n"; } else if(req.indexOf('/pin') > 0) { pinRequest(req); lastCommand = req; s = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n<!DOCTYPE HTML>\r\n<html>Hello from ESP32 at pin : "; s += req.substring(req.lastIndexOf('/')+1); s += lastCommand; s += "</html>\r\n\r\n"; previousMillis = currentMillis; Loading Loading
LoRaReceiverInterrupt/LoRaReceiverInterrupt.ino +23 −11 Changes for LoRaReceiverInterrupt/LoRaReceiverInterrupt.ino: 23 added lines, 11 removed lines. Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ String str; int addr = 0; #define EEPROM_SIZE 1 int eValue = 0; int eeValue = 0; void setup() { Loading @@ -51,13 +52,16 @@ void setup() { display.setFont(ArialMT_Plain_10); //------------------------------------------------------------------------ Serial.begin(115200); while (!Serial); if (!EEPROM.begin(EEPROM_SIZE)) { Serial.println("failed to initialise EEPROM"); delay(1000000); } Serial.begin(115200); while (!Serial); eeValue = (EEPROM.read(addr)); Serial.println(String(eeValue)); Serial.println("LoRa Receiver Callback"); SPI.begin(SCK,MISO,MOSI,SS); Loading Loading @@ -87,8 +91,14 @@ void loop() { //Reset rele digitalWrite(RELE_1, LOW); digitalWrite(RELE_2, LOW); eeValue = (EEPROM.read(addr)); Serial.println(String(eeValue)); } else { Serial.println(eeValue); eeValue = genNextPrime(eeValue); // EEPROM.write(addr, eeValue); // EEPROM.commit(); } drawTextOLED(str); Loading Loading @@ -133,11 +143,6 @@ void onReceive(int packetSize) String r1 = String(RELE_1, DEC); String r2 = String(RELE_2, DEC); eeValue = 1234; EEPROM.write(addr, eeValue); EEPROM.commit(); if(extraParam == 111) { if(str.indexOf(r1) >= 0) //TODO manca la parte di sicurezza Loading Loading @@ -183,7 +188,15 @@ void setRele2() long i = 2; // Start at 2 int is_prime(long num) { long genNextPrime(const long currentPrime) { long i = currentPrime + 1; while (!isPrime(i)) { i++; } return i; } int isPrime(long num) { // Only have to check for divisible for the sqrt(number) int upper = sqrt(num); Loading @@ -198,4 +211,3 @@ int is_prime(long num) { return 1; // If you get this far it's prime }
LoRaSender/LoRaSender.ino +41 −2 Changes for LoRaSender/LoRaSender.ino: 41 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -23,6 +23,8 @@ #include <ESPmDNS.h> #include "SSD1306.h" // alias for `#include "SSD1306Wire.h"` const char* ssid = "Thomas"; const char* password = "viapiccardi47!!thomas"; Loading @@ -41,6 +43,11 @@ WiFiServer server(80); #define BAND 868E6 //you can set band here directly,e.g. 868E6,915E6 #define PABOOST true SSD1306 display(0x3c, 4, 15); String ipAddr = ""; String lastCommand = ""; void setup(void) { pinMode(25,OUTPUT); Loading Loading @@ -72,7 +79,8 @@ void setup(void) Serial.print("Connected to "); Serial.println(ssid); Serial.print("IP address: "); Serial.println(WiFi.localIP()); ipAddr = WiFi.localIP().toString(); Serial.println(ipAddr); // Set up mDNS responder: // - first argument is the domain name, in this example Loading @@ -93,6 +101,34 @@ void setup(void) // Add service to MDNS-SD MDNS.addService("http", "tcp", 80); //-------- DISPLAY INIT -------------- pinMode(16,OUTPUT); digitalWrite(16, LOW); // set GPIO16 low to reset OLED delay(50); digitalWrite(16, HIGH); // while OLED is running, must set GPIO16 in high // Initialising the UI will init the display too. display.init(); display.flipScreenVertically(); display.setFont(ArialMT_Plain_10); } void drawTextOLED(String text, String ttext) { display.clear(); display.setTextAlignment(TEXT_ALIGN_LEFT); display.setFont(ArialMT_Plain_10); display.drawString(0, 0, "Last command : " + text); display.setFont(ArialMT_Plain_10); display.drawString(0, 20, "IP addr : " + ttext); display.setFont(ArialMT_Plain_10); display.drawString(0, 40, "Giacomo Lavermicocca"); display.display(); } String s; Loading @@ -101,6 +137,8 @@ const long interval = 10000; void loop(void) { drawTextOLED(lastCommand, ipAddr); // Check if a client has connected WiFiClient client = server.available(); if (!client) { Loading Loading @@ -144,8 +182,9 @@ void loop(void) s += "</html>\r\n\r\n"; } else if(req.indexOf('/pin') > 0) { pinRequest(req); lastCommand = req; s = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n<!DOCTYPE HTML>\r\n<html>Hello from ESP32 at pin : "; s += req.substring(req.lastIndexOf('/')+1); s += lastCommand; s += "</html>\r\n\r\n"; previousMillis = currentMillis; Loading