Sitter med ett väderstation på skolan och vi skall läsa data från en UNO/Arduino med hjälp av en RPi B+ i mitt fall.
Allt funkar och datan kommer på löpande band via USB, men jag får en massa extra tecken jag inte vill ha.
RPi kör ett python3 program för att skriva ut på terminalen.
Temperaturen är 22.1 C <- Kommer från RPi som läser en DS18B20
Vindhastighet: b'28.30 m/S\r\n' <- Kommer via USB från en UNO.
Jag vill ha bara ha 28,30 m/s kvar, har testat metoder likt print (f'Vindhastighet: {readText[0:11]}') men det jälper inte, koden ser ut så här.
Det är säkert ett skitfel som vanligt. Men idéer och tips mottages.
Kod: Markera allt
1 #!/usr/bin/python3
2
3 import time
4 import serial
5
6 while 1:
7 ser = serial.Serial('/dev/ttyACM0', 9600)
8 readText = ser.readline()
9 print (f'Vindhastighet: {readText[0:11]}')
10
11
12 tempfil = open('/sys/bus/w1/devices/28-0000095c963e/temperature')
13 temperatur = tempfil.read()
14 print(temperatur)
15 if len(temperatur) > 0:
16 temperaturprint = (float(temperatur) / 1000)
17 temperaturprint = str(temperaturprint)
18 print(f'Temperaturen är {temperaturprint[:4]} C')
19 time.sleep(0.15)
20 tempfil.close()
21