added gzip for webpage and preprocessor timing wrapper

This commit is contained in:
Simon Schmidt 2021-06-11 00:01:04 +02:00
parent dbf2d51769
commit 03d9f87159
11 changed files with 5757 additions and 77 deletions

5
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,5 @@
{
"files.associations": {
"random": "cpp"
}
}

View File

@ -1,20 +1,34 @@
import os import os, gzip
# https://www.mischianti.org/2020/10/26/web-server-with-esp8266-and-esp32-byte-array-gzipped-pages-and-spiffs-2/
# https://stackoverflow.com/questions/49449430/python-bytes-to-c-array-like-xxd-program/49450004 def convert_to_gzip(src, out, f):
def bytes_to_c_arr(data, lowercase=True): input_file = f'{src}{f}'
return [format(b, '#04x' if lowercase else '#04X') for b in data] output_file = f'{out}{f}.gz.h'
output_charp = f'{f.replace(".", "_")}_gz'
src = 'include/http' top = ''
out = 'include' with open(input_file, 'rb') as f_in:
gz = gzip.compress(f_in.read())
gzlen = len(gz)
top += f'// filename: {f}.gz.h\n'
top += f'#define {output_charp}_len {gzlen}\n'
top += f'const char {output_charp}[] = '
top += '{'
with open(output_file, 'wb') as f_out:
for i, b in enumerate(gz):
if not i%10:
top += '\n '
top += f'0x{b:02X}, '
top = top[:-2]
top += '};'
f_out.write(top.encode(encoding='utf-8'))
src='include/http/'
out='include/'
for f in os.listdir(src): for f in os.listdir(src):
with open(f'{src}/{f}', 'rb') as f_in: convert_to_gzip(src, out, f)
with open(f'{out}/{f}.h', 'wb') as f_out:
buf = 'const char {}[] = {{{}}};'.format(
f.replace('.', '_'),
', '.join(bytes_to_c_arr(f_in.read()))
)
f_out.write(buf.encode(encoding='ascii'))

5500
include/firefox.png.gz.h Normal file

File diff suppressed because it is too large Load Diff

BIN
include/http/firefox.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

View File

@ -1,19 +1,23 @@
<!DOCTYPE html>
<html> <html>
<head>
<meta charset="utf-8">
<title>My test page</title>
<link href="http://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet" type="text/css">
<link href="styles/style.css" rel="stylesheet" type="text/css">
</head>
<body>
<h1>Mozilla is cool</h1>
<p>At Mozilla, were a global community of</p>
<head> <ul> <!-- changed to list in the tutorial -->
<meta http-equiv='refresh' content='5' /> <li>technologists</li>
<title>ESP8266 Demo</title> <li>thinkers</li>
<style> <li>builders</li>
body { </ul>
background-color: #cccccc;
font-family: Arial, Helvetica, Sans-Serif;
Color: #000088;
}
</style>
</head>
<body> <p>working together to keep the Internet alive and accessible, so people worldwide can be informed contributors and creators of the Web. We believe this act of human collaboration across an open platform is essential to individual growth and our collective future.</p>
<h1>Hello from ESP8266!</h1>
</body>
<p>Read the <a href="https://www.mozilla.org/en-US/about/manifesto/">Mozilla Manifesto</a> to learn even more about the values and principles that guide the pursuit of our mission.</p>
</body>
</html> </html>

41
include/http/style.css Normal file
View File

@ -0,0 +1,41 @@
html {
font-size: 10px;
font-family: 'Open Sans', sans-serif;
}
h1 {
font-size: 60px;
text-align: center;
}
p, li {
font-size: 16px;
line-height: 2;
letter-spacing: 1px;
}
html {
background-color: #00539F;
}
body {
width: 600px;
margin: 0 auto;
background-color: #FF9500;
padding: 0 20px 20px 20px;
border: 5px solid black;
}
h1 {
margin: 0;
padding: 20px 0;
color: #00539F;
text-shadow: 3px 3px 1px black;
}
img {
display: block;
margin: 0 auto;
}

60
include/index.html.gz.h Normal file
View File

@ -0,0 +1,60 @@
// filename: index.html.gz.h
#define index_html_gz_len 569
const char index_html_gz[] = {
0x1F, 0x8B, 0x08, 0x00, 0x37, 0x8A, 0xC2, 0x60, 0x02, 0xFF,
0x8D, 0x53, 0x4D, 0x6F, 0xD4, 0x30, 0x10, 0xBD, 0xF7, 0x57,
0x4C, 0x73, 0xA5, 0x1B, 0xAB, 0x37, 0x84, 0xB2, 0x41, 0x08,
0x38, 0x70, 0xA8, 0x8A, 0x28, 0x08, 0x71, 0x74, 0x9C, 0x49,
0x62, 0xD5, 0xF1, 0x58, 0xF6, 0xB8, 0x61, 0x39, 0xF1, 0x37,
0xF8, 0x7B, 0xFC, 0x12, 0xC6, 0xCE, 0x16, 0x15, 0xF5, 0xC2,
0x65, 0x93, 0xCC, 0xD7, 0x7B, 0x6F, 0xE6, 0x6D, 0x77, 0xF9,
0xEE, 0xF6, 0xED, 0xE7, 0x6F, 0x1F, 0xDF, 0xC3, 0xC2, 0xAB,
0xEB, 0x2F, 0xBA, 0xFD, 0x01, 0xD0, 0x2D, 0xA8, 0xC7, 0xF2,
0x22, 0xAF, 0x2B, 0xB2, 0x06, 0xB3, 0xE8, 0x98, 0x90, 0x8F,
0x4D, 0xE6, 0xE9, 0xF0, 0xB2, 0x39, 0xA7, 0xD8, 0xB2, 0xC3,
0xFE, 0xE6, 0x04, 0x8C, 0x89, 0x21, 0xE8, 0x19, 0x3B, 0xB5,
0xC7, 0xF6, 0xBC, 0xB3, 0xFE, 0x1E, 0x96, 0x88, 0xD3, 0xB1,
0x59, 0x98, 0xC3, 0x2B, 0xA5, 0x26, 0xF2, 0x9C, 0xDA, 0x99,
0x68, 0x76, 0xA8, 0x83, 0x4D, 0xAD, 0xA1, 0x55, 0x99, 0x94,
0x5E, 0x4F, 0x7A, 0xB5, 0xEE, 0x74, 0xBC, 0x0D, 0xE8, 0x5F,
0xDC, 0x69, 0x9F, 0x1A, 0x88, 0xE8, 0x8E, 0x4D, 0xE2, 0x93,
0xC3, 0xB4, 0x20, 0x72, 0x03, 0x7C, 0x0A, 0x78, 0x6C, 0x18,
0xBF, 0x73, 0xE9, 0x68, 0x9E, 0x63, 0xEC, 0xC5, 0xAA, 0x3E,
0xDA, 0x52, 0xF2, 0x5F, 0x33, 0x3A, 0xF5, 0x28, 0xB6, 0x1B,
0x68, 0x3C, 0x9D, 0xC7, 0x2E, 0xD7, 0xFD, 0x0D, 0xFD, 0xB0,
0xCE, 0x69, 0xB0, 0x09, 0x0C, 0x91, 0x93, 0xBA, 0xEB, 0x73,
0x32, 0xF4, 0x6F, 0x18, 0xCE, 0xE9, 0x2B, 0xD8, 0xF0, 0xF7,
0xCF, 0x5F, 0x11, 0x41, 0xC3, 0xEC, 0x68, 0xD0, 0x4E, 0xAA,
0xD7, 0x35, 0x7B, 0xCB, 0x27, 0xA0, 0xA9, 0x53, 0xA1, 0xBF,
0xD8, 0xBB, 0xB2, 0xEB, 0xA1, 0xBB, 0x3C, 0x1C, 0xCA, 0x32,
0xFD, 0x8C, 0x23, 0x30, 0x81, 0xB3, 0xB2, 0x38, 0xEB, 0x81,
0x17, 0x04, 0xCE, 0x4C, 0xD1, 0x4A, 0xFF, 0xE1, 0xB0, 0xE3,
0x54, 0x75, 0x3D, 0xA3, 0x59, 0x3C, 0x39, 0x9A, 0xA5, 0x34,
0x75, 0x4A, 0x22, 0x4F, 0x93, 0x8B, 0xC8, 0xC7, 0xF8, 0x2C,
0x3E, 0x64, 0xEB, 0xC6, 0x7F, 0xE2, 0x9D, 0x12, 0xFC, 0x8B,
0x47, 0xFE, 0x1B, 0xC5, 0x7B, 0xEB, 0x67, 0xA1, 0x30, 0xA3,
0x60, 0xC7, 0xC2, 0xE5, 0x1E, 0x31, 0x54, 0x22, 0x1F, 0x3C,
0x63, 0xF4, 0xC8, 0xA0, 0x9D, 0x7D, 0x10, 0x5D, 0x7E, 0x04,
0x6D, 0x0C, 0xA6, 0x64, 0x07, 0x87, 0x57, 0x90, 0x08, 0x02,
0x52, 0x70, 0x08, 0x32, 0xC5, 0x8D, 0x9B, 0x1D, 0x11, 0x8C,
0xF6, 0x30, 0xA0, 0x28, 0x99, 0x28, 0xAE, 0x22, 0xCD, 0xC8,
0x9D, 0xA3, 0x1D, 0x8A, 0xA2, 0x54, 0x07, 0x98, 0x88, 0xBA,
0x7E, 0xD0, 0x54, 0x31, 0xBE, 0xE2, 0xD0, 0xCA, 0x8F, 0x34,
0x39, 0x8B, 0x02, 0x22, 0x42, 0xA4, 0xD0, 0x70, 0xC9, 0x2F,
0x79, 0x95, 0x71, 0x86, 0x64, 0xBB, 0x03, 0x45, 0xCD, 0x96,
0xBC, 0xA4, 0x22, 0xA5, 0x32, 0x0A, 0x48, 0x2C, 0x02, 0xC1,
0x69, 0x2E, 0x50, 0xE5, 0x38, 0x42, 0x0C, 0x3D, 0x97, 0xC5,
0x89, 0x08, 0xEB, 0x47, 0xFB, 0x60, 0xC7, 0x2C, 0x5F, 0x73,
0xA4, 0x8D, 0x97, 0x8A, 0x4E, 0x39, 0xD6, 0x79, 0x68, 0xB8,
0x28, 0x9A, 0x32, 0xE7, 0x88, 0xED, 0x93, 0xDB, 0x84, 0xFE,
0x93, 0x98, 0xA0, 0x32, 0xEB, 0xF4, 0x13, 0xCB, 0x26, 0xF1,
0xEC, 0xB6, 0x6D, 0xED, 0xBA, 0x1F, 0xBB, 0xA5, 0x38, 0x2B,
0xF4, 0x87, 0x2F, 0x77, 0x4A, 0xA8, 0x65, 0x56, 0x42, 0xD4,
0x4E, 0x62, 0x7E, 0x52, 0xCD, 0x5F, 0xBF, 0xDC, 0x3C, 0xC6,
0x3A, 0xA5, 0xFB, 0x7A, 0x64, 0xD4, 0xD1, 0x83, 0xA8, 0xF4,
0xB0, 0x52, 0x31, 0x4A, 0x69, 0xAD, 0x58, 0x0F, 0xDA, 0x65,
0xDC, 0x17, 0x14, 0xA2, 0xF5, 0xC6, 0xCA, 0x56, 0x93, 0x64,
0x34, 0xC3, 0x9C, 0xCB, 0x5E, 0x4B, 0x51, 0xC8, 0x31, 0x65,
0x5B, 0x37, 0x53, 0x74, 0xAC, 0x56, 0x0E, 0x41, 0x7E, 0x67,
0x5F, 0xEE, 0xBA, 0xBB, 0x56, 0xEC, 0x59, 0xFF, 0xBC, 0x7F,
0x00, 0x2D, 0xEF, 0xEA, 0xF3, 0xD4, 0x03, 0x00, 0x00};

View File

@ -1 +0,0 @@
const char index_html[] = {0x3c, 0x68, 0x74, 0x6d, 0x6c, 0x3e, 0x0d, 0x0a, 0x0d, 0x0a, 0x3c, 0x68, 0x65, 0x61, 0x64, 0x3e, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x20, 0x68, 0x74, 0x74, 0x70, 0x2d, 0x65, 0x71, 0x75, 0x69, 0x76, 0x3d, 0x27, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x27, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3d, 0x27, 0x35, 0x27, 0x20, 0x2f, 0x3e, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, 0x45, 0x53, 0x50, 0x38, 0x32, 0x36, 0x36, 0x20, 0x44, 0x65, 0x6d, 0x6f, 0x3c, 0x2f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x7b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x2d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x20, 0x23, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x6f, 0x6e, 0x74, 0x2d, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x3a, 0x20, 0x41, 0x72, 0x69, 0x61, 0x6c, 0x2c, 0x20, 0x48, 0x65, 0x6c, 0x76, 0x65, 0x74, 0x69, 0x63, 0x61, 0x2c, 0x20, 0x53, 0x61, 0x6e, 0x73, 0x2d, 0x53, 0x65, 0x72, 0x69, 0x66, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x20, 0x23, 0x30, 0x30, 0x30, 0x30, 0x38, 0x38, 0x3b, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x0d, 0x0a, 0x3c, 0x2f, 0x68, 0x65, 0x61, 0x64, 0x3e, 0x0d, 0x0a, 0x0d, 0x0a, 0x3c, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x0d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x68, 0x31, 0x3e, 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x45, 0x53, 0x50, 0x38, 0x32, 0x36, 0x36, 0x21, 0x3c, 0x2f, 0x68, 0x31, 0x3e, 0x0d, 0x0a, 0x3c, 0x2f, 0x62, 0x6f, 0x64, 0x79, 0x3e, 0x0d, 0x0a, 0x0d, 0x0a, 0x3c, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x3e};

31
include/style.css.gz.h Normal file
View File

@ -0,0 +1,31 @@
// filename: style.css.gz.h
#define style_css_gz_len 279
const char style_css_gz[] = {
0x1F, 0x8B, 0x08, 0x00, 0x37, 0x8A, 0xC2, 0x60, 0x02, 0xFF,
0x6D, 0x91, 0xCF, 0x6E, 0xC3, 0x20, 0x0C, 0xC6, 0xEF, 0x3C,
0x85, 0xA5, 0x1D, 0x7A, 0x29, 0x12, 0x6D, 0x95, 0x4A, 0x25,
0xF7, 0x5C, 0x7B, 0xD8, 0x13, 0x90, 0x40, 0xC0, 0x1A, 0x01,
0x04, 0x54, 0x6D, 0x37, 0xF5, 0xDD, 0x47, 0x58, 0xBA, 0x3F,
0xED, 0x0E, 0x80, 0x64, 0x7F, 0xFE, 0xF9, 0xB3, 0x31, 0x79,
0xB2, 0xF0, 0x41, 0x00, 0x46, 0xEF, 0x32, 0x4D, 0xF8, 0xAE,
0x38, 0x6C, 0x58, 0xB8, 0xB4, 0xF7, 0xD0, 0x28, 0x26, 0xB4,
0x57, 0x0E, 0xAB, 0x63, 0x50, 0x0E, 0x5E, 0x85, 0x4B, 0xAB,
0x35, 0xA4, 0xF2, 0xD0, 0xA4, 0x22, 0x8E, 0x2D, 0xB9, 0x11,
0x42, 0xCC, 0xE6, 0x91, 0xB1, 0x5F, 0x18, 0x59, 0x5D, 0x32,
0x15, 0x16, 0xB5, 0xE3, 0x30, 0x28, 0x97, 0x55, 0xAC, 0x15,
0x61, 0x0D, 0x16, 0x9F, 0xFA, 0xEE, 0xBF, 0x6A, 0x2C, 0x3A,
0x45, 0x8D, 0x42, 0x6D, 0x32, 0x87, 0x6D, 0x8D, 0xA8, 0x5C,
0x2A, 0x69, 0x0A, 0x62, 0x40, 0xA7, 0x8B, 0x72, 0x16, 0xD6,
0xC6, 0x77, 0xFB, 0xBD, 0x18, 0xDE, 0x74, 0xF4, 0x27, 0x27,
0xE9, 0xE0, 0xAD, 0x8F, 0x1C, 0x5E, 0x18, 0x6B, 0x76, 0x87,
0xAE, 0xEA, 0x7A, 0x2F, 0xAF, 0x55, 0x76, 0x46, 0x99, 0xCD,
0xEC, 0x6E, 0xB1, 0x37, 0x89, 0xA8, 0xB1, 0x58, 0x63, 0x20,
0x4E, 0xD9, 0xB7, 0xFF, 0x83, 0xBA, 0xEE, 0xD0, 0x30, 0x36,
0x27, 0x83, 0x90, 0xB2, 0x1A, 0x60, 0xB0, 0x2D, 0x84, 0x9F,
0xAB, 0x56, 0xFA, 0x28, 0x55, 0xD1, 0x37, 0x25, 0x96, 0xBC,
0x45, 0x09, 0xBD, 0x2D, 0xB0, 0x6A, 0x60, 0x59, 0xD0, 0x77,
0xBB, 0x3F, 0xB0, 0x4A, 0xA9, 0xA1, 0x47, 0xEB, 0xCB, 0xFE,
0x92, 0x11, 0xD2, 0x9F, 0x39, 0xEC, 0x8A, 0x6E, 0x3E, 0x65,
0xFC, 0x5F, 0x6C, 0x9C, 0x74, 0x85, 0x4B, 0x4C, 0xC1, 0x8A,
0xF2, 0x55, 0xBD, 0xF5, 0x73, 0xEA, 0x79, 0xBA, 0x1B, 0xF9,
0x04, 0xE0, 0x3A, 0x1B, 0x2A, 0xEF, 0x01, 0x00, 0x00};

44
includeindex.html.gz.h Normal file
View File

@ -0,0 +1,44 @@
// filename: include/http/index.html.gz.h
// uncompressed: index.html, gzip: 622
#define index_html_gz 622
const char index_html_gz[] = {
0x1F, 0x8B, 0x08, 0x00, 0x22, 0x7E, 0xC2, 0x60, 0x02, 0xFF, 0x8D, 0x54, 0xCD, 0x6E, 0xD4, 0x30,
0x10, 0xBE, 0xF3, 0x14, 0x43, 0xAE, 0x74, 0x63, 0xF5, 0x86, 0xAA, 0x6C, 0x10, 0x82, 0x22, 0x71,
0xA8, 0x8A, 0x68, 0x11, 0xE2, 0xE8, 0x38, 0x93, 0xC4, 0xAA, 0xE3, 0xB1, 0xEC, 0x71, 0xB7, 0xCB,
0x89, 0xD7, 0xE0, 0xF5, 0x78, 0x12, 0xC6, 0xCE, 0xB6, 0x2A, 0xEA, 0x85, 0x4B, 0x12, 0xCF, 0xDF,
0xF7, 0x7D, 0x33, 0xE3, 0x74, 0xAF, 0x3F, 0x5E, 0x7F, 0xB8, 0xFD, 0xF1, 0xE5, 0x12, 0x16, 0x5E,
0x5D, 0xFF, 0xAA, 0xDB, 0x5E, 0x00, 0xDD, 0x82, 0x7A, 0x2C, 0x1F, 0xF2, 0xB9, 0x22, 0x6B, 0x30,
0x8B, 0x8E, 0x09, 0x79, 0xDF, 0x64, 0x9E, 0x76, 0x6F, 0x9B, 0x93, 0x8B, 0x2D, 0x3B, 0xEC, 0xAF,
0x8E, 0xC0, 0x98, 0x18, 0x82, 0x9E, 0xB1, 0x53, 0x9B, 0x6D, 0xF3, 0x3B, 0xEB, 0xEF, 0x60, 0x89,
0x38, 0xED, 0x9B, 0x85, 0x39, 0x5C, 0x28, 0x35, 0x91, 0xE7, 0xD4, 0xCE, 0x44, 0xB3, 0x43, 0x1D,
0x6C, 0x6A, 0x0D, 0xAD, 0xCA, 0xA4, 0xF4, 0x6E, 0xD2, 0xAB, 0x75, 0xC7, 0xFD, 0x75, 0x40, 0xFF,
0xE6, 0x46, 0xFB, 0xD4, 0x40, 0x44, 0xB7, 0x6F, 0x12, 0x1F, 0x1D, 0xA6, 0x05, 0x91, 0x1B, 0xE0,
0x63, 0xC0, 0x7D, 0xC3, 0xF8, 0xC0, 0x25, 0xA3, 0x79, 0x89, 0xB1, 0x05, 0xAB, 0xFA, 0x6A, 0x4B,
0xC8, 0x7F, 0xD5, 0xE8, 0xD4, 0xA3, 0xD8, 0x6E, 0xA0, 0xF1, 0x78, 0x2A, 0xBB, 0x9C, 0xF7, 0x57,
0xF4, 0xD3, 0x3A, 0xA7, 0xC1, 0x26, 0x30, 0x44, 0x4E, 0xE2, 0xCE, 0x4F, 0x4E, 0xBB, 0xCE, 0x90,
0xA2, 0xD9, 0x37, 0x76, 0x15, 0xCD, 0x49, 0x4D, 0x56, 0xF0, 0xE9, 0xA1, 0x0D, 0x7E, 0x6E, 0x40,
0x3B, 0x69, 0xD3, 0xED, 0x82, 0xF0, 0x69, 0xB3, 0x82, 0xA3, 0x99, 0x2E, 0x40, 0xC3, 0xE4, 0x44,
0xA3, 0x9F, 0xA1, 0xD8, 0x52, 0x8E, 0x91, 0xB2, 0x1F, 0xCB, 0x99, 0x25, 0xF6, 0x52, 0x47, 0x5E,
0x5A, 0xE1, 0xB3, 0x01, 0x84, 0xFE, 0x3D, 0xC3, 0x09, 0xFF, 0x0C, 0x0E, 0xF8, 0xE7, 0xD7, 0xEF,
0x88, 0x52, 0x62, 0x76, 0x34, 0x68, 0x27, 0x74, 0xD6, 0x35, 0x7B, 0xCB, 0x47, 0xA0, 0xA9, 0x53,
0xE1, 0x31, 0x2B, 0xBB, 0x1E, 0xBA, 0xD7, 0xBB, 0x5D, 0x99, 0x96, 0x9F, 0x71, 0x04, 0x26, 0x70,
0x56, 0x26, 0x63, 0x7D, 0x05, 0xE1, 0xCC, 0x14, 0xAD, 0xE4, 0xEF, 0x76, 0x9B, 0x90, 0xDA, 0xBE,
0x9E, 0xD1, 0x2C, 0x9E, 0x84, 0xA5, 0x84, 0xA6, 0x4E, 0x89, 0xE5, 0xB9, 0x73, 0x91, 0xFE, 0x62,
0x7C, 0x61, 0x1F, 0xB2, 0x75, 0xE3, 0x3F, 0xF6, 0x4E, 0x09, 0xFE, 0x13, 0xFF, 0x03, 0xC5, 0xBB,
0x2A, 0x8E, 0x66, 0x14, 0xEC, 0x58, 0xB8, 0xDC, 0x21, 0x86, 0x4A, 0xE4, 0xB3, 0x67, 0x8C, 0x1E,
0x59, 0x7A, 0x65, 0xEF, 0x45, 0x97, 0x1F, 0x41, 0x1B, 0x83, 0x29, 0xD9, 0xC1, 0xE1, 0x19, 0x24,
0x82, 0x80, 0x14, 0x1C, 0x82, 0x54, 0x71, 0xE3, 0xC1, 0x8E, 0x08, 0x46, 0x7B, 0x18, 0x50, 0x94,
0x4C, 0x14, 0x57, 0x91, 0x66, 0x64, 0x91, 0xA2, 0x1D, 0x8A, 0xA2, 0x54, 0x0B, 0x98, 0x88, 0xBA,
0x1E, 0x68, 0xAA, 0x18, 0xDF, 0x71, 0x68, 0xE5, 0x21, 0x49, 0xCE, 0xA2, 0x80, 0x88, 0x10, 0x09,
0x34, 0x5C, 0xFC, 0x4B, 0x5E, 0xA5, 0x9C, 0x21, 0xE9, 0xEE, 0x40, 0x51, 0xB3, 0x25, 0x2F, 0xAE,
0x48, 0xA9, 0x94, 0x02, 0x92, 0x1D, 0x84, 0xE0, 0x34, 0x17, 0xA8, 0x32, 0x7D, 0x21, 0x86, 0x9E,
0x4B, 0xE3, 0x44, 0x84, 0x95, 0xA1, 0xDD, 0xDB, 0x31, 0xCB, 0x69, 0x8E, 0x74, 0xE0, 0xA5, 0xA2,
0x53, 0x8E, 0xB5, 0x1E, 0x1A, 0x2E, 0x8A, 0xA6, 0xCC, 0x39, 0x62, 0xFB, 0x6C, 0x36, 0xA1, 0xFF,
0x2A, 0x5B, 0x56, 0x99, 0x75, 0xFA, 0xD9, 0x9D, 0x48, 0x72, 0x29, 0x0E, 0x87, 0x43, 0xBB, 0x6E,
0xC3, 0x6E, 0x29, 0xCE, 0x0A, 0xFD, 0xEE, 0xDB, 0x8D, 0x12, 0x6A, 0x99, 0x95, 0x10, 0xB5, 0x93,
0xDC, 0x2E, 0x52, 0xCD, 0xD3, 0x42, 0x5E, 0x3D, 0xDA, 0x3A, 0xA5, 0xFB, 0x3A, 0x64, 0xD4, 0xD1,
0x83, 0xA8, 0xF4, 0xB0, 0x52, 0x59, 0x94, 0x92, 0x5A, 0xB1, 0xEE, 0xB5, 0xCB, 0xB8, 0x35, 0x28,
0x44, 0xEB, 0x8D, 0x95, 0xAE, 0x26, 0xF1, 0x68, 0x86, 0x39, 0x97, 0xBE, 0x96, 0xA0, 0x90, 0x63,
0xCA, 0xB6, 0x76, 0xA6, 0xE8, 0x58, 0xAD, 0x0C, 0x82, 0xFC, 0xC6, 0xBE, 0xCC, 0x75, 0xBB, 0x16,
0xB2, 0xFF, 0xF5, 0xEF, 0xF0, 0x17, 0x2C, 0x3C, 0x3D, 0x28, 0x35, 0x04, 0x00, 0x00};

View File

@ -1,20 +1,22 @@
#include <Arduino.h> #include <Arduino.h>
#include <Wire.h> #include <Wire.h>
#include "wifi_credentials.h"
#include "PCA9685.h" #include "PCA9685.h"
// OTA & WEB
#include <ESP8266WiFi.h> #include <ESP8266WiFi.h>
#include <ESP8266mDNS.h>
#include <WiFiUdp.h> #include <WiFiUdp.h>
#include <ArduinoOTA.h> #include <ArduinoOTA.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h> #include <ESP8266WebServer.h>
#include <ESP8266mDNS.h> #include <WiFiClient.h> // evtl weghauen ?
#include "wifi_credentials.h" #include "index.html.gz.h"
#include "style.css.gz.h"
#include "index.html.h" // images are possible
// maybe check out FS <- SPIFFS
const char* ssid = STASSID; const char* ssid = STASSID;
const char* password = STAPSK; const char* password = STAPSK;
@ -22,15 +24,19 @@ const char* password = STAPSK;
const int led = 13; const int led = 13;
ESP8266WebServer server(80); ESP8266WebServer server(80);
void handleRoot() { void handleRootGz() {
digitalWrite(led, 1); const char* dataType = "text/html";
// char temp[sizeof(index_html)]; server.sendHeader(F("Content-Encoding"), F("gzip"));
// snprintf(temp, sizeof(index_html), index_html); server.send(200, dataType, (const char*)index_html_gz, index_html_gz_len);
server.send(200, "text/html", index_html);
digitalWrite(led, 0);
} }
void handleCssGz() {
const char* dataType = "text/css";
server.sendHeader(F("Content-Encoding"), F("gzip"));
server.send(200, dataType, (const char*)style_css_gz, style_css_gz_len);
}
void handleNotFound() { void handleNotFound() {
digitalWrite(led, 1); digitalWrite(led, 1);
String message = "File Not Found\n\n"; String message = "File Not Found\n\n";
@ -68,15 +74,11 @@ void setup_webserver() {
Serial.print("IP address: "); Serial.print("IP address: ");
Serial.println(WiFi.localIP()); Serial.println(WiFi.localIP());
if (MDNS.begin("esp8266")) { //server.on("/", handleRoot);
Serial.println("MDNS responder started"); server.on("/", handleRootGz);
} server.on("/styles/style.css", handleCssGz);
server.on("/", handleRoot);
server.on("/inline", []() {
server.send(200, "text/plain", "this works as well");
});
server.onNotFound(handleNotFound); server.onNotFound(handleNotFound);
server.begin(); server.begin();
Serial.println("HTTP server started"); Serial.println("HTTP server started");
} }
@ -157,32 +159,12 @@ void setup() {
} }
uint32_t t;
#define SP_US(_str,_a) Serial.print(_str); Serial.print(" took: "); Serial.print(_a); Serial.println("µs")
unsigned long i = 0; #define TIMEIF_US(_str,_f, _l) t=micros(); _f; t=micros()-t; if(t > _l) { SP_US(_str, t); }
unsigned long a = 0;
unsigned long s = 0;
float ard_ota_time = 0;
float server_handle = 0;
void loop() { void loop() {
a = micros(); TIMEIF_US("OTA", ArduinoOTA.handle(), 20000);
ArduinoOTA.handle();
ard_ota_time += micros()-a;
s = micros(); TIMEIF_US("HTTP", server.handleClient(), 20000);
server.handleClient();
server_handle += micros()-s;
if(++i >= 10000) {
Serial.print("Mittlere Laufzeit\tOTA: ");
Serial.print(ard_ota_time/10000.0);
Serial.print("µs\tHTTP: ");
Serial.print(server_handle/10000.0);
Serial.println("µs");
ard_ota_time = 0;
server_handle = 0;
i = 0;
}
} }