Я пытаюсь отправить данные из симуляции Simulink в Raspberry Pi в той же сети и записать данные в формате CSV. Я использую следующий python код для чтения данных и записи их в файл CSV.
import csv
import socket
TCP_IP = '192.168.1.8'
TCP_PORT = 47899
BUFFER_SIZE = 20
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind((TCP_IP, TCP_PORT))
s.listen(4)
data_rcv=''
conn, addr = s.accept()
with open('mycsv.csv','w') as csvfile:
# csvfile.write(u'\ufeff'.encode('utf8'))
writer = csv.writer(csvfile)
writer.writerow(["Value"])
print 'Connection address:',addr
while 1:
data = conn.recv(BUFFER_SIZE)
if not data: break
data_rcv += data
with open('mycsv.csv','a') as csvfile:
# csvfile.read(u'\ufeff'.encode('utf8'))
reader = csv.writer(csvfile)
reader.writerow(data_rcv)
conn.close()
Это мое простое симуляционное моделирование для проверки соединения ..
Связь в порядке и работает. Каждый раз, когда я запускаю симуляцию, в моем CSV-файле записываются случайные китайские иероглифы вместо цифр, которые я на самом деле отправлял. Как я могу изменить формат данных, чтобы он действительно читался? И как я могу настроить свою программу для непрерывного чтения и записи смоделированных данных в реальном времени в файл CSV ??