import serial # import Serial Library
import numpy as np # Import numpy
import adafruit_max31856
import matplotlib.pyplot as plt #import matplotlib library
from drawnow import *
import datetime
import math
import csv
T1= []
T2=[]
plt.ion()
cnt=0
##def animate(line):
## pullData = open('C:\\Users\\Alphinity\\Desktop\\python3\\signalSerial.txt','r').read()
## dataArray = pullData.split('\n')
## xar=[]
## yar=[]
## for eachLine in dataArray:
## if len(eachLine)>1:
## x,y = eachLine.split(',')
## xar.append(float(x))
## yar.append(float(x))
##
## ax1.plot(xar,yar)
##ani = animation.FuncAnimation(fig,animate, interval=100)
def makeFig(): #Create a function that makes our desired plot
plt.ylim(80,90) #Set y min and max values
plt.title('My Live Streaming Sensor Data') #Plot the title
plt.grid(True) #Turn the grid on
plt.ylabel('Temp T1') #Set ylabels
plt.plot(T1, 'ro-', label='Degrees F') #plot the temp1
plt.legend(loc='upper left') #plot the legend
plt2=plt.twinx() #Create a second y axis
plt.ylim(93450,93525) #Set limits of second y axis- adjust to readings you are getting
plt2.plot(T2, 'b^-', label='Degrees F') #plot temp2 data
plt2.set_ylabel('Degrees F') #label second y axis
plt2.ticklabel_format(useOffset=False)
plt2.legend(loc='upper right') #plot the legend
## user-defined params
serialPort = 'COM3' ## the serial device
path = 'C:\\Users\\Alphinity\\Desktop\\python3\\' ## the output file path
outputFile = "signalSerial.csv" ## the output file name
ser = serial.Serial('COM3', 115200)
outputFile = path + outputFile
f = open(outputFile,'w') #create and/or open a file and give the command to write the informations
f.write(outputFile) #write inside the file created
f.close()
print ("Writing the serial stream into file: " + outputFile)
print (" [to see the stream: tail -f '+outputFile+' ]")
print (" [to exit: ctrl+c (the elegant way :) ]")
while True: # While loop that loops forever
line = ser.readline()
string = line
T1 = float(string[0]) #Convert first element to floating number and put in T1
T2 = float(string[1]) #Convert second element to floating number and put in T2
T1.append(T1)
T2.append(T2)
drawnow(makeFig)
plt.pause(.000001)
cnt=cnt+1
if(cnt>50):
T1.pop(0)
T2.pop(0)
if (string != ''):
f = open(outputFile, 'a')
f.write(str(string))
f.write("\n")
f.close()
#plt.show(string.decode())
#print (string) ## uncomment to see the values in the terminal
print(string.decode()) ## ctrl+c to stop the code
valueRead.decode().strip()-----------------------------I'm getting always this error, I need to show in real time a graph and save in a file everytime new.
Error: T1.append(T1) #Build our tempF array by appending temp readings
AttributeError: 'float' object has no attribute 'append'
----------------------Thank you so much for how can help me
