@@ -1,6 +1,7 @@ | |||
.pio | |||
.vscode | |||
compress | |||
data_gz | |||
platformio.ini | |||
include/wifi_credentials.h | |||
include/*.gz.h |
@@ -0,0 +1,38 @@ | |||
#!/usr/bin/python3 | |||
import os, gzip | |||
# https://www.mischianti.org/2020/10/26/web-server-with-esp8266-and-esp32-byte-array-gzipped-pages-and-spiffs-2/ | |||
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' | |||
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='data/' | |||
out='compress/' | |||
if not 'compress' in os.listdir(): | |||
os.mkdir('compress') | |||
for f in os.listdir(src): | |||
convert_to_gzip(src, out, f) |
@@ -1,38 +1,15 @@ | |||
#!/usr/bin/python3 | |||
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/8156707/gzip-a-file-in-python | |||
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_dir='data' | |||
out_dir='data_gz' | |||
top = '' | |||
with open(input_file, 'rb') as f_in: | |||
gz = gzip.compress(f_in.read()) | |||
gzlen = len(gz) | |||
if not 'data_gz' in os.listdir(): | |||
os.mkdir('data_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='data/' | |||
out='compress/' | |||
if not 'compress' in os.listdir(): | |||
os.mkdir('compress') | |||
for f in os.listdir(src): | |||
convert_to_gzip(src, out, f) | |||
for f in os.listdir(src_dir): | |||
with open(f'{src_dir}/{f}', 'rb') as f_in: | |||
with gzip.open(f'{out_dir}/{f}.gz', 'wb') as f_out: | |||
f_out.writelines(f_in) |
@@ -68,10 +68,15 @@ TODO: | |||
- maybe compress files ? | |||
LED Flickering issue | |||
### LED Flickering issue | |||
https://github.com/NachtRaveVL/PCA9685-Arduino/issues/15 | |||
PlatformIO Library veraltet !! | |||
PlatformIO Library veraltet | |||
### TIMER in OTA unterbrechen !!!!! | |||
###TIMER in OTA unterbrechen !!!!! | |||
### further improvments | |||
with streamFile gzip encoded Files can be sent | |||
this reduces space on fs ! | |||
new easier script needed to just convert to .gz | |||
maybe measure timings on ESP |