Я делаю IoT-устройство, которое рассчитывает давление, расход воды и получает координаты устройства.Я использую сокет Python.Мне нужно отправить их в веб-приложение.Тем не менее, я всегда получаю этот вывод:
Подключено: (ip_address, порт)
49 46
Этомой код для отправки в Интернет:
#!/usr/bin/env python3
import socket
HOST = 'my_ip'
PORT = myPort
#Temp storage
pressure = "1.6"
waterflow = "2.6"
latitude = "08.123"
longitude = "124.336"
my_bytes = bytearray()
my_bytes.extend(pressure.encode('latin-1'))
my_bytes.extend(waterflow.encode('latin-1'))
my_bytes.extend(latitude.encode('latin-1'))
my_bytes.extend(longitude.encode('latin-1'))
#Ready to pass data to web
information = [pressure, waterflow, latitude, longitude]
#Open Connection and Establish
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.connect((HOST, PORT))
s.sendall(my_bytes)
и это код, который получает данные:
#!/usr/bin/env python3
import socket
host = 'myHost'
port = myport
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.bind((host, port))
s.listen()
conn, addr = s.accept()
with conn:
print('Connected by: ', addr)
while True:
data = conn.recv(1024)
my_bytes = bytearray(data)
print(my_bytes[0], my_bytes[1])
break
Ожидаемый результат
1,62,6