-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathplotit.py
More file actions
103 lines (86 loc) · 3.63 KB
/
Copy pathplotit.py
File metadata and controls
103 lines (86 loc) · 3.63 KB
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#!/usr/bin/env python
#! -*- coding: utf-8 -*-
import json
import matplotlib.pyplot as plt
raw_lines = []
crc_check = []
load_power = []
shunt_voltage_1 = []
shunt_voltage_2 = []
altitude = []
battery_voltage = []
internal_temp = []
battery_power = []
solar_power = []
solar_current = []
timestamp = []
load_current = []
bus_voltage_1 = []
pressure = []
bus_voltage_3 = []
bus_voltage_2 = []
sealevel_pressure = []
load_voltage = []
battery_charge = []
solar_voltage = []
outside_temp = []
outside_humidity = []
battery_current = []
def standard_plot(data, title, ylabel, file_name):
plt.plot(data)
plt.ylabel(ylabel)
plt.title(title)
plt.savefig('plot_' + file_name + '.png')
plt.close()
with open('weather.log', 'r') as data_file:
for line in data_file:
raw_lines.append(line)
for line in raw_lines:
parsed = json.loads(line)
crc_check.append(parsed['crc_check'])
load_power.append(parsed['load_power'])
shunt_voltage_1.append(parsed['shunt_voltage_1'])
shunt_voltage_2.append(parsed['shunt_voltage_2'])
altitude.append(parsed['altitude'])
battery_voltage.append(parsed['battery_voltage'])
internal_temp.append(parsed['internal_temp'])
battery_power.append(parsed['battery_power'])
solar_power.append(parsed['solar_power'])
solar_current.append(parsed['solar_current'])
timestamp.append(parsed['timestamp'])
load_current.append(parsed['load_current'])
bus_voltage_1.append(parsed['bus_voltage_1'])
pressure.append(parsed['pressure'])
bus_voltage_3.append(parsed['bus_voltage_3'])
bus_voltage_2.append(parsed['bus_voltage_2'])
sealevel_pressure.append(parsed['sealevel_pressure'])
load_voltage.append(parsed['load_voltage'])
battery_charge.append(parsed['battery_charge'])
solar_voltage.append(parsed['solar_voltage'])
outside_temp.append(parsed['outside_temp'])
outside_humidity.append(parsed['outside_humidity'])
battery_current.append(parsed['battery_current'])
print len(raw_lines)
# now let's plot something
standard_plot(crc_check, 'CRC Check', 'some numbers', 'crc_check')
standard_plot(outside_temp, 'Outside Temp', 'Degrees F', 'outside_temp')
standard_plot(outside_humidity, 'Outside Humidity', 'some numbers', 'outside_humidity')
standard_plot(pressure, 'Pressure', 'some numbers', 'pressure')
standard_plot(sealevel_pressure, 'Sea Level Pressure', 'some numbers', 'sealevel_pressure')
standard_plot(altitude, 'Altitude', 'some numbers', 'altitude')
standard_plot(internal_temp, 'Internal Temp', 'Degrees F', 'internal_temp')
standard_plot(load_power, 'Load Power', 'some numbers', 'load_power')
standard_plot(load_current, 'Load Current', 'mA', 'load_current')
standard_plot(load_voltage, 'Load Voltage', 'Volts (V)', 'load_voltage')
standard_plot(battery_voltage, 'Battery Voltage', 'Volts (V)', 'battery_voltage')
standard_plot(battery_power, 'Battery Power', 'some numbers', 'battery_power')
standard_plot(battery_charge, 'Battery Charge', '% Full', 'battery_charge')
standard_plot(battery_current, 'Battery Current', 'mA', 'battery_current')
standard_plot(solar_power, 'Solar Power', 'some numbers', 'solar_power')
standard_plot(solar_current, 'Solar Current', 'mA', 'solar_current')
standard_plot(solar_voltage, 'Solar Voltage', 'Volts (V)', 'solar_voltage')
standard_plot(bus_voltage_1, 'Bus Voltage 1', 'Volts (V)', 'bus_voltage_1')
standard_plot(bus_voltage_3, 'Bus Voltage 3', 'Volts (V)', 'bus_voltage_3')
standard_plot(bus_voltage_2, 'Bus Voltage 2', 'Volts (V)', 'bus_voltage_2')
standard_plot(shunt_voltage_1, 'Shunt Voltage 1', 'Volts (V)', 'shunt_voltage_1')
standard_plot(shunt_voltage_2, 'Shunt Voltage 2', 'Volts (V)', 'shunt_voltage_2')