import json import socket import pandas as pd import numpy as np import sys sys.path.append("./raspi-i2c") import i2c2 as i2c import matplotlib.pyplot as plt timefrm = "%Y-%m-%d+%H:%M:%S" def get_new_entry(setting={}): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(('localhost', 8888)) s.sendall(json.dumps(setting).encode()) response =json.loads(''.join(e.decode("utf-8") for e in s.recv(1024).split()[5:])) s.close() return response if __name__ == '__main__': pit = i2c.PIT() try: data = pd.read_csv("aggregate.csv") except: data = pd.DataFrame(pd.Series(get_new_entry())).T print(data) for i in range(100): data = data.append( pd.Series(get_new_entry()), ignore_index=True) print(i) # whitespace would be removed when transmitted data.systime = pd.to_datetime(data.systime, format=timefrm) data.to_csv("aggregate.csv", date_format=timefrm, index=False) data.plot('systime', 'pit_mon48v') plt.savefig("aggregate.pdf")