diff --git a/server/brams-script.py b/server/brams-script.py new file mode 100644 index 0000000..acdaf98 --- /dev/null +++ b/server/brams-script.py @@ -0,0 +1,65 @@ +import asyncio +import websockets +import mysql.connector +import json + +async def process_data(data): + try: + mydb = mysql.connector.connect( + host="localhost", + user="root", + password="Dingleberries69!", + database="NodeData" + ) + 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)" + processedData = json.loads(data) + processedTemp = (processedData['Temp']) + processedHumi = (processedData['Humi']) + processedeCO2 = (processedData['eCO2']) + processedTvoc = (processedData['TVOC']) + processedMAC = (processedData['node']) + MACTuple = (processedMAC,) + + MACDataFetching = MACDataReading.fetchall() + 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: + print(query ,i) + cursor.execute(query, i) + mydb.commit() + + except mysql.connector.Error as err: + print("MySQL Error:", err) + finally: + cursor.close() + mydb.close() + +async def receive_data(): + uri = "ws://145.92.8.114/ws" + + try: + async with websockets.connect(uri) as websocket: + while True: + data = await websocket.recv() + print(f"Received data: {data}") + await process_data(data) + except websockets.ConnectionClosedError as e: + print("WebSocket connection closed:", e) + +async def main(): + await receive_data() + +asyncio.run(main()) +