it works yippee (depending on what node sends it data the script will send it to the corresponding table with automatic node numbering)
This commit is contained in:
@@ -6,15 +6,11 @@ import json
|
|||||||
sensorNodeArray = []
|
sensorNodeArray = []
|
||||||
enqueteNodeArray = []
|
enqueteNodeArray = []
|
||||||
|
|
||||||
async def processSensorNodeData(data):
|
async def processSensorNodeData(data, nodeID):
|
||||||
try:
|
try:
|
||||||
mydb = dbLogin()
|
mydb = dbLogin()
|
||||||
cursor = mydb.cursor()
|
cursor = mydb.cursor()
|
||||||
|
|
||||||
# MACDataReading = mydb.cursor()
|
|
||||||
# MACDataReading.execute("SELECT MAC FROM Node")
|
|
||||||
|
|
||||||
print('some_response')
|
|
||||||
query = "INSERT INTO `Measurement` (NodeID, Type, Value) VALUES (%s, %s, %s)"
|
query = "INSERT INTO `Measurement` (NodeID, Type, Value) VALUES (%s, %s, %s)"
|
||||||
processedData = json.loads(data)
|
processedData = json.loads(data)
|
||||||
|
|
||||||
@@ -23,18 +19,8 @@ async def processSensorNodeData(data):
|
|||||||
processedeCO2 = (processedData['eCO2'])
|
processedeCO2 = (processedData['eCO2'])
|
||||||
processedTVOC = (processedData['TVOC'])
|
processedTVOC = (processedData['TVOC'])
|
||||||
processedMAC = (processedData['node'])
|
processedMAC = (processedData['node'])
|
||||||
MACTuple = (processedMAC,)
|
|
||||||
|
|
||||||
# MACDataFetching = MACDataReading.fetchall()
|
pushingDataArray = [(nodeID, "Temp", processedTemp), (nodeID, "Humi", processedHumi), (nodeID, "eCO2", processedeCO2), (nodeID, "TVOC", processedTVOC)]
|
||||||
# MACArray = list(MACDataFetching)
|
|
||||||
|
|
||||||
|
|
||||||
# if MACTuple not in MACArray:
|
|
||||||
# addingNode = "INSERT INTO `Node` (MAC) VALUES (%s)"
|
|
||||||
# cursor.execute(addingNode, MACTuple)
|
|
||||||
# mydb.commit()
|
|
||||||
|
|
||||||
pushingDataArray = [(1, "Temp", processedTemp), (1, "Humi", processedHumi), (1, "eCO2", processedeCO2), (1, "TVOC", processedTVOC)]
|
|
||||||
for i in pushingDataArray:
|
for i in pushingDataArray:
|
||||||
print(query ,i)
|
print(query ,i)
|
||||||
cursor.execute(query, i)
|
cursor.execute(query, i)
|
||||||
@@ -63,15 +49,19 @@ async def receive_data():
|
|||||||
else:
|
else:
|
||||||
type = 'enquete'
|
type = 'enquete'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
await getNodeInfo('sensor')
|
await getNodeInfo('sensor')
|
||||||
await getNodeInfo('enquete')
|
await getNodeInfo('enquete')
|
||||||
|
|
||||||
print(str(sensorNodeArray))
|
print(sensorNodeArray)
|
||||||
|
|
||||||
if str(macAdress) in sensorNodeArray:
|
if macAdress in sensorNodeArray:
|
||||||
await processSensorNodeData(data)
|
nodeID = await getNodeID(macAdress)
|
||||||
elif str(macAdress) in enqueteNodeArray:
|
await processSensorNodeData(data, nodeID)
|
||||||
await processEnqueteNodeData(data)
|
elif macAdress in enqueteNodeArray:
|
||||||
|
nodeID = await getNodeID(macAdress)
|
||||||
|
await processEnqueteNodeData(data, nodeID)
|
||||||
else:
|
else:
|
||||||
await newNode(macAdress, type)
|
await newNode(macAdress, type)
|
||||||
except websockets.ConnectionClosedError as e:
|
except websockets.ConnectionClosedError as e:
|
||||||
@@ -100,6 +90,9 @@ def dbLogin():
|
|||||||
return mydb
|
return mydb
|
||||||
|
|
||||||
async def getNodeInfo(type):
|
async def getNodeInfo(type):
|
||||||
|
global sensorNodeArray
|
||||||
|
global enqueteNodeArray
|
||||||
|
|
||||||
nodeInfoArray = []
|
nodeInfoArray = []
|
||||||
|
|
||||||
id = (type,)
|
id = (type,)
|
||||||
@@ -113,6 +106,9 @@ async def getNodeInfo(type):
|
|||||||
nodeInfoArray.append(item)
|
nodeInfoArray.append(item)
|
||||||
print(nodeInfoArray)
|
print(nodeInfoArray)
|
||||||
|
|
||||||
|
cursor.close()
|
||||||
|
mydb.close()
|
||||||
|
|
||||||
if type == 'sensor':
|
if type == 'sensor':
|
||||||
sensorNodeArray = nodeInfoArray
|
sensorNodeArray = nodeInfoArray
|
||||||
print(sensorNodeArray)
|
print(sensorNodeArray)
|
||||||
@@ -123,6 +119,17 @@ async def getNodeInfo(type):
|
|||||||
return enqueteNodeArray
|
return enqueteNodeArray
|
||||||
|
|
||||||
|
|
||||||
|
async def getNodeID(macAdress):
|
||||||
|
id = (macAdress,)
|
||||||
|
mydb = dbLogin()
|
||||||
|
cursor = mydb.cursor()
|
||||||
|
cursor.execute("""SELECT nodeID FROM Node WHERE MAC = %s""", id)
|
||||||
|
data = cursor.fetchall()
|
||||||
|
|
||||||
|
nodeID = data[0][0]
|
||||||
|
|
||||||
|
return nodeID
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user