41 lines
1.3 KiB
Python
41 lines
1.3 KiB
Python
import mysql.connector
|
|
import json
|
|
|
|
from classes_data import Node
|
|
from classes_data import dbLogin
|
|
|
|
class SensorNode(Node):
|
|
query = "INSERT INTO `Measurement` (NodeID, Type, Value) VALUES (%s, %s, %s)"
|
|
|
|
def __init__(self, macAdress, temp, humi, eCO2, TVOC):
|
|
super().__init__(macAdress)
|
|
self.temperature = temp
|
|
self.humidity = humi
|
|
self.eCO2 = eCO2
|
|
self.TVOC = TVOC
|
|
|
|
async def processSensorNodeData(data, nodeID):
|
|
try:
|
|
mydb = dbLogin()
|
|
cursor = mydb.cursor()
|
|
|
|
processedData = json.loads(data)
|
|
|
|
SensorNode.temperature = (processedData['Temp'])
|
|
SensorNode.humidity = (processedData['Humi'])
|
|
SensorNode.eCO2 = (processedData['eCO2'])
|
|
SensorNode.TVOC = (processedData['TVOC'])
|
|
|
|
|
|
|
|
pushingDataArray = [(nodeID, "Temp", SensorNode.temperature), (nodeID, "Humi", SensorNode.humidity), (nodeID, "eCO2", SensorNode.eCO2), (nodeID, "TVOC", SensorNode.TVOC)]
|
|
for i in pushingDataArray:
|
|
cursor.execute(SensorNode.query, i)
|
|
mydb.commit()
|
|
|
|
|
|
except mysql.connector.Error as err:
|
|
print("MySQL Error:", err)
|
|
finally:
|
|
cursor.close()
|
|
mydb.close() |