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 関数を使用して閉じられます。

上記のサンプルは単なる簡易的な例であり、実際の使用では具体的なシリアル機器やデータ形式に応じて適宜調整が必要となる点にご注意ください。

bannerAds