Мне нужна помощь в сохранении целочисленного типа данных через последовательную связь. Моя установка прямо сейчас - это микроконтроллер Arduino, считывающий датчик температуры, который выводит число с плавающей точкой через модуль XBee через последовательный порт, который выглядит следующим образом: например, 76,82.
Приемник XBee подключен к моему компьютеру, на котором программа на Python читает, используя метод readline()
из последовательного модуля. Однако, когда я делаю readline()
, я получаю b'76.66\r\n'
. Как удалить все символы и просто сохранить цифры в исходном виде?
Вот мой код Python:
import serial
ser = serial.Serial(6)
while True:
x = ser.readline();
print(x)
Вот мой код для Arduino:
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 3
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
DeviceAddress Thermometer = { 0x28, 0x36, 0x0F, 0xB0, 0x02, 0x00, 0x00, 0xF0 };
void setup(void)
{
Serial.begin(9600);
sensors.begin();
sensors.setResolution(Thermometer, 12);
}
void printTemperature(DeviceAddress deviceAddress)
{
float tempC = sensors.getTempC(deviceAddress);
Serial.println(DallasTemperature::toFahrenheit(tempC));
}
void loop(void)
{
delay(5000);
sensors.requestTemperatures();
printTemperature(Thermometer);
}