Как преобразовать строки в числа с плавающей точкой после отправки через TCP с Python? - PullRequest
0 голосов
/ 10 мая 2018

Привет! Я пытаюсь отправить данные о непрерывной температуре с моего Raspberry Pi 3 на ПК, используя TCP-сокеты с Python.Я не могу отправить значения с плавающей запятой, я отправляю непрерывный поток значений с плавающей запятой в строковом формате и хочу преобразовать все эти значения в типы с плавающей запятой.

Я получаю такие ошибки:

"ValueError: could not convert string to float '25.69'.

Вот мой код сервера (работает на Raspberry Pi), я включил только определенные части:

def dataTransfer(conn):
    # A big loop that sends/receives data until told not to.
    while True:
    reply = GET_OBJ_TEMP()
    reply = str(reply)
    #conn.sendall(str.encode(reply)) # don't have to encode/decode, I think it's only for Python 3
    conn.sendall(reply)
    print("Data has been sent!")
    #conn.close()

s = setupServer()
conn = setupConnection()
dataTransfer(conn)

А вот код клиента (на ПК):

import socket

host = '10.0.0.94'
port = 5560

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host, port))

#while True:
#s.send(str.encode(command))
reply = s.recv(1024)
#print(reply.decode('utf-8'))
#reply2 = reply.decode('utf-8')
reply2 = (repr(reply))
reply2 = float(reply2)
print reply2
print type(reply2)

s.close()

Может ли кто-нибудь помочь мне получить эти значения в виде числа с плавающей запятой или помочь мне напрямую отправить числа с плавающей точкой, они мне нужны, чтобы я мог использовать температурув качестве порогового значения.

...