2018-03-11 21:30:10 +01:00
|
|
|
#!/usr/bin/env python3
|
2018-04-27 02:03:42 +02:00
|
|
|
import os
|
2018-03-11 21:30:10 +01:00
|
|
|
import crcmod
|
|
|
|
from random import randint
|
2018-04-27 02:03:42 +02:00
|
|
|
from time import sleep
|
2018-03-11 21:30:10 +01:00
|
|
|
|
|
|
|
from config import *
|
|
|
|
|
2018-10-13 14:07:07 +02:00
|
|
|
from update import parse_line, create_database, update_database, update_graphs, upload_graphs
|
2018-03-11 21:30:10 +01:00
|
|
|
|
|
|
|
calc_crc = crcmod.predefined.mkCrcFun(CRC_TYPE)
|
|
|
|
|
|
|
|
def gen_line():
|
2018-04-27 02:03:42 +02:00
|
|
|
values = []
|
|
|
|
|
|
|
|
stored = {name : (minval, maxval) for name, minval, maxval in STORED_VALUES}
|
|
|
|
for name in FORMAT:
|
|
|
|
minval = 0
|
|
|
|
maxval = 1000
|
|
|
|
if name in stored.keys():
|
|
|
|
minval, maxval = stored[name]
|
|
|
|
|
|
|
|
values += [str(randint(minval, maxval))]
|
|
|
|
|
2018-03-11 21:30:10 +01:00
|
|
|
payload = ";".join(values) + ";"
|
|
|
|
crc = calc_crc(payload.encode('ascii'))
|
|
|
|
crc_str = chr((crc & 0xFF00) >> 8) + chr(crc & 0xFF)
|
|
|
|
|
|
|
|
return payload + crc_str + "\r\n"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def main():
|
2018-04-27 02:03:42 +02:00
|
|
|
if not os.path.exists(DATA_FILE) or not os.path.exists(ARCHIVE_DATA_FILE):
|
|
|
|
create_database()
|
|
|
|
sleep(60)
|
|
|
|
|
|
|
|
while True:
|
|
|
|
print("Adding Line...")
|
|
|
|
line = gen_line()
|
|
|
|
parsed = parse_line(line)
|
|
|
|
update_database(parsed)
|
|
|
|
update_graphs()
|
2018-10-13 14:07:07 +02:00
|
|
|
upload_graphs()
|
2018-04-27 02:03:42 +02:00
|
|
|
sleep(60)
|
2018-03-11 21:30:10 +01:00
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
main()
|