project_power-bank/Code/vLogger.py
2020-01-11 17:55:15 +00:00

51 lines
1.2 KiB
Python

#!/usr/bin/python3
import serial
import syslog
from datetime import datetime
import time
import csv
import serial.tools.list_ports
while True:
myports = [tuple(p) for p in list(serial.tools.list_ports.comports())]
port1 = '/dev/ttyUSB0'
port2 = '/dev/ttyUSB1'
ports = [port1, port2]
collecting = False
for x in myports:
for port in ports:
if port in x:
try:
print("Trying port " + str(port))
ser = serial.Serial(port,9600,timeout=5)
print("Running on port: " + str(port))
collecting = True
except:
print("Failed to open " + str(port))
while collecting:
try:
ser.reset_input_buffer()
raw_msg = ser.readline()
msg = raw_msg.rstrip().decode('utf-8')
with open('test.csv', 'a+', newline='') as csvfile:
spamwriter = csv.writer(csvfile, delimiter=',', quotechar='|', quoting=csv.QUOTE_MINIMAL)
if msg != "":
now = datetime.now()
dt_string = now.strftime("%d/%m/%Y %H:%M:%S")
spamwriter.writerow([dt_string, msg])
if msg != "":
time.sleep(2)
except:
print("Error on port " + str(port)+ " ,terminating")
collecting = False
time.sleep(2)
print("Stopped.")
# caffeine.off()