· 5 years ago · Feb 10, 2020, 08:00 PM
1import serial
2import sqlite3
3import time
4import datetime
5import random
6
7
8
9def create_table():
10 c.execute('CREATE TABLE IF NOT EXISTS TimeCard(unix REAL, datestamp TEXT, keyword TEXT, value TEXT)')
11
12
13
14def dynamic_data_entry():
15 c.execute('SELECT * FROM TimeCard')
16 data = c.fetchall()
17 now = datetime.datetime.now()
18 unix = int(time.time())
19 date = str(datetime.datetime.fromtimestamp(unix).strftime('%Y-%m-%d %H:%M:%S'))
20 value = random.randrange(0, 10)
21
22 c.execute("INSERT INTO TimeCard (unix, datestamp, keyword, value) VALUES (?, ?, ?, ?)",
23 (len(data), date, incomingByte, now))
24
25
26def read_from_db():
27 c.execute('SELECT * FROM TimeCard')
28 data = c.fetchall()
29 #print(data)
30 print(len(data))
31 for row in data:
32 print(row)
33 c.execute('SELECT datestamp FROM TimeCard')
34 timein = c.fetchall()
35 for row in timein:
36 print(row)
37
38
39
40def init_serial(port):
41 PORT = port
42 BAUDRATE = 9600
43 timeout = 1
44 SER = serial.Serial(port=PORT, baudrate=BAUDRATE, timeout=timeout)
45 SER.close()
46 SER.open()
47 time.sleep(1.5)
48 return SER
49
50ser = None
51ser = init_serial('/dev/ttyUSB0')
52
53while (ser.is_open == True):
54 incomingByte = ser.read(21)
55 incomingByte = incomingByte.strip()
56 try:
57 if len(incomingByte) <= 0:
58 pass
59 else:
60 incomingByte = incomingByte.decode("utf-8")
61 print(incomingByte)
62 a = incomingByte
63 conn = sqlite3.connect(incomingByte + '.db')
64 c = conn.cursor()
65 create_table()
66 dynamic_data_entry()
67 conn.commit()
68 ser.close()
69 ser.open()
70 time.sleep(0.5)
71 read_from_db()
72
73 except ValueError:
74 print('Can''t create table of an ivalid card dude')
75 time.sleep(0.5)
76 except UnicodeDecodeError:
77 print('Not a valid card')
78 time.sleep(0.5)
79
80
81read_from_db()