diff --git a/vulpes/.gitignore b/.gitignore similarity index 100% rename from vulpes/.gitignore rename to .gitignore diff --git a/esp32-webserver-form/esp32-webserver-form.ino b/esp32-webserver-form/esp32-webserver-form.ino deleted file mode 100644 index b5bbce4..0000000 --- a/esp32-webserver-form/esp32-webserver-form.ino +++ /dev/null @@ -1,183 +0,0 @@ -/********* - Rui Santos - Complete project details at https://RandomNerdTutorials.com/esp32-esp8266-input-data-html-form/ - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files. - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. -*********/ - -// include wifi password -#include "config.h" -#include -#include -#include -#include -#include - -// download zip from https://github.com/me-no-dev/ESPAsyncWebServer and install. -#include - -AsyncWebServer server(80); - -// Read from config.h -const char* ssid = WIFI_SSID; -const char* password = WIFI_PASSWORD; - -const char* PARAM_STRING = "inputString"; -const char* PARAM_INT = "inputInt"; -const char* PARAM_FLOAT = "inputFloat"; - -// HTML web page to handle 3 input fields (inputString, inputInt, inputFloat) -const char index_html[] PROGMEM = R"rawliteral( - - ESP Input Form - - - -
- inputString (current value %inputString%): -
- - inputInt (current value %inputInt%): -
- - inputFloat (current value %inputFloat%): - -
- -)rawliteral"; - -void notFound(AsyncWebServerRequest *request) { - request->send(404, "text/plain", "Not found"); -} - -String readFile(fs::FS &fs, const char * path){ - Serial.printf("Reading file: %s\r\n", path); - File file = fs.open(path, "r"); - if(!file || file.isDirectory()){ - Serial.println("- empty file or failed to open file"); - return String(); - } - Serial.println("- read from file:"); - String fileContent; - while(file.available()){ - fileContent+=String((char)file.read()); - } - file.close(); - Serial.println(fileContent); - return fileContent; -} - -void writeFile(fs::FS &fs, const char * path, const char * message){ - Serial.printf("Writing file: %s\r\n", path); - File file = fs.open(path, "w"); - if(!file){ - Serial.println("- failed to open file for writing"); - return; - } - if(file.print(message)){ - Serial.println("- file written"); - } else { - Serial.println("- write failed"); - } - file.close(); -} - -// Replaces placeholder with stored values -String processor(const String& var){ - //Serial.println(var); - if(var == "inputString"){ - return readFile(SPIFFS, "/inputString.txt"); - } - else if(var == "inputInt"){ - return readFile(SPIFFS, "/inputInt.txt"); - } - else if(var == "inputFloat"){ - return readFile(SPIFFS, "/inputFloat.txt"); - } - return String(); -} - -void setup() { - Serial.begin(115200); - // Initialize SPIFFS - #ifdef ESP32 - if(!SPIFFS.begin(true)){ - Serial.println("An Error has occurred while mounting SPIFFS"); - return; - } - #else - if(!SPIFFS.begin()){ - Serial.println("An Error has occurred while mounting SPIFFS"); - return; - } - #endif - - WiFi.mode(WIFI_STA); - WiFi.begin(ssid, password); - if (WiFi.waitForConnectResult() != WL_CONNECTED) { - Serial.println("WiFi Failed!"); - return; - } - Serial.println(); - Serial.print("IP Address: "); - Serial.println(WiFi.localIP()); - - // Send web page with input fields to client - server.on("/", HTTP_GET, [](AsyncWebServerRequest *request){ - request->send_P(200, "text/html", index_html, processor); - }); - - // Send a GET request to /get?inputString= - server.on("/get", HTTP_GET, [] (AsyncWebServerRequest *request) { - String inputMessage; - // GET inputString value on /get?inputString= - if (request->hasParam(PARAM_STRING)) { - inputMessage = request->getParam(PARAM_STRING)->value(); - writeFile(SPIFFS, "/inputString.txt", inputMessage.c_str()); - } - // GET inputInt value on /get?inputInt= - else if (request->hasParam(PARAM_INT)) { - inputMessage = request->getParam(PARAM_INT)->value(); - writeFile(SPIFFS, "/inputInt.txt", inputMessage.c_str()); - } - // GET inputFloat value on /get?inputFloat= - else if (request->hasParam(PARAM_FLOAT)) { - inputMessage = request->getParam(PARAM_FLOAT)->value(); - writeFile(SPIFFS, "/inputFloat.txt", inputMessage.c_str()); - } - else { - inputMessage = "No message sent"; - } - Serial.println(inputMessage); - request->send(200, "text/text", inputMessage); - }); - server.onNotFound(notFound); - server.begin(); -} - -void loop() { - // To access your stored values on inputString, inputInt, inputFloat - String yourInputString = readFile(SPIFFS, "/inputString.txt"); - Serial.print("*** Your inputString: "); - Serial.println(yourInputString); - - int yourInputInt = readFile(SPIFFS, "/inputInt.txt").toInt(); - Serial.print("*** Your inputInt: "); - Serial.println(yourInputInt); - - float yourInputFloat = readFile(SPIFFS, "/inputFloat.txt").toFloat(); - Serial.print("*** Your inputFloat: "); - Serial.println(yourInputFloat); - delay(5000); -} diff --git a/esp32-webserver-prefs/esp32-webserver-prefs.ino b/esp32-webserver-prefs/esp32-webserver-prefs.ino deleted file mode 100644 index 043efe8..0000000 --- a/esp32-webserver-prefs/esp32-webserver-prefs.ino +++ /dev/null @@ -1,169 +0,0 @@ -/********* - Rui Santos - Complete project details at https://randomnerdtutorials.com -*********/ -// include wifi password -#include "config.h" -// Load Wi-Fi library -#include -// Load Preferences library -#include -// Define preferences instance -Preferences prefs; -// Open up preferences with defined namespace -prefs.begin("vulpes", false); - -// Replace with your network credentials -const char* ssid = WIFI_SSID; -const char* password = WIFI_PASSWORD; - -// Set web server port number to 80 -WiFiServer server(80); - -// Variable to store the HTTP request -String header; - -// Auxiliar variables to store the current output state -String output26State = "off"; -String output27State = "off"; - -// Assign output variables to GPIO pins -const int output26 = 26; -const int output27 = 27; - -// Current time -unsigned long currentTime = millis(); -// Previous time -unsigned long previousTime = 0; -// Define timeout time in milliseconds (example: 2000ms = 2s) -const long timeoutTime = 2000; - -void setup() { - Serial.begin(115200); - // Initialize the output variables as outputs - pinMode(output26, OUTPUT); - pinMode(output27, OUTPUT); - // Set outputs to LOW - digitalWrite(output26, LOW); - digitalWrite(output27, LOW); - - preferences.putString("ssid", ssid); - preferences.putString("password", password); - - Serial.println("Network Credentials Saved using Preferences"); - - preferences.end(); - - // Connect to Wi-Fi network with SSID and password - Serial.print("Connecting to "); - Serial.println(ssid); - WiFi.begin(ssid, password); - while (WiFi.status() != WL_CONNECTED) { - delay(500); - Serial.print("."); - } - // Print local IP address and start web server - Serial.println(""); - Serial.println("WiFi connected."); - Serial.println("IP address: "); - Serial.println(WiFi.localIP()); - server.begin(); -} - -void loop(){ - WiFiClient client = server.available(); // Listen for incoming clients - - if (client) { // If a new client connects, - currentTime = millis(); - previousTime = currentTime; - Serial.println("New Client."); // print a message out in the serial port - String currentLine = ""; // make a String to hold incoming data from the client - while (client.connected() && currentTime - previousTime <= timeoutTime) { // loop while the client's connected - currentTime = millis(); - if (client.available()) { // if there's bytes to read from the client, - char c = client.read(); // read a byte, then - Serial.write(c); // print it out the serial monitor - header += c; - if (c == '\n') { // if the byte is a newline character - // if the current line is blank, you got two newline characters in a row. - // that's the end of the client HTTP request, so send a response: - if (currentLine.length() == 0) { - // HTTP headers always start with a response code (e.g. HTTP/1.1 200 OK) - // and a content-type so the client knows what's coming, then a blank line: - client.println("HTTP/1.1 200 OK"); - client.println("Content-type:text/html"); - client.println("Connection: close"); - client.println(); - - // turns the GPIOs on and off - if (header.indexOf("GET /26/on") >= 0) { - Serial.println("GPIO 26 on"); - output26State = "on"; - digitalWrite(output26, HIGH); - } else if (header.indexOf("GET /26/off") >= 0) { - Serial.println("GPIO 26 off"); - output26State = "off"; - digitalWrite(output26, LOW); - } else if (header.indexOf("GET /27/on") >= 0) { - Serial.println("GPIO 27 on"); - output27State = "on"; - digitalWrite(output27, HIGH); - } else if (header.indexOf("GET /27/off") >= 0) { - Serial.println("GPIO 27 off"); - output27State = "off"; - digitalWrite(output27, LOW); - } - - // Display the HTML web page - client.println(""); - client.println(""); - client.println(""); - // CSS to style the on/off buttons - // Feel free to change the background-color and font-size attributes to fit your preferences - client.println(""); - - // Web Page Heading - client.println("

ESP32 Web Server

"); - - // Display current state, and ON/OFF buttons for GPIO 26 - client.println("

GPIO 26 - State " + output26State + "

"); - // If the output26State is off, it displays the ON button - if (output26State=="off") { - client.println("

"); - } else { - client.println("

"); - } - - // Display current state, and ON/OFF buttons for GPIO 27 - client.println("

GPIO 27 - State " + output27State + "

"); - // If the output27State is off, it displays the ON button - if (output27State=="off") { - client.println("

"); - } else { - client.println("

"); - } - client.println(""); - - // The HTTP response ends with another blank line - client.println(); - // Break out of the while loop - break; - } else { // if you got a newline, then clear currentLine - currentLine = ""; - } - } else if (c != '\r') { // if you got anything else but a carriage return character, - currentLine += c; // add it to the end of the currentLine - } - } - } - // Clear the header variable - header = ""; - // Close the connection - client.stop(); - Serial.println("Client disconnected."); - Serial.println(""); - } -} diff --git a/esp32-webserver/esp32-webserver.ino b/esp32-webserver/esp32-webserver.ino deleted file mode 100644 index 6815ed3..0000000 --- a/esp32-webserver/esp32-webserver.ino +++ /dev/null @@ -1,157 +0,0 @@ -/********* - Rui Santos - Complete project details at https://randomnerdtutorials.com -*********/ - -// include wifi password -#include "config.h" -// Load Wi-Fi library -#include - -// Replace with your network credentials -const char* ssid = WIFI_SSID; -const char* password = WIFI_PASSWORD; - -// Set web server port number to 80 -WiFiServer server(80); - -// Variable to store the HTTP request -String header; - -// Auxiliar variables to store the current output state -String output26State = "off"; -String output27State = "off"; - -// Assign output variables to GPIO pins -const int output26 = 26; -const int output27 = 27; - -// Current time -unsigned long currentTime = millis(); -// Previous time -unsigned long previousTime = 0; -// Define timeout time in milliseconds (example: 2000ms = 2s) -const long timeoutTime = 2000; - -void setup() { - Serial.begin(115200); - // Initialize the output variables as outputs - pinMode(output26, OUTPUT); - pinMode(output27, OUTPUT); - // Set outputs to LOW - digitalWrite(output26, LOW); - digitalWrite(output27, LOW); - - // Connect to Wi-Fi network with SSID and password - Serial.print("Connecting to "); - Serial.println(ssid); - WiFi.begin(ssid, password); - while (WiFi.status() != WL_CONNECTED) { - delay(500); - Serial.print("."); - } - // Print local IP address and start web server - Serial.println(""); - Serial.println("WiFi connected."); - Serial.println("IP address: "); - Serial.println(WiFi.localIP()); - server.begin(); -} - -void loop(){ - WiFiClient client = server.available(); // Listen for incoming clients - - if (client) { // If a new client connects, - currentTime = millis(); - previousTime = currentTime; - Serial.println("New Client."); // print a message out in the serial port - String currentLine = ""; // make a String to hold incoming data from the client - while (client.connected() && currentTime - previousTime <= timeoutTime) { // loop while the client's connected - currentTime = millis(); - if (client.available()) { // if there's bytes to read from the client, - char c = client.read(); // read a byte, then - Serial.write(c); // print it out the serial monitor - header += c; - if (c == '\n') { // if the byte is a newline character - // if the current line is blank, you got two newline characters in a row. - // that's the end of the client HTTP request, so send a response: - if (currentLine.length() == 0) { - // HTTP headers always start with a response code (e.g. HTTP/1.1 200 OK) - // and a content-type so the client knows what's coming, then a blank line: - client.println("HTTP/1.1 200 OK"); - client.println("Content-type:text/html"); - client.println("Connection: close"); - client.println(); - - // turns the GPIOs on and off - if (header.indexOf("GET /26/on") >= 0) { - Serial.println("GPIO 26 on"); - output26State = "on"; - digitalWrite(output26, HIGH); - } else if (header.indexOf("GET /26/off") >= 0) { - Serial.println("GPIO 26 off"); - output26State = "off"; - digitalWrite(output26, LOW); - } else if (header.indexOf("GET /27/on") >= 0) { - Serial.println("GPIO 27 on"); - output27State = "on"; - digitalWrite(output27, HIGH); - } else if (header.indexOf("GET /27/off") >= 0) { - Serial.println("GPIO 27 off"); - output27State = "off"; - digitalWrite(output27, LOW); - } - - // Display the HTML web page - client.println(""); - client.println(""); - client.println(""); - // CSS to style the on/off buttons - // Feel free to change the background-color and font-size attributes to fit your preferences - client.println(""); - - // Web Page Heading - client.println("

ESP32 Web Server

"); - - // Display current state, and ON/OFF buttons for GPIO 26 - client.println("

GPIO 26 - State " + output26State + "

"); - // If the output26State is off, it displays the ON button - if (output26State=="off") { - client.println("

"); - } else { - client.println("

"); - } - - // Display current state, and ON/OFF buttons for GPIO 27 - client.println("

GPIO 27 - State " + output27State + "

"); - // If the output27State is off, it displays the ON button - if (output27State=="off") { - client.println("

"); - } else { - client.println("

"); - } - client.println(""); - - // The HTTP response ends with another blank line - client.println(); - // Break out of the while loop - break; - } else { // if you got a newline, then clear currentLine - currentLine = ""; - } - } else if (c != '\r') { // if you got anything else but a carriage return character, - currentLine += c; // add it to the end of the currentLine - } - } - } - // Clear the header variable - header = ""; - // Close the connection - client.stop(); - Serial.println("Client disconnected."); - Serial.println(""); - } -} diff --git a/vulpes/include/README b/include/README similarity index 100% rename from vulpes/include/README rename to include/README diff --git a/vulpes/lib/README b/lib/README similarity index 100% rename from vulpes/lib/README rename to lib/README diff --git a/vulpes/platformio.ini b/platformio.ini similarity index 100% rename from vulpes/platformio.ini rename to platformio.ini diff --git a/vulpes/src/config.h.default b/src/config.h.default similarity index 100% rename from vulpes/src/config.h.default rename to src/config.h.default diff --git a/vulpes/src/main.cpp b/src/main.cpp similarity index 100% rename from vulpes/src/main.cpp rename to src/main.cpp diff --git a/vulpes/src/morse.cpp b/src/morse.cpp similarity index 100% rename from vulpes/src/morse.cpp rename to src/morse.cpp diff --git a/vulpes/src/morse.h b/src/morse.h similarity index 100% rename from vulpes/src/morse.h rename to src/morse.h diff --git a/test.html b/test.html new file mode 100644 index 0000000..e5dfd4b --- /dev/null +++ b/test.html @@ -0,0 +1,39 @@ + + + + + + + + + +
Content 1
+
Content 2
+
Content 3
+ + + + diff --git a/vulpes/test/README b/test/README similarity index 100% rename from vulpes/test/README rename to test/README diff --git a/vulpes/.vscode/extensions.json b/vulpes/.vscode/extensions.json deleted file mode 100644 index 080e70d..0000000 --- a/vulpes/.vscode/extensions.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - // See http://go.microsoft.com/fwlink/?LinkId=827846 - // for the documentation about the extensions.json format - "recommendations": [ - "platformio.platformio-ide" - ], - "unwantedRecommendations": [ - "ms-vscode.cpptools-extension-pack" - ] -}