35 lines
914 B
Python
Executable File
35 lines
914 B
Python
Executable File
#! /usr/bin/python3
|
|
import serial
|
|
import time
|
|
import psutil
|
|
import sys
|
|
|
|
debugSerialOut = 0
|
|
debugSerialIn = 0
|
|
debugUsage = 0
|
|
sendOnlyTestData = 0
|
|
|
|
arduino = serial.Serial()
|
|
arduino.baudrate = 115200
|
|
arduino.port = sys.argv[1]
|
|
|
|
coreUsage = psutil.cpu_percent(percpu=True)
|
|
|
|
def updateArduino(dataToWrite):
|
|
if sendOnlyTestData: dataToWrite = '100.00%'
|
|
if debugSerialOut: print("out:", dataToWrite)
|
|
bytesSent = arduino.write(dataToWrite.encode('utf-8'))
|
|
return bytesSent
|
|
|
|
arduino.open()
|
|
while (1):
|
|
requestFromArduino = arduino.read()
|
|
if requestFromArduino:
|
|
requestedCore = int.from_bytes(requestFromArduino, "big", signed=False)
|
|
if(requestedCore == 0):
|
|
coreUsage = psutil.cpu_percent(percpu=True)
|
|
if debugUsage: print("Load Updated:", coreUsage)
|
|
if debugSerialIn: print("req:", requestedCore)
|
|
# usage = coreUsage[requestedCore]
|
|
updateArduino(str(coreUsage[requestedCore]) + "%")
|
|
arduino.close() |