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 bytes_to_c_arr(data, lowercase=True):
return [format(b, '#04x' if lowercase else '#04X') for b in data]
def convert_to_gzip(src, out, f):
input_file = f'{src}{f}'
output_file = f'{out}{f}.gz.h'
output_charp = f'{f.replace(".", "_")}_gz'
src = 'include/http'
out = 'include'
top = ''
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):
with open(f'{src}/{f}', 'rb') as f_in:
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'))
convert_to_gzip(src, out, f)

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>
<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>
<meta http-equiv='refresh' content='5' />
<title>ESP8266 Demo</title>
<style>
body {
background-color: #cccccc;
font-family: Arial, Helvetica, Sans-Serif;
Color: #000088;
}
</style>
</head>
<ul> <!-- changed to list in the tutorial -->
<li>technologists</li>
<li>thinkers</li>
<li>builders</li>
</ul>
<body>
<h1>Hello from ESP8266!</h1>
</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>
</html>
<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>

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