Я собираю значения температуры от 4 датчиков, подключенных к каждому из больших ядер ЦП на Odroid XU4 с течением времени. Я хочу построить график температуры (температурного градиента) на блок-схеме 4 больших ядер, показанных ниже:
До сих пор я следил за другим ответом по той же проблеме, но я не смог найти решение для своего. Я могу прочитать значения температуры, отправленные с термодатчиков (датчик 0-4) ядер ЦП, следующим образом:
def read_file(fname):
import string
with open(fname) as f:
lines = [line.rstrip('\n') for line in f]
sensor0 = []
sensor1 = []
sensor2 = []
sensor3 = []
for each_line in lines:
if "sensor0" in each_line:
this_value = each_line[10:len(each_line)]
sensor0.append(this_value)
if "sensor1" in each_line:
this_value = each_line[10:len(each_line)]
sensor1.append(this_value)
if "sensor2" in each_line:
this_value = each_line[10:len(each_line)]
sensor2.append(this_value)
if "sensor3" in each_line:
this_value = each_line[10:len(each_line)]
sensor3.append(this_value)
print("\nProcessed file!\n" + fname)
reduction = 1000
sensor0 = map(float, sensor0)
sensor0V = [temp / reduction for temp in sensor0]
sensor1 = map(float, sensor1)
sensor1V = [temp / reduction for temp in sensor1]
sensor2 = map(float, sensor2)
sensor2V = [temp / reduction for temp in sensor2]
sensor3 = map(float, sensor3)
sensor3V = [temp / reduction for temp in sensor3]
plot(sensor0V,"Time interval of 0.1 sec on Sensor 0")
plot(sensor1V,"Time interval of 0.1 sec on Sensor 1")
plot(sensor2V,"Time interval of 0.1 sec on Sensor 2")
plot(sensor3V,"Time interval of 0.1 sec on Sensor 3")
def plot(Y,xLabel):
import matplotlib.pyplot as plt
plt.plot(Y)
plt.ylabel('Temperature variance over time (0.1 sec)')
plt.xlabel(xLabel)
plt.show()
def main():
fname = "Temp_all.txt"
read_file(fname)
if __name__ == '__main__':
main()
В настоящее время, используя вышеупомянутый код, я получаю что-то вроде этого:
Может ли кто-нибудь помочь мне изобразить температуру на верхней части блок-диаграммы больших ядер как температурный градиент во времени?
Дата, хранящаяся в каждом списке датчиков, выглядит следующим образом:
sensor0 = ['6500', '7000', '8500', '8600']. Здесь 6500 обозначает
температура, 65, в градусах Цельсия.
Пример температурного градиента показан на диаграмме ниже: