Datenbankunterstützung und Buffer
* CANFilter kann jetzt empfangene Daten in eine MySQL Datenbank schreiben. * rest-api.py wurde in API.py umbenannt. * Buffer wurde zu einer Klasse umstrukturiert.
This commit is contained in:
parent
47ecc5fbe2
commit
5df7ae564a
3 changed files with 258 additions and 248 deletions
|
|
@ -2,15 +2,15 @@
|
|||
Created on 13.11.2013
|
||||
|
||||
@author: Philipp Rauch
|
||||
@version: 0.01
|
||||
@version: 0.02
|
||||
'''
|
||||
|
||||
from CanMessage import CanMessage
|
||||
from CanSignal import CanSignal
|
||||
from PCan import PcanAdapter
|
||||
import datetime
|
||||
import time
|
||||
import sys
|
||||
import MySQLdb
|
||||
#import MySQLdb
|
||||
|
||||
debug = False
|
||||
|
||||
|
|
@ -53,10 +53,10 @@ pcan.Messages['dc_pv'].addSignal( voltage )
|
|||
pcan.Messages['dc_charging'].addSignal( current )
|
||||
pcan.Messages['dc_charging'].addSignal( voltage )
|
||||
|
||||
battery_current = []
|
||||
battery_voltage = []
|
||||
battery_capacity = []
|
||||
battery_timestamp = []
|
||||
battery_current, battery_voltage, battery_capacity, battery_timestamp = [], [], [], []
|
||||
|
||||
#connection = MySQLdb.connect("url", "user", "passwort", "datenbankname")
|
||||
#cursor = connection.cursor()
|
||||
|
||||
def mean(l):
|
||||
return float(sum(l))/len(l) if len(l) > 0 else 0
|
||||
|
|
@ -68,21 +68,22 @@ while True:
|
|||
battery_current.append(pcan.Messages['dc_battery'].Signals['current'].GetData())
|
||||
battery_voltage.append(pcan.Messages['dc_battery'].Signals['voltage'].GetData())
|
||||
battery_capacity.append(pcan.Messages['dc_battery'].Signals['capacity'].GetData())
|
||||
battery_timestamp.append(pcan.Messages['dc_battery'].timestamp)
|
||||
battery_timestamp.append(str(datetime.datetime.now()))
|
||||
|
||||
if len(battery_timestamp) == 10:
|
||||
if len(battery_timestamp) == 1000:
|
||||
if debug:
|
||||
print 'current: ', battery_current
|
||||
print 'voltage: ', battery_voltage
|
||||
print 'SoC: ', battery_capacity
|
||||
print 'time: ', battery_timestamp
|
||||
print 'current: ', mean(battery_current)
|
||||
print 'voltage: ', mean(battery_voltage)
|
||||
print 'SoC: ', mean(battery_capacity)
|
||||
print 'time: ', mean(battery_timestamp)
|
||||
del battery_current[:]
|
||||
del battery_voltage[:]
|
||||
del battery_capacity[:]
|
||||
del battery_timestamp[:]
|
||||
time.sleep(0.01)
|
||||
|
||||
print 'current: ', mean(battery_current)
|
||||
print 'voltage: ', mean(battery_voltage)
|
||||
print 'SoC: ', mean(battery_capacity)
|
||||
print 'time: ', mean(battery_timestamp)
|
||||
|
||||
tabelle = 'EMS-TEST'
|
||||
daten = [(tabelle, str(battery_timestamp[i]), str(battery_current[i]), str(battery_voltage[i]), str(battery_capacity[i])) for i in range(1000)]
|
||||
sql = 'INSERT INTO %s VALUES(%s, %s, %s, %s)'
|
||||
|
||||
for i in daten:
|
||||
print sql % i
|
||||
# cursor.executemany(sql, daten)
|
||||
|
||||
del battery_current[:], battery_voltage[:], battery_capacity[:], battery_timestamp[:]
|
||||
time.sleep(0.01)
|
||||
Loading…
Add table
Add a link
Reference in a new issue