pythonでシリアル通信からデータを収集して保存する方法
Pythonでシリアル通信を行ってデータを収集・保存するには、pyserialというライブラリを利用できます。以下に、pyserialを使用してシリアル通信からのデータを読み込んでファイルに保存するサンプルコードを示します。
import serial
# 打开串口
ser = serial.Serial('COM1', 9600)
# 打开文件
file = open('data.txt', 'w')
# 循环读取串口数据
while True:
# 读取一行数据
data = ser.readline().decode().strip()
# 将数据写入文件
file.write(data + '\n')
# 打印数据
print(data)
# 如果接收到“exit”则退出循环
if data == 'exit':
break
# 关闭文件
file.close()
# 关闭串口
ser.close()
このサンプルコードでは、最初の行で serial.Serial 関数を使用して、COM1 という名前のシリアルポートを 9600 ボーのボーレートで開きます。次に、ファイルオブジェクトを開く open 関数を使用して、data.txt という名前のファイルを開き、シリアルポートのデータがこのファイルに保存されます。その後、無限ループが開始され、ループ内では ser.readline 関数を使用してシリアルポートから一行のデータが読み込まれ、 file.write 関数を使用してそのデータがファイルに書き込まれます。その間、 print 関数を使用して、データが画面に表示されます。文字列「exit」が受信された場合、ループは終了します。最後に、ファイルオブジェクトとシリアルポートは、 close 関数を使用して閉じられます。
上記のサンプルは単なる簡易的な例であり、実際の使用では具体的なシリアル機器やデータ形式に応じて適宜調整が必要となる点にご注意ください。