Johannes Müller преди 3 години
родител
ревизия
53b452aebe

+ 4 - 0
box-pc/application/database/__init__.py

@@ -0,0 +1,4 @@
+
+from .csvFile import *
+from .influxdb import *
+from .sqliteDb import *

+ 10 - 3
box-pc/application/database/csv.py → box-pc/application/database/csvFile.py

@@ -1,12 +1,18 @@
 import csv
+import os
+from datetime import datetime
 
 from structures.measurement import CurrentMeasurement
 
-class Database:
+class CSVFile:
   lastMeas = [None] * 16
+  path = "logs"
 
   def __init__(self) -> None:
-      self.file = open("current.csv", "a", newline='')
+      if not os.path.exists(self.path):
+        os.mkdir(self.path)
+      filename = os.path.join(self.path, F"current_{datetime.now().strftime('%Y-%m-%d_%H-%M-%S')}.csv")
+      self.file = open(filename, "a", newline='')
       self.writer = csv.writer(self.file, delimiter=' ')
 
   def write(self, values: list):
@@ -22,4 +28,5 @@ class Database:
         self.writer.writerow([meas.timestamp, meas.source, meas.channel, meas.current])
         meas.saved = True
 
-      self.lastMeas[meas.channel] = meas
+      self.lastMeas[meas.channel] = meas
+      self.file.flush()

+ 2 - 2
box-pc/application/database/influxdb.py

@@ -1,9 +1,9 @@
 from influxdb_client import InfluxDBClient, Point
 from influxdb_client.client.write_api import SYNCHRONOUS
 
-class Database():
+class InfluxDB:
   def __init__(self):
-    self.client = InfluxDBClient(url="http://localhost:8086", token="Jqv8THpAkRo3zzSQjz-mOHJDNJk3FzL8pDkbgPvgjMUwHigBEGbFJdbcoFJlauURkTaWvHUqJ_yiO9xYN66NXA==", org="laempe")
+    self.client = InfluxDBClient(url="http://localhost:8086", token="XPBViJ3s4JL9_wPffwd5M2EgXj5hcUgT0n4jNhv7m6-NC-6SSxQ3run4kXtWBvOk-FYr1VG5Tj5WcoHgjge9jw==", org="laempe")
 
     self.bucket = "energy-monitor"
 

+ 1 - 1
box-pc/application/database/sqlite3.py → box-pc/application/database/sqliteDb.py

@@ -2,7 +2,7 @@ import sqlite3
 
 from structures.measurement import CurrentMeasurement
 
-class Database():
+class SqliteDB:
   def __init__(self):
     self.con = sqlite3.connect('sqlite3.db')
 

+ 14 - 0
box-pc/application/inputs/__main__.py

@@ -0,0 +1,14 @@
+import time
+
+from .allen_bradley_connect import AllenBradleyCPU
+
+cpu = AllenBradleyCPU()
+cpu.start()
+
+
+while True:
+  time.sleep(.1)
+  vals = [0] * 16
+  for meas in cpu.read():
+    vals[meas.channel] = meas.current
+  print(vals)

+ 5 - 3
box-pc/application/main.py

@@ -1,11 +1,12 @@
 from inputs.snap7_connect import SiemensCPU
 from inputs.balluff_html import Balluff
 from inputs.allen_bradley_connect import AllenBradleyCPU
-from database.csv import Database
+from database import *
 from datetime import datetime
 import time
 
-db = Database()
+db1 = InfluxDB()
+db2 = CSVFile()
 
 cpu = SiemensCPU()
 
@@ -19,5 +20,6 @@ ab.start()
 while True:
   values = list(ab.read())
   print(len(values))
-  db.write(values)
+  db1.write(values)
+  db2.write(values)
   time.sleep(1)

Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
projekt-rsLogix/Balluff_IP_Test.ACD


Файловите разлики са ограничени, защото са твърде много
+ 518 - 0
projekt-rsLogix/Balluff_IP_Test.COMPANY.Jomueller.BAK000.acd


Някои файлове не бяха показани, защото твърде много файлове са промени