12 Commits
13 changed files with 1584 additions and 340 deletions

No files matched your search

+1
View File
@@ -1,5 +1,6 @@
.pio .pio
.vscode .vscode
compress
platformio.ini platformio.ini
include/wifi_credentials.h include/wifi_credentials.h
include/*.gz.h include/*.gz.h
+5 -1
View File
@@ -1,7 +1,11 @@
// filename: favicon.png.gz.h // filename: favicon.png.gz.h
#define favicon_png_gz_len 554 #define favicon_png_gz_len 554
const char favicon_png_gz[] = { const char favicon_png_gz[] = {
0x1F, 0x8B, 0x08, 0x00, 0xB2, 0x41, 0xD3, 0x60, 0x02, 0xFF, <<<<<<< HEAD
0x1F, 0x8B, 0x08, 0x00, 0x3F, 0x4E, 0xD3, 0x60, 0x02, 0xFF,
=======
0x1F, 0x8B, 0x08, 0x00, 0x06, 0x4E, 0xD3, 0x60, 0x02, 0xFF,
>>>>>>> b62f4f9f95b7086fc97d9242705342fa1bebf0a9
0x01, 0x13, 0x02, 0xEC, 0xFD, 0x89, 0x50, 0x4E, 0x47, 0x0D, 0x01, 0x13, 0x02, 0xEC, 0xFD, 0x89, 0x50, 0x4E, 0x47, 0x0D,
0x0A, 0x1A, 0x0A, 0x00, 0x00, 0x00, 0x0D, 0x49, 0x48, 0x44, 0x0A, 0x1A, 0x0A, 0x00, 0x00, 0x00, 0x0D, 0x49, 0x48, 0x44,
0x52, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x08, 0x52, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x08,
+84 -44
View File
@@ -1,46 +1,86 @@
// filename: index.html.gz.h // filename: index.html.gz.h
#define index_html_gz_len 428 #define index_html_gz_len 407
const char index_html_gz[] = { const char index_html_gz[] = {
0x1F, 0x8B, 0x08, 0x00, 0xB2, 0x41, 0xD3, 0x60, 0x02, 0xFF, <<<<<<< HEAD
0xB5, 0x54, 0xC1, 0x4E, 0xE3, 0x30, 0x10, 0xBD, 0x23, 0xED, 0x1F, 0x8B, 0x08, 0x00, 0x3F, 0x4E, 0xD3, 0x60, 0x02, 0xFF,
0x3F, 0x0C, 0xBE, 0xB7, 0xA1, 0x2B, 0x6D, 0xC5, 0x21, 0xED, 0xC5, 0x53, 0x3D, 0x4F, 0xC3, 0x30, 0x10, 0xDD, 0x91, 0xF8,
0x05, 0x38, 0x83, 0xB4, 0x5C, 0xF6, 0x54, 0x39, 0xCE, 0x34, 0x0F, 0x57, 0xEF, 0x69, 0x52, 0x86, 0x0A, 0x81, 0x93, 0x05,
0x31, 0x38, 0xB6, 0x65, 0x4F, 0x4B, 0xBB, 0x5F, 0x8F, 0x33, 0x2A, 0x31, 0x20, 0x51, 0x89, 0x2E, 0x4C, 0xC8, 0x49, 0x2E,
0x71, 0x69, 0x60, 0xB3, 0x88, 0x0B, 0x97, 0x78, 0xEC, 0xF7, 0xC9, 0x51, 0xC7, 0x8D, 0x6C, 0xF7, 0xF3, 0xD7, 0xE3, 0xDA,
0xFC, 0xDE, 0x1B, 0x27, 0x4E, 0x79, 0x79, 0x7B, 0x7F, 0xF3, 0x09, 0xB4, 0xC0, 0x82, 0x84, 0x84, 0x17, 0xBF, 0xBB, 0x67,
0xF8, 0xE7, 0xE1, 0x0E, 0x5A, 0xEA, 0xCC, 0xFA, 0xC7, 0x45, 0xBD, 0xE7, 0x73, 0x5E, 0xF8, 0xE8, 0xFE, 0xE9, 0x6E, 0xF1,
0x99, 0x47, 0x80, 0xB2, 0x45, 0x59, 0x73, 0x95, 0x6A, 0xD2, 0x32, 0x9F, 0x41, 0x63, 0x5B, 0x99, 0x5D, 0x5E, 0xF0, 0x7E,
0x64, 0x70, 0x7D, 0xF7, 0xFB, 0xE1, 0xFA, 0xE7, 0x72, 0x09, 0x07, 0xE0, 0x0D, 0x8A, 0xD2, 0x23, 0x87, 0x2D, 0x59, 0x89,
0x8F, 0x01, 0xBD, 0x47, 0x6B, 0xB4, 0x6A, 0xA9, 0x2C, 0x06, 0xD9, 0xEC, 0x79, 0x7E, 0x7D, 0x35, 0x9D, 0xC2, 0x42, 0x63,
0x2C, 0x13, 0x2F, 0x67, 0x33, 0xE8, 0xA4, 0xB6, 0x10, 0xE9, 0xD7, 0xA1, 0x92, 0x54, 0x34, 0x96, 0xC7, 0x81, 0xEB, 0x0F,
0x68, 0x10, 0x62, 0x8B, 0x48, 0x30, 0x9B, 0x9D, 0x60, 0xA3, 0x8E, 0xA2, 0x08, 0x5A, 0x41, 0x0A, 0x8C, 0xDD, 0x4B, 0x04,
0xED, 0x33, 0xB4, 0x01, 0xB7, 0x2B, 0x51, 0x6C, 0xE5, 0x5E, 0xD3, 0x20, 0x5A, 0x88, 0xA2, 0x81, 0x96, 0xA4, 0x96, 0xD0,
0x2B, 0x67, 0xE7, 0xDE, 0x36, 0x02, 0x02, 0x9A, 0x95, 0xE8, 0x68, 0xAC, 0x52, 0x16, 0x57, 0x62, 0x43, 0xC5, 0x4A, 0x8D,
0xA7, 0x02, 0xE8, 0xE8, 0x31, 0xD5, 0x9D, 0x6C, 0xB0, 0x60, 0x3B, 0x55, 0x33, 0xD0, 0x28, 0x53, 0x76, 0x2C, 0x19, 0xD8,
0x2C, 0xEA, 0xBF, 0x18, 0x57, 0x62, 0xB1, 0x3C, 0x2C, 0x96, 0x7D, 0x87, 0x0E, 0xB7, 0xA2, 0xC6, 0xD8, 0x73, 0x86, 0x0E,
0x62, 0x4A, 0x89, 0xBD, 0xE6, 0x2A, 0xC6, 0xAC, 0xC3, 0x73, 0x68, 0x52, 0x36, 0x49, 0x76, 0x93, 0x84, 0xFD, 0xA4, 0xE4,
0xB6, 0x3E, 0xA9, 0x11, 0x1E, 0xA8, 0xE8, 0x09, 0x69, 0x3B, 0xBD, 0xC6, 0x85, 0x31, 0xBD, 0x8E, 0xAF, 0xBD, 0xF5, 0xA0,
0x37, 0x57, 0xBC, 0x75, 0x57, 0x56, 0xAE, 0x3E, 0x9E, 0x54, 0x66, 0x71, 0x67, 0xE3, 0xE3, 0x81, 0x30, 0x5A, 0xFC, 0x31,
0x6B, 0xBD, 0x07, 0x65, 0x64, 0x4C, 0x76, 0xE4, 0x7C, 0x25, 0x9B, 0x2F, 0xF3, 0x55, 0xB9, 0x1F, 0x74, 0x4B, 0xDA, 0x40,
0xC3, 0xC9, 0x0F, 0x60, 0xAA, 0x79, 0xB8, 0x71, 0x96, 0x82, 0x21, 0x85, 0x71, 0x86, 0xCB, 0x55, 0x57, 0x1D, 0x90, 0x24,
0x33, 0x06, 0x43, 0x16, 0x28, 0x92, 0xC2, 0x84, 0x98, 0x1A, 0xB2, 0xC0, 0x85, 0xE5, 0xC5, 0x83, 0x62, 0x24, 0x24, 0xD5,
0x78, 0x67, 0xB5, 0x31, 0x58, 0x05, 0xDD, 0xB4, 0x64, 0x71, 0xEA, 0x06, 0x0A, 0x54, 0x16, 0xF5, 0xED, 0x70, 0xB7, 0xB0,
0x88, 0x97, 0xF1, 0x91, 0xD0, 0x7B, 0xB6, 0xB3, 0x6E, 0xBB, 0x78, 0x9E, 0x9D, 0xBF, 0x53, 0x3E, 0x58, 0xC4, 0xCE, 0xC3,
0x3D, 0x13, 0x01, 0xC8, 0x35, 0x4D, 0x3A, 0x6A, 0x69, 0xCC, 0xE1, 0xEF, 0x86, 0x6B, 0xCC, 0x51, 0x9B, 0xA2, 0xD1, 0x54,
0x79, 0xAD, 0x34, 0xB2, 0x42, 0x03, 0xBA, 0x5E, 0x09, 0xB3, 0xD9, 0x8F, 0x41, 0x83, 0x78, 0xF6, 0x80, 0xD2, 0x99, 0x2D,
0xC9, 0x3B, 0xCA, 0x82, 0x17, 0xD7, 0xFF, 0xB0, 0xB2, 0x70, 0x91, 0x9C, 0x52, 0xDF, 0x1A, 0xDC, 0x4E, 0x25, 0x8C, 0xA4,
0x7C, 0xD1, 0xA4, 0xDA, 0xB1, 0x72, 0x62, 0x68, 0xEB, 0x77, 0x12, 0xF5, 0xE9, 0x4D, 0xB8, 0x14, 0x39, 0x4A, 0xA0, 0x32,
0x94, 0x0F, 0x51, 0xB5, 0xA8, 0x9E, 0x2B, 0x77, 0xF8, 0x40, 0x65, 0x1E, 0xBD, 0x76, 0xDB, 0xF6, 0x8C, 0x8F, 0x7D, 0xFB,
0x89, 0x5E, 0xDA, 0x37, 0x0D, 0xA3, 0x6B, 0x0C, 0x10, 0xDC, 0xB4, 0x43, 0xAA, 0x5B, 0xDB, 0xFE, 0xE5, 0xB4, 0x50, 0x35,
0xCE, 0xD6, 0xBD, 0x63, 0x8F, 0x8D, 0x0D, 0x3F, 0x44, 0xF8, 0xB2, 0x41, 0xDE, 0xA2, 0xB1, 0x1A, 0x6B, 0xE9, 0x2C, 0xA0,
0x7F, 0x97, 0xFE, 0xA5, 0x13, 0xEB, 0xE9, 0x7E, 0xFA, 0x6A, 0x25, 0x95, 0xB2, 0xC4, 0xED, 0x62, 0x77, 0xFC, 0x38, 0xC9,
0xC3, 0xF8, 0x44, 0x47, 0xE3, 0xBC, 0x41, 0xDA, 0x06, 0x05, 0xA7, 0xE8, 0x30, 0xE1, 0x29, 0xE6, 0xB9, 0xCE, 0x7E, 0x37,
0x74, 0xDA, 0xA6, 0x8F, 0x27, 0x8D, 0xF2, 0x90, 0xC6, 0xAB, 0xF1, 0xA3, 0x58, 0x57, 0x35, 0x3A, 0x72, 0x4B, 0xAA, 0xFC,
0x2B, 0x01, 0x7B, 0x69, 0x76, 0x09, 0xFF, 0x95, 0xCA, 0x6C, 0x9B, 0xD1, 0xBF, 0xC8, 0xFD, 0xC3, 0x33, 0x1C, 0x71, 0x88,
0xC7, 0xD4, 0x21, 0xBC, 0x60, 0x17, 0x5E, 0x58, 0x7C, 0xE5, 0xA0, 0x0F, 0x1D, 0x84, 0x18, 0x70, 0x53, 0x68, 0xEA, 0x2C,
0x7D, 0x90, 0xEE, 0x30, 0x7C, 0x9A, 0x35, 0x33, 0xBE, 0x31, 0x18, 0x5D, 0xB8, 0x38, 0x7B, 0xDF, 0xF1, 0x9B, 0x0B, 0x2B,
0x2D, 0x3B, 0x6C, 0x06, 0x85, 0xC9, 0xC8, 0xE3, 0x9A, 0x9F, 0x8F, 0x03, 0xE1, 0xD3, 0xE2, 0x52, 0x1B, 0xFE, 0xCD, 0x77,
0xC3, 0x25, 0xC8, 0x9F, 0x3E, 0x4F, 0xA2, 0x0A, 0xDA, 0x13, 0xB3, 0xBD, 0x0A, 0x24, 0xB5, 0x03, 0x00, 0x00};
0xC4, 0xA0, 0xD2, 0x8D, 0xE2, 0x60, 0xF3, 0xA7, 0xC8, 0xEF, =======
0x90, 0x01, 0xA6, 0xA5, 0x6B, 0x33, 0xFC, 0x1E, 0x5E, 0x01, 0x1F, 0x8B, 0x08, 0x00, 0x06, 0x4E, 0xD3, 0x60, 0x02, 0xFF,
0xA6, 0x28, 0x83, 0xDC, 0x38, 0x04, 0x00, 0x00}; 0xE5, 0x94, 0xC1, 0x4A, 0x03, 0x31, 0x10, 0x86, 0xEF, 0x82,
0xEF, 0x30, 0xE6, 0xBE, 0x4D, 0xEB, 0x41, 0x44, 0x77, 0x0B,
0x62, 0x0B, 0x1E, 0x04, 0x05, 0x7B, 0xD1, 0x8B, 0x64, 0x77,
0x67, 0x77, 0xC7, 0x66, 0xD3, 0x25, 0x49, 0xB5, 0xED, 0xD3,
0x9B, 0x4D, 0x62, 0x6D, 0xF5, 0x54, 0x04, 0x41, 0x3C, 0xE5,
0x4F, 0x66, 0xF2, 0x4D, 0xFE, 0x81, 0x4C, 0x7A, 0x32, 0xB9,
0xBB, 0x9E, 0x3D, 0xDE, 0x4F, 0xA1, 0xB1, 0xAD, 0x1C, 0x1F,
0x1F, 0xA5, 0x71, 0xED, 0x15, 0x8A, 0xD2, 0x29, 0x80, 0xD4,
0x92, 0x95, 0x38, 0x9E, 0x3E, 0xDC, 0x9F, 0x9F, 0x9E, 0x9D,
0xC1, 0x4C, 0x63, 0xD7, 0xA1, 0x92, 0x54, 0x34, 0x36, 0xE5,
0x21, 0xE6, 0xD3, 0x4E, 0x92, 0x04, 0x5A, 0x41, 0x0A, 0x8C,
0x5D, 0x4B, 0x04, 0xD3, 0x20, 0x5A, 0x48, 0x92, 0x10, 0x94,
0xA4, 0xE6, 0xD0, 0x68, 0xAC, 0x32, 0xC6, 0x2B, 0xF1, 0x4A,
0xC5, 0x42, 0x0D, 0x3A, 0x55, 0x33, 0xD0, 0x28, 0x33, 0xD6,
0x6F, 0x19, 0xD8, 0x75, 0x87, 0x4E, 0xB7, 0xA2, 0x46, 0xEE,
0x63, 0x86, 0x36, 0x68, 0x32, 0x36, 0x1A, 0xAE, 0x46, 0x43,
0xF6, 0x9D, 0xE3, 0xEB, 0x0C, 0x0A, 0x63, 0x22, 0xC5, 0xEF,
0x7D, 0xD9, 0x0F, 0x96, 0xC5, 0x95, 0xE5, 0x7D, 0x42, 0x6F,
0x8D, 0x47, 0x47, 0x4E, 0xE6, 0x8B, 0x72, 0x1D, 0x78, 0x25,
0xBD, 0x42, 0x21, 0x85, 0x71, 0x65, 0xE6, 0x8B, 0xAE, 0xDA,
0x20, 0x49, 0x64, 0xC1, 0x41, 0xB8, 0x9E, 0x08, 0x49, 0xB5,
0xBA, 0x80, 0x02, 0x95, 0x45, 0x7D, 0x19, 0x9E, 0xE1, 0x2E,
0xE6, 0xE3, 0xFD, 0x46, 0xE4, 0x81, 0xC7, 0x1D, 0xD0, 0xD7,
0xD8, 0x67, 0x2F, 0x31, 0x47, 0x6D, 0x8A, 0x46, 0x53, 0x65,
0xB7, 0x88, 0x80, 0x1C, 0xDF, 0xA0, 0x74, 0x25, 0xE6, 0x48,
0x8E, 0x12, 0x8F, 0x62, 0xC2, 0x0E, 0xC0, 0x48, 0x2A, 0x51,
0x7F, 0x5C, 0xED, 0x1B, 0x21, 0x72, 0x94, 0x40, 0x65, 0xC6,
0xBC, 0x7A, 0xEE, 0xDE, 0xDA, 0x9D, 0x28, 0xF7, 0x87, 0x9F,
0x7B, 0x52, 0xDD, 0xD2, 0xC6, 0xA6, 0x68, 0xA1, 0x6A, 0xE7,
0x31, 0x82, 0x2D, 0x1A, 0xAB, 0xB1, 0x96, 0x0E, 0x0E, 0x2D,
0xA9, 0x8C, 0x0D, 0xDD, 0x2A, 0x56, 0x7D, 0xD7, 0x87, 0xDB,
0x97, 0x46, 0x57, 0x7B, 0xEA, 0x60, 0x77, 0x90, 0x23, 0xC1,
0x64, 0xA9, 0xE6, 0x28, 0x9B, 0x1F, 0x9A, 0xAD, 0xD1, 0x55,
0x7B, 0x23, 0x55, 0x06, 0xF2, 0xEF, 0x1A, 0xCF, 0xF5, 0x41,
0x0D, 0xB8, 0x15, 0xCB, 0xEA, 0xCB, 0x7B, 0xFF, 0x8D, 0xF5,
0xFE, 0x6B, 0x24, 0x57, 0x2A, 0x79, 0xFA, 0xB3, 0xA6, 0xFD,
0xB8, 0xE0, 0x71, 0x5E, 0x38, 0x69, 0x0A, 0x4D, 0x9D, 0x05,
0xA3, 0x0B, 0x37, 0x80, 0x7C, 0xB1, 0xC1, 0x8B, 0x1B, 0x2F,
0x29, 0x0F, 0x81, 0x90, 0xC4, 0xFD, 0x14, 0x7D, 0x07, 0x40,
0x6E, 0x4D, 0x01, 0x5D, 0x05, 0x00, 0x00};
>>>>>>> b62f4f9f95b7086fc97d9242705342fa1bebf0a9
+5 -1
View File
@@ -1,7 +1,11 @@
// filename: input.js.gz.h // filename: input.js.gz.h
#define input_js_gz_len 205 #define input_js_gz_len 205
const char input_js_gz[] = { const char input_js_gz[] = {
0x1F, 0x8B, 0x08, 0x00, 0xB2, 0x41, 0xD3, 0x60, 0x02, 0xFF, <<<<<<< HEAD
0x1F, 0x8B, 0x08, 0x00, 0x3F, 0x4E, 0xD3, 0x60, 0x02, 0xFF,
=======
0x1F, 0x8B, 0x08, 0x00, 0x06, 0x4E, 0xD3, 0x60, 0x02, 0xFF,
>>>>>>> b62f4f9f95b7086fc97d9242705342fa1bebf0a9
0x7D, 0xCF, 0x31, 0x0B, 0xC2, 0x30, 0x10, 0x05, 0xE0, 0x3D, 0x7D, 0xCF, 0x31, 0x0B, 0xC2, 0x30, 0x10, 0x05, 0xE0, 0x3D,
0x90, 0xFF, 0x70, 0x38, 0xB5, 0x4B, 0x8B, 0xB3, 0xB8, 0x88, 0x90, 0xFF, 0x70, 0x38, 0xB5, 0x4B, 0x8B, 0xB3, 0xB8, 0x88,
0x82, 0x82, 0x6E, 0x3A, 0xCB, 0xD1, 0x9C, 0x6D, 0x20, 0xBD, 0x82, 0x82, 0x6E, 0x3A, 0xCB, 0xD1, 0x9C, 0x6D, 0x20, 0xBD,
File diff suppressed because it is too large. Load diff
+115 -96
View File
@@ -1,98 +1,117 @@
// filename: style.css.gz.h // filename: style.css.gz.h
#define style_css_gz_len 948 #define style_css_gz_len 1091
const char style_css_gz[] = { const char style_css_gz[] = {
0x1F, 0x8B, 0x08, 0x00, 0xB2, 0x41, 0xD3, 0x60, 0x02, 0xFF, <<<<<<< HEAD
0xBD, 0x55, 0x4B, 0x6F, 0xDB, 0x38, 0x10, 0xBE, 0x1B, 0xF0, 0x1F, 0x8B, 0x08, 0x00, 0x3F, 0x4E, 0xD3, 0x60, 0x02, 0xFF,
0x7F, 0x18, 0xB4, 0x58, 0x20, 0xEE, 0x5A, 0xAE, 0xF2, 0xD8, =======
0x2C, 0xA0, 0x9C, 0x82, 0xB4, 0xDD, 0x1C, 0xB6, 0x28, 0xB0, 0x1F, 0x8B, 0x08, 0x00, 0x06, 0x4E, 0xD3, 0x60, 0x02, 0xFF,
0xC9, 0x61, 0xAF, 0x14, 0x35, 0xB2, 0x88, 0x50, 0xA2, 0x40, >>>>>>> b62f4f9f95b7086fc97d9242705342fa1bebf0a9
0x52, 0xB1, 0xDD, 0x22, 0xFF, 0x7D, 0x87, 0xA4, 0x24, 0xEB, 0xBD, 0x56, 0x4D, 0x6F, 0xDB, 0x46, 0x10, 0xBD, 0x1B, 0xF0,
0xE1, 0x4D, 0x17, 0x0B, 0xB4, 0xF0, 0x45, 0x24, 0xE7, 0xF5, 0x7F, 0x18, 0x24, 0x08, 0x60, 0xA5, 0xA2, 0x43, 0x29, 0xB2,
0x7D, 0xF3, 0xCD, 0xB8, 0xB0, 0xA5, 0x84, 0x6F, 0xCB, 0x05, 0xAD, 0xD0, 0xE8, 0xC1, 0x70, 0x93, 0xFA, 0xD0, 0x20, 0x40,
0x40, 0xAE, 0x2A, 0x1B, 0x19, 0xF1, 0x15, 0x13, 0x38, 0x8F, 0xED, 0x43, 0x81, 0xA2, 0x87, 0x25, 0x39, 0x14, 0x17, 0x5E,
0xEB, 0xFD, 0x4D, 0x7F, 0x97, 0xB3, 0x52, 0xC8, 0x43, 0x02, 0x72, 0x89, 0xDD, 0xA5, 0x25, 0xD9, 0xF0, 0x7F, 0xEF, 0x7E,
0x86, 0x55, 0x26, 0x32, 0xA8, 0x45, 0xBE, 0x86, 0x5B, 0x2D, 0x91, 0x22, 0x29, 0xCA, 0x2A, 0x0A, 0xB4, 0x26, 0x60, 0x88,
0x98, 0x5C, 0xC3, 0x3D, 0xCA, 0x67, 0xB4, 0x82, 0x33, 0x6F, 0xBB, 0xF3, 0xF1, 0xDE, 0xCC, 0x9B, 0x91, 0x72, 0x55, 0x30,
0x9D, 0x32, 0xFE, 0xB4, 0xD5, 0xAA, 0xA9, 0xB2, 0x88, 0x2B, 0x78, 0x39, 0x3D, 0x01, 0xC8, 0x78, 0xA9, 0x02, 0x49, 0x9F,
0xA9, 0x74, 0x02, 0x6F, 0xD3, 0x4B, 0xF7, 0xA3, 0xD7, 0x97, 0x31, 0x82, 0xD9, 0x65, 0xB5, 0xB9, 0x6E, 0xCF, 0x32, 0x52,
0xE5, 0x62, 0xB9, 0xD8, 0x58, 0x55, 0xA7, 0x4C, 0x87, 0x7C, 0x50, 0xB6, 0x8D, 0x40, 0x92, 0x52, 0x06, 0x12, 0x05, 0xCD,
0x35, 0xCB, 0x32, 0x51, 0x6D, 0x29, 0x1B, 0x96, 0xFF, 0xE6, 0xA6, 0x70, 0x23, 0x28, 0x61, 0x53, 0xB8, 0x43, 0xF6, 0x84,
0x7E, 0x9E, 0xBB, 0xDF, 0x8D, 0xF3, 0x05, 0x68, 0x2F, 0x77, 0x8A, 0x26, 0xC4, 0x5A, 0xC7, 0x24, 0x79, 0x5C, 0x09, 0x5E,
0x85, 0xB0, 0x78, 0x33, 0xA9, 0x78, 0x1F, 0x49, 0xA6, 0xB7, 0x97, 0x69, 0x90, 0x70, 0xC6, 0x45, 0x04, 0xEF, 0xD3, 0x85,
0xE1, 0xDA, 0xE2, 0xDE, 0x46, 0x4C, 0x8A, 0x6D, 0x95, 0x00, 0x79, 0xF4, 0xED, 0xEB, 0xE9, 0xC9, 0xE9, 0xC9, 0xB9, 0xE2,
0xC7, 0xCA, 0xA2, 0xEE, 0xF3, 0x73, 0xF2, 0xD0, 0x4A, 0x9E, 0x55, 0x4C, 0x84, 0xCB, 0x57, 0x91, 0x34, 0xA5, 0xE5, 0x4A,
0x2C, 0xC0, 0x5B, 0xD4, 0x6B, 0x90, 0x62, 0xCE, 0xC7, 0x75, 0x67, 0xC3, 0xE2, 0x90, 0xFB, 0x2C, 0x33, 0xCF, 0xB5, 0xF1,
0xCB, 0x87, 0x14, 0x15, 0x46, 0x05, 0x8A, 0x6D, 0x61, 0x13, 0x05, 0xF0, 0x87, 0xEB, 0x9C, 0x2A, 0xBC, 0x1E, 0x20, 0xDE,
0xB8, 0x08, 0x57, 0x68, 0x29, 0x43, 0x64, 0x6A, 0xC6, 0x43, 0x04, 0x8C, 0x88, 0x95, 0x3B, 0x56, 0xB8, 0x51, 0x01, 0x61,
0x30, 0x6F, 0xEA, 0x83, 0x2D, 0x17, 0xA9, 0xCA, 0x0E, 0x21, 0x74, 0x55, 0x46, 0x90, 0x60, 0xA9, 0x50, 0xB4, 0xF9, 0x13,
0x5A, 0x49, 0xE5, 0x09, 0x2A, 0x28, 0x06, 0xD6, 0x58, 0x15, 0xED, 0x21, 0x38, 0x1B, 0x05, 0xE0, 0x2C, 0x6A, 0x8C, 0x51,
0xF0, 0x2A, 0x9D, 0xA1, 0xF6, 0x1E, 0x60, 0x94, 0x14, 0x19, 0xC8, 0x24, 0xD7, 0x2C, 0xD5, 0x4B, 0x27, 0xEB, 0xFB, 0xCC,
0xA4, 0x92, 0x28, 0x18, 0xBC, 0x45, 0x9A, 0x65, 0xA2, 0x31, 0xFE, 0x0D, 0xF3, 0x5E, 0x84, 0xBE, 0x52, 0x6B, 0x9A, 0xAA,
0x09, 0x5C, 0x1E, 0x43, 0x2E, 0x17, 0xEF, 0xDF, 0xC1, 0x63, 0x3C, 0x82, 0x45, 0xF8, 0xE1, 0x10, 0x97, 0x8B, 0xCC, 0x3C,
0x81, 0x60, 0x76, 0xC2, 0xF2, 0x02, 0x22, 0xB0, 0x74, 0x48, 0xBB, 0x52, 0xA0, 0x54, 0x02, 0x57, 0x0C, 0x85, 0x4D, 0x13,
0xD5, 0x1E, 0x98, 0xE7, 0xCE, 0x1F, 0x0D, 0x45, 0x43, 0x0D, 0xAC, 0x31, 0x7E, 0xA4, 0x1A, 0x77, 0x55, 0x21, 0x11, 0xA4,
0xEF, 0xDE, 0x13, 0xE6, 0xD6, 0x2E, 0x40, 0x56, 0x46, 0x58, 0x4C, 0x74, 0xF0, 0x92, 0x97, 0x8E, 0x51, 0x8E, 0x74, 0x95,
0xA1, 0xA8, 0x0E, 0x8D, 0x92, 0x59, 0xF1, 0x1C, 0x18, 0xCB, 0xAB, 0x08, 0x3E, 0x0F, 0xB2, 0x7D, 0x59, 0xFA, 0x6C, 0x5C,
0x84, 0xA9, 0x25, 0xA3, 0x16, 0x8B, 0xCA, 0x23, 0x4C, 0xA5, 0xA4, 0x28, 0x02, 0x41, 0x52, 0x5A, 0xCB, 0x08, 0xE6, 0x8D,
0x6A, 0xEB, 0xD8, 0x89, 0xCC, 0x16, 0x09, 0x5C, 0x77, 0x82, 0x19, 0xAF, 0x15, 0xA3, 0xA5, 0x8E, 0x14, 0x33, 0x8D, 0xE7,
0xE8, 0xB0, 0x5F, 0x5E, 0x1D, 0x61, 0x52, 0x3D, 0xF7, 0x94, 0x00, 0x30, 0xB1, 0x8A, 0xCF, 0x66, 0x57, 0x97, 0x53, 0x98,
0x0E, 0x32, 0xCC, 0x59, 0x23, 0x2D, 0xDC, 0x3F, 0x7E, 0xFE, 0x2D, 0x97, 0x53, 0x98, 0xCF, 0x97, 0x13, 0x87, 0xB1, 0x83,
0x13, 0x78, 0x81, 0xFC, 0xC9, 0x55, 0x35, 0xAC, 0x41, 0x54, 0x30, 0x8A, 0x1A, 0x78, 0x92, 0x51, 0x93, 0x49, 0xE5, 0x75,
0x75, 0x63, 0x43, 0x25, 0xCA, 0xF1, 0x65, 0x29, 0x65, 0x3C, 0x11, 0x1F, 0xC7, 0x3D, 0x7A, 0xE8, 0xB1, 0x5F, 0x7C, 0xE8,
0xCC, 0x13, 0x8F, 0x92, 0xC4, 0x83, 0x0C, 0x8F, 0x53, 0x54, 0x51, 0x6B, 0x31, 0x0F, 0xB8, 0xCC, 0xDA, 0xF3, 0x71, 0xE0,
0xE1, 0x7B, 0x82, 0x8A, 0xA5, 0x44, 0x64, 0xD3, 0xCA, 0x83, 0xE1, 0x95, 0x06, 0x3E, 0x9F, 0xEB, 0x7F, 0x5F, 0xE6, 0x13,
0x37, 0xDA, 0x38, 0xC1, 0xD4, 0x4A, 0xB4, 0x22, 0x20, 0x6D, 0x6B, 0x98, 0xD4, 0x42, 0xEA, 0xEB, 0x8A, 0xD3, 0x5D, 0xEB,
0xA8, 0xBA, 0xCB, 0x22, 0x31, 0xB7, 0xDD, 0xB7, 0x3E, 0x26, 0x69, 0x59, 0xD5, 0xEA, 0x4F, 0xB5, 0xAD, 0xF0, 0x67, 0x0D,
0x74, 0xDC, 0x5B, 0xAB, 0xCA, 0xFE, 0x34, 0x57, 0x25, 0xE7, 0x67, 0x85, 0x7F, 0xFD, 0x5B, 0x46, 0x0E, 0x5D, 0x74, 0xB4,
0xDC, 0x3F, 0x45, 0x3B, 0x4C, 0x9F, 0x84, 0x8D, 0xAC, 0xA6, 0x33, 0x8B, 0xD1, 0xC6, 0x78, 0x2B, 0x27, 0x80, 0x47, 0x5E,
0xC9, 0x68, 0x2B, 0xD8, 0x5C, 0x99, 0x90, 0x68, 0x76, 0x17, 0x65, 0xCF, 0x48, 0x19, 0xF6, 0x64, 0xD6, 0x2A, 0xFE, 0x4D,
0x14, 0x18, 0xEA, 0x4E, 0x52, 0xCC, 0x95, 0xC6, 0xD7, 0xCB, 0x99, 0xCD, 0xC2, 0xC3, 0x3A, 0x5B, 0xA6, 0x4B, 0xB2, 0x24,
0x27, 0xFD, 0x91, 0x7A, 0x13, 0x78, 0xF3, 0x66, 0xC4, 0xCA, 0x76, 0x66, 0x74, 0xA2, 0x6A, 0x0A, 0x8C, 0x1E, 0x1E, 0x70,
0x45, 0x27, 0xC6, 0x96, 0xB3, 0xFE, 0x1C, 0x00, 0x5D, 0xB5, 0x23, 0x8F, 0xA0, 0xED, 0x81, 0x3B, 0x42, 0xA5, 0xEB, 0x16,
0xA7, 0x0E, 0x45, 0x7F, 0x9E, 0xE1, 0x38, 0x0E, 0xD2, 0xFF, 0xC8, 0x8A, 0x24, 0x6E, 0x3A, 0x76, 0x98, 0x4F, 0x4F, 0x62,
0x00, 0xE2, 0x5B, 0x99, 0xF8, 0x2E, 0x63, 0x06, 0xBF, 0xC2, 0x9E, 0x6E, 0x5D, 0xB4, 0x42, 0xCF, 0x1B, 0xD5, 0x13, 0x16,
0xA8, 0x21, 0x27, 0x38, 0x8B, 0xAF, 0x6E, 0x6F, 0xAF, 0x3F, 0x02, 0xA9, 0x15, 0xEF, 0x16, 0x67, 0x58, 0xAD, 0x1D, 0xFD,
0x8C, 0xBD, 0x73, 0xC5, 0x1B, 0x33, 0xF3, 0x55, 0xFB, 0xC8, 0x5D, 0x9C, 0xD3, 0x93, 0x4F, 0x1F, 0xE1, 0x21, 0x47, 0x90,
0x14, 0x2C, 0x53, 0x3B, 0x37, 0x2C, 0xB1, 0x9F, 0x8E, 0x93, 0x6B, 0xAA, 0x92, 0x1C, 0x02, 0x50, 0xFA, 0x25, 0xE6, 0x1B,
0xDE, 0xB3, 0xDC, 0x23, 0x52, 0x47, 0x90, 0xE8, 0x9A, 0x98, 0x20, 0x96, 0x8D, 0x7D, 0x75, 0xAD, 0x81, 0x8F, 0x9F, 0x74,
0xF0, 0x9F, 0xA4, 0x7A, 0xFC, 0xFB, 0xCC, 0x71, 0xB6, 0x0A, 0xB5, 0xBC, 0x9D, 0x1B, 0x5C, 0x2E, 0xA9, 0xA2, 0x5C, 0x27,
0xD0, 0x4B, 0xF3, 0x5D, 0x9B, 0xD7, 0xDF, 0x5F, 0xBC, 0x3E, 0x17, 0xC8, 0x88, 0xA2, 0x4F, 0x2E, 0x5B, 0x4A, 0x65, 0xC5,
0xFF, 0x72, 0x68, 0xA9, 0x9A, 0x50, 0x8A, 0x19, 0x8A, 0x74, 0x88, 0x5E, 0x54, 0xB4, 0xB4, 0xB4, 0x62, 0xC6, 0xBD, 0xE8,
0x13, 0xE6, 0xF2, 0xDB, 0xA9, 0xB9, 0xEE, 0xC7, 0x68, 0x64, 0x7D, 0xD5, 0x2E, 0x9B, 0x2A, 0xB6, 0x5D, 0x5B, 0xEC, 0xB8,
0x3B, 0x42, 0x32, 0x71, 0xF9, 0x2D, 0xFE, 0x65, 0xB8, 0x0C, 0x69, 0x3C, 0x77, 0x3A, 0x1D, 0xA4, 0x98, 0x91, 0x9A, 0x29,
0xA6, 0xC3, 0x21, 0xAC, 0x41, 0x99, 0x87, 0xF4, 0x54, 0xEB, 0xB8, 0x7B, 0xF8, 0xFE, 0x1B, 0x24, 0x39, 0x26, 0x8F, 0x06,
0x16, 0x87, 0xDC, 0x76, 0xA4, 0xB0, 0xBA, 0x46, 0x46, 0xAF, 0x55, 0x17, 0x83, 0x15, 0x93, 0x43, 0xC2, 0x4D, 0x91, 0x94,
0x9C, 0x76, 0x5B, 0xA5, 0x2A, 0xBC, 0x01, 0xA0, 0x28, 0x5F, 0x4E, 0x19, 0x76, 0xF3, 0x84, 0xBD, 0x24, 0x61, 0x27, 0xC3,
0x9E, 0x51, 0xEB, 0xE1, 0x20, 0xDF, 0x3D, 0x3C, 0x80, 0xB1, 0xC3, 0x90, 0x95, 0xFB, 0xFC, 0xB2, 0xDF, 0x5A, 0xEF, 0xE1,
0x07, 0x89, 0x01, 0x0E, 0xC0, 0xCC, 0x6F, 0x20, 0x43, 0x57, 0x2D, 0xA2, 0x18, 0x33, 0x2E, 0x70, 0x48, 0x9F, 0xC4, 0x92,
0x97, 0x8B, 0xF2, 0xA9, 0x91, 0x32, 0xF2, 0x77, 0xAD, 0xD3, 0xB3, 0xDA, 0x6F, 0x43, 0xB3, 0xDB, 0xF4, 0xB6, 0x8B, 0xE0,
0x68, 0x65, 0x38, 0x8B, 0x87, 0x1A, 0xB9, 0xC8, 0x05, 0x91, 0xDD, 0xBB, 0xFE, 0x64, 0x5D, 0xF6, 0xB5, 0xD3, 0xBE, 0x33,
0x15, 0x9E, 0x5A, 0xBB, 0x53, 0xD4, 0x38, 0x73, 0x8F, 0x02, 0xCC, 0xF4, 0xF5, 0xA2, 0x9D, 0x3B, 0xA5, 0x78, 0xD1, 0x79,
0x02, 0x87, 0x5C, 0xE9, 0xAA, 0x63, 0x77, 0x28, 0x33, 0x12, 0xDF, 0x53, 0xD6, 0x6E, 0xF1, 0x36, 0x23, 0xA2, 0xF4, 0x78,
0x58, 0x76, 0xE9, 0x7E, 0xDE, 0xE3, 0x0F, 0x8D, 0x87, 0xC1, 0x34, 0x58, 0xCE, 0x17, 0xD2, 0x6D, 0xDF, 0xBD, 0xB3, 0x57,
0x63, 0x6B, 0xAD, 0x1A, 0xEB, 0x96, 0x5B, 0x87, 0xD8, 0xF5, 0x43, 0xD5, 0xCF, 0x60, 0x64, 0x2B, 0x8A, 0x29, 0xFC, 0x04,
0x0C, 0x4B, 0xF5, 0x8C, 0xDD, 0x43, 0x67, 0xD6, 0x2F, 0xA6, 0x3D, 0xF2, 0x23, 0x3A, 0x0E, 0x17, 0x37, 0x37, 0x97, 0xBF,
0xCD, 0xEF, 0xA1, 0x5C, 0xB4, 0xA1, 0xED, 0x35, 0xD3, 0x58, 0x34, 0xA5, 0x70, 0xDE, 0x19, 0x4F, 0x6A, 0xB9, 0xE7, 0xCB,
0xF1, 0x03, 0x9C, 0x51, 0x6F, 0xA0, 0x54, 0x8D, 0xC1, 0x88, 0x37, 0x81, 0xCC, 0x49, 0xCA, 0xD7, 0x46, 0x8D, 0xA1, 0x11,
0xDC, 0x35, 0x60, 0x9E, 0x23, 0xB7, 0x06, 0x54, 0x05, 0x85, 0xEC, 0xB8, 0xF7, 0x5E, 0xEE, 0x5E, 0x59, 0x7B, 0xA4, 0xF4,
0xBB, 0x58, 0xB5, 0x91, 0x4E, 0x4E, 0xD5, 0x85, 0xF1, 0x41, 0xB1, 0xAE, 0x85, 0xFD, 0xA8, 0x15, 0x86, 0x7F, 0x9C, 0x99,
0xE3, 0xCD, 0x05, 0x18, 0xA4, 0x11, 0xCF, 0xCC, 0x60, 0xC2, 0xAA, 0xB9, 0xFD, 0x12, 0x14, 0xF2, 0xA8, 0xCD, 0xDB, 0xF7,
0xFA, 0x10, 0x6D, 0x84, 0xA1, 0x67, 0x5B, 0x97, 0x8F, 0xE0, 0xAF, 0x56, 0x0B, 0xBF, 0x1B, 0xB6, 0x1A, 0x8D, 0x83, 0x22,
0xDA, 0x1E, 0x64, 0xF7, 0x79, 0x5E, 0xC6, 0xB4, 0xF5, 0x49, 0xBB, 0x82, 0x38, 0x77, 0x33, 0xF0, 0x32, 0x36, 0x43, 0xAD,
0x88, 0x38, 0xDE, 0xBA, 0xE7, 0x7D, 0xAF, 0x0E, 0x60, 0x0A, 0x64, 0x7B, 0xB6, 0x3D, 0x26, 0x03, 0x97, 0x8B, 0x9D, 0xA0,
0xB5, 0xF3, 0xA9, 0x07, 0x98, 0x5C, 0x90, 0x97, 0xA9, 0xB6, 0x86, 0x22, 0xA4, 0x4A, 0x22, 0xCB, 0x5C, 0x6A, 0xBB, 0x18,
0x0A, 0x56, 0x65, 0x12, 0xE1, 0x8C, 0xAC, 0x7A, 0x70, 0x70, 0xBB, 0x75, 0x3D, 0xB8, 0x08, 0x01, 0x74, 0x94, 0x1F, 0x4F,
0x76, 0x57, 0x68, 0x55, 0xE2, 0x1A, 0xBE, 0xD4, 0xA8, 0xD9, 0x28, 0x44, 0x77, 0x60, 0x6E, 0xEF, 0xEF, 0x41, 0xAA, 0x2D,
0x1A, 0x1E, 0x58, 0xCE, 0xB4, 0x58, 0xC3, 0xC7, 0x6C, 0x8B, 0x43, 0x47, 0xE5, 0xC8, 0xF6, 0xD7, 0x98, 0x4C, 0x94, 0x6F,
0x2B, 0x20, 0x0F, 0x1A, 0x31, 0xF5, 0x95, 0xEC, 0x3E, 0x09, 0x35, 0x63, 0x81, 0x3D, 0xF3, 0x4E, 0xBD, 0xD1, 0x34, 0x16,
0x4D, 0xAA, 0xDE, 0xAF, 0x68, 0x07, 0x83, 0x9A, 0x4A, 0x4D, 0xF7, 0x15, 0x26, 0x34, 0xA3, 0xBA, 0x50, 0xEE, 0xCA, 0xDB,
0x2A, 0xF5, 0xB4, 0x9A, 0x97, 0x9E, 0x74, 0x69, 0xC2, 0x39, 0x8D, 0x95, 0xC5, 0x98, 0x5B, 0x16, 0xE0, 0xEA, 0x97, 0x70,
0xB2, 0x45, 0x53, 0xA6, 0xDF, 0xD3, 0xF2, 0x29, 0x29, 0xBB, 0x51, 0x36, 0x95, 0xED, 0x4A, 0xCC, 0xFC, 0x2E, 0xF9, 0x6C,
0xF8, 0xFF, 0x41, 0xC4, 0x7E, 0x97, 0x76, 0x4D, 0x67, 0x60, 0x1E, 0xEB, 0xF1, 0xAB, 0xC0, 0x6D, 0xE7, 0xD2, 0x5B, 0xB7,
0x82, 0x52, 0xF9, 0x84, 0x80, 0x53, 0xEA, 0x3E, 0x7A, 0x8E, 0x5F, 0x9D, 0x8E, 0xB1, 0xE9, 0x17, 0x16, 0xFC, 0x09, 0x9B,
0x4C, 0x5F, 0x53, 0x78, 0x37, 0x31, 0x7E, 0x75, 0xC0, 0x47, 0x8B, 0xC6, 0xAC, 0x5D, 0x00, 0xE7, 0x57, 0x0E, 0x2E, 0x2A,
0x89, 0x25, 0xAD, 0xFB, 0x53, 0xD2, 0x6E, 0xB7, 0x5F, 0x2B, 0xD7, 0xF2, 0x8A, 0x08, 0x2C, 0x93, 0x2D, 0x9C, 0xE9, 0xBE,
0x6D, 0xAC, 0xE6, 0xDA, 0x9E, 0xFE, 0xD5, 0x39, 0xD3, 0x3B, 0x40, 0xC1, 0x6B, 0x89, 0x81, 0x76, 0x17, 0x80, 0x59, 0x86,
0x7F, 0x37, 0x96, 0xD4, 0xCB, 0x8C, 0x5F, 0xD7, 0x1B, 0x7F, 0x89, 0x92, 0xC0, 0x4B, 0xC8, 0xCD, 0xC1, 0xC4, 0x47, 0x1A,
0x33, 0xE4, 0xF6, 0xE7, 0xB0, 0xF1, 0xC3, 0x20, 0xFE, 0x03, 0x9D, 0xA9, 0xB9, 0xB4, 0x41, 0xC3, 0xF3, 0x39, 0x48, 0xD4,
0xF9, 0xD5, 0xDB, 0xFC, 0xD4, 0x0A, 0x00, 0x00}; 0x03, 0x9E, 0xCA, 0xCE, 0x7C, 0xB5, 0x21, 0x7C, 0x84, 0xAE,
0xA7, 0xC7, 0x65, 0x23, 0xF8, 0x6F, 0x02, 0x1D, 0xE7, 0xFB,
0x3E, 0x8C, 0x61, 0xEB, 0x23, 0x17, 0xB1, 0xBF, 0xDD, 0x66,
0x6D, 0xAF, 0xB6, 0x20, 0x73, 0xBE, 0xB6, 0xA9, 0x3B, 0x9C,
0x4C, 0x90, 0xD7, 0xA1, 0xB6, 0x72, 0x52, 0xA6, 0x0C, 0xE1,
0x4C, 0x5B, 0xB5, 0xE4, 0xE0, 0xEC, 0x36, 0x17, 0xBC, 0xC0,
0x29, 0xFC, 0xA8, 0x50, 0x90, 0x29, 0xDC, 0x93, 0x8C, 0x08,
0x3A, 0x85, 0xAF, 0xE9, 0x0A, 0x27, 0xA0, 0x3D, 0xF4, 0x78,
0xF1, 0x67, 0x6D, 0xF7, 0x8D, 0x0A, 0xAD, 0xE8, 0xCD, 0x04,
0x14, 0x07, 0x3E, 0x94, 0x1A, 0xE3, 0xFC, 0x71, 0xB2, 0x0F,
0x7D, 0xF4, 0x3B, 0xFD, 0x98, 0x96, 0xC7, 0xA4, 0x6C, 0xE2,
0xFF, 0x03, 0x11, 0xDB, 0x4D, 0xDA, 0x34, 0x9D, 0x80, 0x74,
0x4A, 0x4D, 0x06, 0x05, 0x18, 0x53, 0xF7, 0xCE, 0xB3, 0x67,
0xFA, 0x96, 0xC2, 0x9B, 0x89, 0xB1, 0x6B, 0x03, 0xBE, 0x32,
0x2C, 0xF4, 0xB2, 0x1F, 0x93, 0xB6, 0xDF, 0x7C, 0x5E, 0xDA,
0x58, 0xEE, 0x6B, 0xDB, 0xFF, 0x42, 0x82, 0xE6, 0x27, 0x92,
0x31, 0xBD, 0xB5, 0x67, 0x7D, 0x49, 0xBD, 0xEE, 0xD5, 0xD7,
0xF4, 0xC6, 0x9E, 0x74, 0x6B, 0xFB, 0xFF, 0x54, 0xE3, 0x3F,
0xA3, 0xF8, 0x37, 0xCB, 0x4E, 0x89, 0x3F, 0x02, 0x0D, 0x00,
0x00};
+44 -26
View File
@@ -1,38 +1,56 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head>
<title>ESP8266 Treppenlicht</title>
<!-- main style sheet -->
<link href="/favicon.png" rel="icon" type="image/png" sizes="10x10">
<link href="/style.css" rel="stylesheet" type="text/css">
</head>
<body> <head>
<div class="kopfzeile" <title>ESP8266 Treppenlicht</title>
style="text-align: center;"> <!-- main style sheet -->
<b>Treppenlicht</b> <link href="/favicon.png" rel="icon" type="image/png" sizes="10x10">
</div> <link href="/style.css" rel="stylesheet" type="text/css">
</head>
<div class="ueberschrift"> <body>
<div class="kopfzeile" style="text-align: center;">
<b>Treppenlicht</b>
</div>
<div class="ueberschrift">
<center>Helligkeit</center> <center>Helligkeit</center>
<div class="slider"> <div class="slider">
<label id="label_pwm"> <label id="label_pwm">
</label> </label>
<input type="range" class="testregler" min="0" max="100"> <input type="range" class="testregler" min="0" max="100">
</div>
</div> </div>
<br> </div>
<div class="ueberschrift"> <div class="ueberschrift">
<center>Helligkeit bei Dunkelheit</center>
<div class="slider">
<label id="label_geschwindigkeit">
</label>
<input type="range" class="testregler" min="0" max="100">
</div>
</div>
<br>
<div class="ueberschrift">
<center>Laufgeschwindigkeit</center> <center>Laufgeschwindigkeit</center>
<div class="slider"> <div class="slider">
<label id="label_geschwindigkeit"> <label id="label_geschwindigkeit">
</label> </label>
<input type="range" class="testregler" min="0" max="100"> <input type="range" class="testregler" min="0" max="100">
</div>
</div> </div>
</div>
<br>
<div class="ueberschrift">
<center>Licht-An-Zeit</center>
<div class="slider">
<label id="label_geschwindigkeit">
</label>
<input type="range" class="testregler" min="0" max="100">
</div>
</div>
</body>
<script src="/input.js"></script> </body>
<script src="/input.js"></script>
</html> </html>
+4 -7
View File
@@ -26,7 +26,7 @@ html {
.testregler{ .testregler{
-webkit-appearance: none; -webkit-appearance: none;
height: 20px; height: 30px;
width: 98%; width: 98%;
border-radius: 20px; border-radius: 20px;
outline: black; outline: black;
@@ -44,12 +44,9 @@ html {
input[type=range]::-webkit-slider-thumb{ input[type=range]::-webkit-slider-thumb{
-webkit-appearance: none; -webkit-appearance: none;
border:none; border:none;
height: 100px; height: 30px;
width: 100px; width: 4%;
background:goldenrod; border-radius: 30px;
margin-top: -15px;
border-radius: o!important;
} }
.kopfzeile{ .kopfzeile{
+8
View File
@@ -53,3 +53,11 @@ if(p.endsWith(".gzip")) {
else else
server.streamFile(f, mime::getContentType(SRH::_path), requestMethod); server.streamFile(f, mime::getContentType(SRH::_path), requestMethod);
``` ```
Webserver on v0.3.0 now working with LittleFS
TODO:
- check dir for files automatic
- move handleNotFound to httpserver.h
- maybe compress files ?
+48
View File
@@ -0,0 +1,48 @@
#ifndef __OTA_H
#define __OTA_H
void ota_setup() {
ArduinoOTA.setPort(8266);
ArduinoOTA.setHostname("ESP_Treppenlicht");
ArduinoOTA.setPassword("admin");
// Password can be set with it's md5 value as well
// MD5(admin) = 21232f297a57a5a743894a0e4a801fc3
// ArduinoOTA.setPasswordHash("21232f297a57a5a743894a0e4a801fc3");
ArduinoOTA.onStart([]() {
String type;
if (ArduinoOTA.getCommand() == U_FLASH) {
type = "sketch";
} else { // U_FS
type = "filesystem";
}
// NOTE: if updating FS this would be the place to unmount FS using FS.end()
Serial.println("Start updating " + type);
});
ArduinoOTA.onEnd([]() {
Serial.println("\nEnd");
});
ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) {
Serial.printf("Progress: %u%%\r", (progress / (total / 100)));
});
ArduinoOTA.onError([](ota_error_t error) {
Serial.printf("Error[%u]: ", error);
if (error == OTA_AUTH_ERROR) {
Serial.println("Auth Failed");
} else if (error == OTA_BEGIN_ERROR) {
Serial.println("Begin Failed");
} else if (error == OTA_CONNECT_ERROR) {
Serial.println("Connect Failed");
} else if (error == OTA_RECEIVE_ERROR) {
Serial.println("Receive Failed");
} else if (error == OTA_END_ERROR) {
Serial.println("End Failed");
}
});
ArduinoOTA.begin();
}
#endif // __OTA_H
View File
Whitespace-only changes.
+122 -165
View File
@@ -1,40 +1,68 @@
#include <Arduino.h> #include <Arduino.h>
// debugging support via GDBStub over UART
#ifdef WITH_DEBUGGING_ON #ifdef WITH_DEBUGGING_ON
#include <GDBStub.h> #include <GDBStub.h> // debugging support via GDBStub over UART
#endif #endif
#include "PCA9685.h" #include "PCA9685.h"
extern "C" { extern "C" {
#include "user_interface.h" #include "user_interface.h"
} }
#define ESP12_LED 2
#define NODEMCU_LED 16
// OTA & WEB // OTA & WEB
#include "wifi_credentials.h"
#include <ESP8266WiFi.h> #include <ESP8266WiFi.h>
#include <WiFiUdp.h> #include <WiFiUdp.h>
#include <ArduinoOTA.h> #include <ArduinoOTA.h>
#include "ota.h"
#include "wifi_credentials.h"
#include "httpserver.h" #include "httpserver.h"
// BOARD
#define ESP12_LED 2
#define NODEMCU_LED 16
// PWM
os_timer_t timer1;
uint8_t timer_flag = 0;
PCA9685 pwmController;
void setup_pwm_pca9685();
// WIFI
const char* ssid = STASSID; const char* ssid = STASSID;
const char* password = STAPSK; const char* password = STAPSK;
os_timer_t timer1; // PWM
int timer_arg; uint32_t dimmtimer = 0;
uint16_t time_per_stair = 500; // global parameter: dimmtime per stair [ms]
uint8_t direction = 1;
uint8_t onoff = 1;
void setup_ota();
void setup_pwm_pca9685(); void ledsequence(uint8_t direction, uint8_t onoff);
uint8_t softstart_led(uint8_t led, uint16_t startval, uint16_t stopval);
void timerCallback(void *pArg)
{
*((int *) pArg) += 1;
ledsequence(direction, onoff);
// Serial.print("[");
// Serial.print(micros()-m);
// Serial.print("] timerCallback\n");
// m = micros();
}
// HTTP
void handleNotFound(); void handleNotFound();
const int led = 13;
HTTPServer httpServer(80, "/"); HTTPServer httpServer(80, "/");
uint32_t _t=0;
#define SP_US(_str,_a) Serial.print(_str); Serial.print(" took: "); Serial.print(_a); Serial.println("us")
#define TIMEIF_US(_f, _l, _str) _t=micros(); _f; _t=micros()-_t; if(_t > _l) { SP_US(_str, _t); }
// ===============================================
void handleNotFound() { void handleNotFound() {
String message = "File Not Found\n\n"; String message = "File Not Found\n\n";
message += "URI: "; message += "URI: ";
@@ -52,53 +80,6 @@ void handleNotFound() {
httpServer.send(404, "text/plain", message); httpServer.send(404, "text/plain", message);
} }
PCA9685 pwmController;
void setup_ota() {
ArduinoOTA.setPort(8266);
ArduinoOTA.setHostname("ESP_Treppenlicht");
ArduinoOTA.setPassword("admin");
// Password can be set with it's md5 value as well
// MD5(admin) = 21232f297a57a5a743894a0e4a801fc3
// ArduinoOTA.setPasswordHash("21232f297a57a5a743894a0e4a801fc3");
ArduinoOTA.onStart([]() {
String type;
if (ArduinoOTA.getCommand() == U_FLASH) {
type = "sketch";
} else { // U_FS
type = "filesystem";
}
// NOTE: if updating FS this would be the place to unmount FS using FS.end()
Serial.println("Start updating " + type);
});
ArduinoOTA.onEnd([]() {
Serial.println("\nEnd");
});
ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) {
Serial.printf("Progress: %u%%\r", (progress / (total / 100)));
});
ArduinoOTA.onError([](ota_error_t error) {
Serial.printf("Error[%u]: ", error);
if (error == OTA_AUTH_ERROR) {
Serial.println("Auth Failed");
} else if (error == OTA_BEGIN_ERROR) {
Serial.println("Begin Failed");
} else if (error == OTA_CONNECT_ERROR) {
Serial.println("Connect Failed");
} else if (error == OTA_RECEIVE_ERROR) {
Serial.println("Receive Failed");
} else if (error == OTA_END_ERROR) {
Serial.println("End Failed");
}
});
ArduinoOTA.begin();
}
void setup_pwm_pca9685() { void setup_pwm_pca9685() {
pwmController.resetDevices(); // Software resets all PCA9685 devices on Wire line pwmController.resetDevices(); // Software resets all PCA9685 devices on Wire line
@@ -109,121 +90,66 @@ void setup_pwm_pca9685() {
} }
uint32_t dimmtimer = 0; uint8_t softstart_led(uint8_t led, uint16_t startval, uint16_t stopval){
uint8_t direction = 1;
uint8_t onoff = 1;
void ledsequence(uint8_t direction, uint8_t onoff, uint8_t factor); /*
uint8_t softstart_led(uint8_t led, uint16_t startval, uint16_t stopval, uint8_t factor); softstart task
uint8_t flag = 0; - get's called at regular intervals (1ms at the moment)
void timer_callback(void *pArg) - dimms single led (0 - 15, PCA9685 outputs) with linear intervals vom startval to stopval
{ - calculates pwm steps depending on startval, stopval and timeinterval
*((int *) pArg) += 1; - -> results in constanst speed
- returns 1 if led dimming is running
- returns 0 if led dimming is finished
flag = 1; */
}
void setup() {
#ifdef WITH_DEBUGGING_ON
Serial.begin(460800);
gdbstub_init();
#else
Serial.begin(115200);
#endif
Serial.println(F("Booting ...."));
pinMode(NODEMCU_LED, OUTPUT);
pinMode(ESP12_LED, OUTPUT);
Wire.begin(); // Wire must be started first
Wire.setClock(400000); // Supported baud rates are 100kHz, 400kHz, and 1000kHz
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
while (WiFi.waitForConnectResult() != WL_CONNECTED) {
Serial.println("Connection Failed! Rebooting...");
delay(5000);
ESP.restart();
}
pinMode(led, OUTPUT);
digitalWrite(led, 0);
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
os_timer_setfn(&timer1, timer_callback, &timer_arg);
os_timer_arm(&timer1, 1, true);
Serial.println("Ready");
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
setup_ota();
httpServer.start();
httpServer.onNotFound(handleNotFound);
Serial.println("HTTP server started !");
setup_pwm_pca9685();
Serial.println("PCA9685 connected !");
}
uint8_t softstart_led(uint8_t led, uint16_t startval, uint16_t stopval, uint8_t factor){
static uint8_t lastled = 255; static uint8_t lastled = 255;
static uint8_t current_pwm = 0; static float current_pwm = 0;
static float stepsize = 1.0;
if(led != lastled){ if(led != lastled){
pwmController.setChannelPWM(led, startval); pwmController.setChannelPWM(led, (uint16_t)startval);
lastled = led; lastled = led;
current_pwm = startval; current_pwm = startval;
stepsize = 20*abs(stopval - startval)/(float)time_per_stair; // only valid at 1ms function call interval
return 1; return 1;
} }
if(current_pwm == stopval){ if(current_pwm > stopval - stepsize && current_pwm < stopval + stepsize) return 0;
return 0; // todo: duty cycle zero!
} if(startval > stopval){
current_pwm -= stepsize;
else if(startval > stopval){
current_pwm -= 1;
} }
else { else {
current_pwm += 1; current_pwm += stepsize;
} }
pwmController.setChannelPWM(led, current_pwm*factor); Serial.println((uint16_t)current_pwm);
pwmController.setChannelPWM(led, (uint16_t)current_pwm);
return 1; return 1;
} }
#define LEDCOUNT 16 #define LEDCOUNT 16
void ledsequence(uint8_t direction, uint8_t onoff, uint8_t factor){ void ledsequence(uint8_t direction, uint8_t onoff){
static int8_t led = 0; static int8_t led = 0;
static uint8_t brightness = 0; static uint16_t brightness = 0;
static uint8_t lastbrightness = 0; static uint16_t lastbrightness = 0;
static uint8_t finish = 1; static uint8_t finish = 1;
static uint32_t status = 0; static uint16_t status = 0;
uint32_t status_build = 0; uint16_t status_build = 0;
status_build |= direction << 16; status_build |= direction << 8;
status_build |= onoff << 8; status_build |= onoff;
status_build |= factor;
if(status_build != status){ // check if any parameter changed if(status_build != status){ // check if any parameter changed
finish = 0; // set state unfinished -> start action finish = 0; // set state unfinished -> start action
if(direction) led = 0; // reset led counter depending of direction if(direction) led = 0; // reset led counter depending of direction
else led = LEDCOUNT-1; else led = LEDCOUNT-1;
if(onoff){ if(onoff){
brightness = 127; // set brightness value depending of on/off brightness = 2048; // set brightness value depending of on/off
lastbrightness = 0; lastbrightness = 200;
} }
else{ else{
brightness = 0; brightness = 200;
lastbrightness = 127; lastbrightness = 2048;
} }
status = status_build; // set parameter memory status = status_build; // set parameter memory
Serial.print("----Status Changed! onoff: "); Serial.print("----Status Changed! onoff: ");
@@ -233,8 +159,8 @@ void ledsequence(uint8_t direction, uint8_t onoff, uint8_t factor){
} }
if(!finish){ // finish == 0 -> action pending if(!finish){ // finish == 0 -> action pending
if(!softstart_led(led,lastbrightness, brightness, factor)){ if(!softstart_led(led,lastbrightness, brightness)){
Serial.print("one LED finished, new set led: "); Serial.print("one LED finished: ");
Serial.print(led); Serial.print(led);
Serial.print(" last: "); Serial.print(" last: ");
Serial.print(lastbrightness); Serial.print(lastbrightness);
@@ -258,26 +184,57 @@ void ledsequence(uint8_t direction, uint8_t onoff, uint8_t factor){
} }
} }
uint32_t _t=0;
#define SP_US(_str,_a) Serial.print(_str); Serial.print(" took: "); Serial.print(_a); Serial.println("us") void setup() {
#define TIMEIF_US(_f, _l, _str) _t=micros(); _f; _t=micros()-_t; if(_t > _l) { SP_US(_str, _t); } #ifdef WITH_DEBUGGING_ON
Serial.begin(460800);
gdbstub_init();
#else
Serial.begin(115200);
#endif
Serial.println(F("Booting ...."));
pinMode(NODEMCU_LED, OUTPUT);
pinMode(ESP12_LED, OUTPUT);
Wire.begin(); // Wire must be started first
Wire.setClock(1000000); // Supported baud rates are 100kHz, 400kHz, and 1000kHz
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
while (WiFi.waitForConnectResult() != WL_CONNECTED) {
Serial.println("Connection Failed! Rebooting...");
delay(5000);
ESP.restart();
}
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
ota_setup();
httpServer.start();
httpServer.onNotFound(handleNotFound);
Serial.println("HTTP server started !");
setup_pwm_pca9685();
Serial.println("PCA9685 connected !");
os_timer_setfn(&timer1, timerCallback, &timer_flag);
os_timer_arm(&timer1, 20, true);
}
void loop() { void loop() {
if(millis() - dimmtimer > 2){
//ledsequence(direction, onoff, 4);
dimmtimer = millis();
}
if(millis() > 25000 && onoff == 1 && direction == 1) onoff = 0; if(millis() > 25000 && onoff == 1 && direction == 1) onoff = 0;
if(millis() > 35000 && direction == 1){ if(millis() > 45000 && direction == 1){
onoff = 1; onoff = 1;
direction = 0; direction = 0;
} }
TIMEIF_US(ArduinoOTA.handle(), 1000, "OTA"); TIMEIF_US(ArduinoOTA.handle(), 1000, "OTA");
TIMEIF_US(httpServer.handleClient(), 1000, "HTTP"); TIMEIF_US(httpServer.handleClient(), 1000, "HTTP");
if(flag) {
flag = 0;
ledsequence(direction, onoff, 4);
//Serial.printf("[%lu] interrupt\n\r", millis());
}
} }
View File
Whitespace-only changes.