Python と Arduino で CPU モニターを構築しようとしています。Arduino は正常に動作しますが、Python に問題があります。私の問題は、PySerial に int または string を送信させることができないことです。
Int を送信しようとすると、次のようになります。
TypeError: 'int' object is not iterable
Int を文字列に変換すると、エラーは次のようになります。
TypeError: an integer is required
とても奇妙に思えます...
ここに私のコードがあります:
import psutil
import serial
ser = serial.Serial(2)
while True:
line = ser.readline()
line = str(line[:-2],'utf-8')
if line=="cpu":
cpus = psutil.cpu_times_percent(percpu=True)
for x in range(4):
v=int(cpus[x][0]+cpus[x][1])
print(v)
ser.write(v)
最後の行をコメントアウトすると、CPU からの値が予想どおり 0 から 100 の間の整数であることが確認されます。
これは PySerial のバグですか、それとも盲目的に障害を確認するだけですか?