Wil waarde en tijd van de temperatuursensor MPC9808 wegschrijven naar een log file.
Weet dat de temperatuur waarde eerst wordt wegeschreven naar /sys/bus/w1/devices/28-0115a4f575ff/w1_slave.
w1_slave
6b 01 4b 46 7f ff 0c 10 fb : crc=fb YES
6b 01 4b 46 7f ff 0c 10 fb t=22687
Vanuit deze file wordt de temperatuur gelezen en weggeschreven naar de log file.
Output file is cpu_temp.csv
Python script.
Weggeschreven waardes naar logfile cpu_temp.csv
2017-02-04 15:15:38,22.1875
2017-02-04 15:15:48,22.125
2017-02-04 15:15:58,22.125
2017-02-04 15:16:08,22.125
2017-02-04 15:16:18,22.125
Graag hulp voor dit probleem
Weet dat de temperatuur waarde eerst wordt wegeschreven naar /sys/bus/w1/devices/28-0115a4f575ff/w1_slave.
w1_slave
6b 01 4b 46 7f ff 0c 10 fb : crc=fb YES
6b 01 4b 46 7f ff 0c 10 fb t=22687
Vanuit deze file wordt de temperatuur gelezen en weggeschreven naar de log file.
Output file is cpu_temp.csv
Python script.
Python:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| import subprocess import logging import time from time import sleep, gmtime, strftime import smbus #Constant things, that don't change during run. t_reg = 0x05 address = 0x18 bus = smbus.SMBus(1) # change to 0 for older RPi revision def get_temp(): #The reading variable changes every time you run get_temp() reading = bus.read_i2c_block_data(address, t_reg) t = (reading[0] << 8) + reading[1] temp = t & 0x0FFF temp /= 16.0 if (t & 0x1000): temp -= 256 return(temp) with open("cpu_temp.csv", "a") as log: while True: temp = get_temp() log.write("{0},{1}\n".format(strftime("%Y-%m-%d %H:%M:%S"),str(temp))) time.sleep(10) |
Weggeschreven waardes naar logfile cpu_temp.csv
2017-02-04 15:15:38,22.1875
2017-02-04 15:15:48,22.125
2017-02-04 15:15:58,22.125
2017-02-04 15:16:08,22.125
2017-02-04 15:16:18,22.125
Graag hulp voor dit probleem
[ Voor 0% gewijzigd door Creepy op 04-02-2017 23:16 ]