J'essaie de lire des données sur TCP, de les enregistrer et de les tracer en même temps. Jusqu'à présent, je suis en train de lire les données et d'enregistrer dans un fichier texte, mais j'ai un problème avec le tracé. Les données arrivent en tant que chaîne et je ne pouvais pas comprendre comment le convertir en int ou float. Ou comment passer les valeurs dans un tableau à tracer.Comment tracer des données provenant de TCP?
Voici mes codes:
Serveur:
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()
Client:
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()
Quelqu'un peut-il me aider?
Merci d'avance!