Browse Source

changes to monitoring script

master
Bennet krebs 8 months ago
parent
commit
e432f5da27
  1. 2
      .idea/FINO2_HOSTPC_app.iml
  2. 2
      .idea/misc.xml
  3. 54
      code/evaluate_telegrams.py
  4. 11
      data/data_telegrams/2022-09-26_1601_monitoring_telegram.txt
  5. 11
      data/monitoring_telegrams/2022-09-26_1501_monitoring_telegram.txt
  6. 11
      data/monitoring_telegrams/2022-09-26_1601_monitoring_telegram.txt
  7. 11
      data/monitoring_telegrams/2022-09-26_1701_monitoring_telegram.txt
  8. 29
      data/monitoring_telegrams/2022-10-04_2024_monitoring_telegram.txt
  9. 11
      data/monitoring_telegrams2022-09-26_1701_monitoring_telegram.txt
  10. BIN
      output/FINO2_hostPC_monitoring_db.db

2
.idea/FINO2_HOSTPC_app.iml

@ -2,7 +2,7 @@
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="jdk" jdkName="Python 3.10" jdkType="Python SDK" />
<orderEntry type="jdk" jdkName="Python 3.10 (FINO2_HOSTPC_app)" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

2
.idea/misc.xml

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.10" project-jdk-type="Python SDK" />
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.10 (FINO2_HOSTPC_app)" project-jdk-type="Python SDK" />
</project>

54
code/evaluate_telegrams.py

@ -57,19 +57,47 @@ def readout_monitoring_telegram(monitoring_file_path):
pd_monitoring_data_dict['storage_used'] = line_split[2]
pd_monitoring_data_dict['storage_total'] = line_split[4]
elif "RAM" in line:
line_split=line.split(" ")
line_split = line.split(" ")
pd_monitoring_data_dict['ram_used'] = line_split[1]
elif "Current CPU" in line:
line_split = line.split(" ")
pd_monitoring_data_dict['cpu_used'] = line_split[3]
elif "Last reboot at" in line:
line_split=line.split(" ")
line_split = line.split(" ")
pd_monitoring_data_dict['last_reboot'] = line_split[3] + "T" + line_split[4].strip()
elif line[0:2] == "20":
split_line = line.split(",")
datetimes.append(split_line[0])
temps.append(split_line[1].strip().split("\t")[1].split(" ")[0])
humids.append(split_line[2].strip().split(" ")[1])
elif "SBE19+ serial" in line:
pd_monitoring_data_dict["sbe_serial"] = line.split(":")[1].strip()
elif "Main battery" in line:
pd_monitoring_data_dict["main_battery"] = line.split(" ")[2].strip()
elif "Backup battery" in line:
pd_monitoring_data_dict["backup_battery"] = line.split(" ")[2].strip()
elif "Operating current" in line:
pd_monitoring_data_dict["operating_current"] = line.split(" ")[2].strip()
elif "Pump current" in line:
pd_monitoring_data_dict["pump_current"] = line.split(" ")[2].strip()
elif "SBE 43 current" in line:
pd_monitoring_data_dict["sbe_43_current"] = line.split(" ")[3].strip()
elif "Samples used" in line:
pd_monitoring_data_dict["samples_free_used"] = line.split(":")[1].strip()
elif "Pump delay" in line:
pd_monitoring_data_dict["pump_delay"] = line.split(" ")[2].strip()
elif "FLNTUS serial" in line:
pd_monitoring_data_dict["flntus_serial"] = line.split(":")[1].strip()
elif "Averaged over x" in line:
pd_monitoring_data_dict["averaged_measurements"] = line.split(":")[1].strip()
elif "Number of samples" in line:
pd_monitoring_data_dict["number_samples"] = line.split(":")[1].strip()
elif "Number of cycles" in line:
pd_monitoring_data_dict["number_cycles"] = line.split(":")[1].strip()
elif "Internal memory on" in line:
pd_monitoring_data_dict["memory_on_off"] = line.split(":")[1].strip()
elif "Internal memory used" in line:
pd_monitoring_data_dict["memory_used"] = line.split(":")[1].strip()
else:
print(line)
@ -85,7 +113,16 @@ def readout_monitoring_telegram(monitoring_file_path):
internal_temperature TEXT,
internal_humidity TEXT)
""")
pd_dht_readout.to_sql('dht_measurements', conn, if_exists='append', index=False)
try:
pd_dht_readout.to_sql('dht_measurements', conn, if_exists='append', index=False)
except db.IntegrityError as e:
if e.args[0].startswith('UNIQUE constraint failed'):
print("ERROR: Duplicate data found!")
raise
else:
raise
# file Raspberry Pi status into database
c.execute("""
@ -185,8 +222,15 @@ def readout_data_telegram(data_file_path):
count_ntu TEXT,
count_thermistor TEXT)
""")
pd_flntus_data.to_sql('flntus_measurements', conn2, if_exists='append', index=False)
# file Raspberry Pi status into database
try:
pd_flntus_data.to_sql('flntus_measurements', conn2, if_exists='append', index=False)
except db.IntegrityErrora as e:
if e.args[0].startswith('no such table'):
exists = False
else:
raise
# file Raspberry Pi status into database
c2.execute("""
CREATE TABLE IF NOT EXISTS sbe_measurements (
sbe_rapsi_datetime TEXT PRIMARY KEY,

11
data/data_telegrams/2022-09-26_1601_monitoring_telegram.txt

@ -1,11 +0,0 @@
monitoring telegram for 2022-09-26
humidity = dhtDevice.humidity / 100
TypeError: unsupported operand type(s) for /: 'NoneType' and 'int'
2022-09-26T15:20:03+0200, Temp: 23.3 C, Humidity: 0.410
2022-09-26T15:30:03+0200, Temp: 23.4 C, Humidity: 0.409
2022-09-26T15:40:03+0200, Temp: 23.3 C, Humidity: 0.417
2022-09-26T15:50:03+0200, Temp: 23.4 C, Humidity: 0.416
SD Storage: 7.643660288 / 62.539288576 GB used
RAM: 0.333492224 / 3.576922112 GB used
Current CPU usage: 2.5 %
Last reboot at: 2022-09-26 10:42:58

11
data/monitoring_telegrams/2022-09-26_1501_monitoring_telegram.txt

@ -1,11 +0,0 @@
monitoring telegram for 2022-09-26
get_dht_measurement(no_of_measurements, file_name, dhtDevice)
[Previous line repeated 1 more time]
File "/home/pi/Desktop/FINO2_profiling_lift_app/code/dht_single_readout_and_save.py", line 30, in get_dht_measurement
raise error
File "/home/pi/Desktop/FINO2_profiling_lift_app/code/dht_single_readout_and_save.py", line 12, in get_dht_measurement
humidity = dhtDevice.humidity / 100
SD Storage: 7.643598848 / 62.539288576 GB used
RAM: 0.325005312 / 3.576922112 GB used
Current CPU usage: 2.8 %
Last reboot at: 2022-09-26 10:42:58

11
data/monitoring_telegrams/2022-09-26_1601_monitoring_telegram.txt

@ -1,11 +0,0 @@
monitoring telegram for 2022-09-26
humidity = dhtDevice.humidity / 100
TypeError: unsupported operand type(s) for /: 'NoneType' and 'int'
2022-09-26T15:20:03+0200, Temp: 23.3 C, Humidity: 0.410
2022-09-26T15:30:03+0200, Temp: 23.4 C, Humidity: 0.409
2022-09-26T15:40:03+0200, Temp: 23.3 C, Humidity: 0.417
2022-09-26T15:50:03+0200, Temp: 23.4 C, Humidity: 0.416
SD Storage: 7.643660288 / 62.539288576 GB used
RAM: 0.333492224 / 3.576922112 GB used
Current CPU usage: 2.5 %
Last reboot at: 2022-09-26 10:42:58

11
data/monitoring_telegrams/2022-09-26_1701_monitoring_telegram.txt

@ -1,11 +0,0 @@
monitoring telegram for 2022-09-26, 16:50
2022-09-26T16:00:03+0200, Temp: 23.2 C, Humidity: 0.412
2022-09-26T16:10:03+0200, Temp: 23.3 C, Humidity: 0.415
2022-09-26T16:20:03+0200, Temp: 23.5 C, Humidity: 0.413
2022-09-26T16:30:03+0200, Temp: 23.0 C, Humidity: 0.422
2022-09-26T16:40:03+0200, Temp: 22.5 C, Humidity: 0.429
2022-09-26T16:50:04+0200, Temp: 22.5 C, Humidity: 0.426
SD Storage: 7.643660288 / 62.539288576 GB used
RAM: 0.324263936 / 3.576922112 GB used
Current CPU usage: 2.3 %
Last reboot at: 2022-09-26 10:42:58

29
data/monitoring_telegrams/2022-10-04_2024_monitoring_telegram.txt

@ -0,0 +1,29 @@
monitoring telegram for 2022-10-04, 20:24
Checksum did not validate. Try again.
unsupported operand type(s) for /: 'NoneType' and 'int'
unsupported operand type(s) for /: 'NoneType' and 'int'
unsupported operand type(s) for /: 'NoneType' and 'int'
unsupported operand type(s) for /: 'NoneType' and 'int'
2022-10-04T20:10:03+0200, Temp: 21.9 C, Humidity: 0.498
SD Storage: 7.62165248 / 62.526615552 GB used
RAM: 0.342188032 / 3.576922112 GB used
Current CPU usage: 1.3 %
Last reboot at: 2022-10-04 14:35:08
SBE19+ status and setup:
SBE19+ serial No.: 8186
Main battery: 10.5 V
Backup battery: 8.5 V
Operating current: 61.6 mA
Pump current: 123.2 mA
SBE 43 current: 6.4 mA
Samples used-free: 6-5061389
Pump delay: 50 s
FLNTUS status and setup:
FLNTUS serial No.: FLNTUS-2607
Averaged over x measurements: 2
Number of samples(not used): 0
Number of cycles(not used): 0
Internal memory on/off: 1
Internal memory used: 2865

11
data/monitoring_telegrams2022-09-26_1701_monitoring_telegram.txt

@ -1,11 +0,0 @@
monitoring telegram for 2022-09-26
2022-09-26T16:00:03+0200, Temp: 23.2 C, Humidity: 0.412
2022-09-26T16:10:03+0200, Temp: 23.3 C, Humidity: 0.415
2022-09-26T16:20:03+0200, Temp: 23.5 C, Humidity: 0.413
2022-09-26T16:30:03+0200, Temp: 23.0 C, Humidity: 0.422
2022-09-26T16:40:03+0200, Temp: 22.5 C, Humidity: 0.429
2022-09-26T16:50:04+0200, Temp: 22.5 C, Humidity: 0.426
SD Storage: 7.643660288 / 62.539288576 GB used
RAM: 0.324263936 / 3.576922112 GB used
Current CPU usage: 2.3 %
Last reboot at: 2022-09-26 10:42:58

BIN
output/FINO2_hostPC_monitoring_db.db

Binary file not shown.
Loading…
Cancel
Save