Ich versuche, Daten über TCP zu lesen, zu speichern und gleichzeitig zu plotten. Bisher lese ich die Daten und speichere sie in einer Textdatei, aber ich habe Probleme damit. Die Daten kommen als String und ich konnte nicht herausfinden, wie man es in int oder float umwandelt. Oder wie man die Werte in ein Array zum Plotten übergibt.Wie plotten Daten, die von TCP kommen?
Hier sind meine Codes:
Server:
import socket
import mraa
import time
import numpy
host = '172.20.61.19'
port = 5000
x = mraa.Gpio(20)
x.dir(mraa.DIR_OUT)
s = socket.socket()
s.bind((host, port))
s.listen(1)
c, addr = s.accept()
print "Connection from: " + str(addr)
while True:
x.write(1)
time.sleep(2)
data = x.read()
print str(data)
c.send(str(data))
x.write(0)
time.sleep(0.5)
data = x.read()
print str(data)
c.send(str(data))
s.close()
Auftraggeber:
import socket
from collections import deque
import matplotlib.pyplot as plt
import matplotlib.animation as animation
plt.ion()
fig = plt.figure()
ax = fig.add_subplot(111)
host = '172.20.61.19'
port = 5000
s = socket.socket()
s.connect((host,port))
while True:
data = s.recv(1024)
print data
secPlot = ax.plot(int(data), 'b-')
fig.canvas.draw()
s.close()
Kann mir jemand helfen?
Vielen Dank im Voraus!