Python — 获取电脑串口数据并保存到txt文件

这篇具有很好参考价值的文章主要介绍了Python — 获取电脑串口数据并保存到txt文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

打开设备管理器,双击端口设备,点击端口设置,这里面的参数需要与下面代码中的参数保持一致。

版本一

import serial
import time

serialport = serial.Serial()
serialport.port = 'COM3'
serialport.baudrate = 115200
serialport.bytesize = 8
serialport.parity = serial.PARITY_NONE
serialport.stopbits = 1
serialport.timeout = 0.001
serialport.close()
if not serialport.is_open:
	serialport.open()
time.sleep(0.05) #时间设置参考串口传输速率
num = serialport.inWaiting()
while num == 0:
	time.sleep(0.05) #时间设置参考串口传输速率
	num = serialport.inWaiting()
if num > 0:
	data = serialport.read(num)
	# bytes转str
	print(str(data, 'UTF-8'))

注意事项:

1、设置匹配的波特率;

2、设置对应的串口号;

版本二

以下是一段Python代码,可以读取 Windows 电脑上串口的数据并将其保存到一个文本文件中:

import serial

# 串口配置
port = "COM1"  # 更改为你要读取的串口号
baud_rate = 115200  # 波特率,根据实际情况进行调整

# 打开串口
ser = serial.Serial(port, baud_rate)

# 打开文件
file_path = "data.txt"  # 更改为保存数据的文件路径
file = open(file_path, "w")

# 读取和保存数据
while True:
    if ser.in_waiting > 0:
        data = ser.readline().decode().strip()  # 读取并解码数据
        file.write(data + "\n")  # 写入文件
        file.flush()  # 刷新文件缓冲区
        print(data)  # 可选,打印读取到的数据

# 关闭文件和串口
file.close()
ser.close()

请注意,上述代码中的串口号和波特率需要根据你实际连接的设备进行修改。同时,代码中使用了一个无限循环来实时读取串口数据,你可以根据需要进行适当的修改。此外,如果需要在保存数据时进行其他处理,你可以根据具体需求进行相应的更改。文章来源地址https://www.toymoban.com/news/detail-673480.html

版本三、读取二进制数据流

import serial

# 设置串口参数
ser = serial.Serial('COM1', 9600, timeout=1)  # 根据实际情况修改串口名称和波特率

while True:
    # 读取串口数据
    data = ser.read()

    if data:
        # 将字节数据转换为字符串并打印
        print(data.decode('utf-8'))  # 根据实际使用的编码进行解码

版本4  实现rtcm32数据串口接受保存:

import datetime
import time

import serial
import os

from FileUtil import FileUtil

port = '/dev/ttyUSBnet'
btl = 115200
current_path = os.path.dirname(os.path.abspath(__file__))
current_time = "B" + datetime.datetime.now().strftime('%Y_%m_%d_%H_%M_%S') + ".rtcm"
fileutil = FileUtil(path=current_path, filename=current_time)
ser = serial.Serial(port, btl)
print(ser)

time_stamp = time.time()
cnt = 0
while True:
    if ser.in_waiting:
        data = ser.read()
        fileutil.writeByte(data)
        cnt = cnt + 1
        if cnt % 100 == 0:
            print(end=f'\r{"time :" +str(time.time()-time_stamp)}')
import os.path


class FileUtil:
    @staticmethod
    def strSplit(datas, sep):
        """
        :param datas: 一维数据
        :param sep: 分隔符
        :return: 二维数组
        """
        res = []
        for data in datas:
            res.append(str(data).split(sep))
        return res

    def __init__(self, path: str, filename: str):
        if not path.endswith("/"):
            path = path.__add__("/")
        print("写入文件目录" + path + filename)
        # 目录不存在则创建目录
        if not os.path.exists(path):
            os.makedirs(path)
        self.filename = path + filename

    def write(self, content):
        if not os.path.exists(self.filename):
            with open(self.filename, "w") as f:
                f.write(content)
        else:
            with open(self.filename, "a") as f:
                f.write(content)

    def writeByte(self, content):
        with open(self.filename, "ab") as f:
            f.write(content)

到了这里,关于Python — 获取电脑串口数据并保存到txt文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python——读取txt文件每一行数据

    【Python-数据读取】读取txt文件每一行数据生成列表

    2024年02月11日
    浏览(47)
  • Python从txt文件中提取特定数据

    本段代码用于,想要从一段txt文件中只提取目标数据的情况。 函数参数解释: txt_path 文件路径 epoch 这份文本文件中要提取出的数据个数,默认100 target 目标数据的前缀 target_data_len 目标数据的长度,默认为5 返回值,列表数据 txt文档内容: 使用: 输出:

    2024年02月11日
    浏览(31)
  • Python获取豆丁文档数据内容, 保存word文档

    前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 开发环境: python 3.8 pycharm 模块使用: requests -- pip install requests re base64 docx -- pip install python-docx 第三方模块安装方法: win + R 输入cmd 输入安装命令 pip install 模块名 (如果你觉得安装速度比较慢, 你可以切换国内镜像源) 准备工作 在

    2024年02月13日
    浏览(46)
  • Python 将列表数据写入文件(txt, csv,excel)

    将数据写入新文件 将数据写入第 i 行,第 j 列

    2024年01月16日
    浏览(54)
  • 提取txt文件中指定数据至excel中(python)

    注意:加 r 的原因是避免转义符的误解 推荐官网,用来检验自己的正则表达式是否正确: 菜鸟工具 相关函数库和函数有: import re 、 re.findall 、 re.search h(tuple格式的,不可以改) h_new hly 目的:不断在hly内加入新的元素,要求元素是浮点型,小数位数为2位,w为寻找的总体,

    2023年04月10日
    浏览(33)
  • Python(wordcloud):根据文本数据(.txt文件)绘制词云图

    本文将介绍如何利用python来根据文本数据(.txt文件)绘制词云图,除了绘制常规形状的词云图(比如长方形),还可以指定词云图的形状。 1、安装相关的库 2、 导入相关的库 3、 相关库的介绍 jieba: 结巴分词库,一个中文分词库。由于中文文本的每个汉字都是连续书写的,

    2024年04月16日
    浏览(44)
  • Python 网络爬虫 数据的存储(一):TXT 文本文件存储:

    提取到数据后, 接下来就是存储数据了, 数据的存储形式多种多样, 其中最简单的一种就是将数据直接保存为文本文件, 例如:txt,  json, csv 等, 还可以将数据保存到数据库中, 如关系型数据库 MySQL, 非关系型数据库 MongoDB, Redis等, 除了这两种, 也可以直接把数据存

    2024年02月03日
    浏览(29)
  • Python读取指定的TXT文本文件并从中提取指定数据的方法

      本文介绍基于 Python 语言,遍历文件夹并从中找到文件名称符合我们需求的多个 .txt 格式文本文件,并从上述 每一个文本文件 中,找到 我们需要的指定数据 ,最后得到 所有文本文件中 我们 需要的数据的合集 的方法。   首先,我们来明确一下本文的具体需求。现有

    2024年02月14日
    浏览(31)
  • Python两种读取txt与csv文件方式(利用numpy处理数据)

    一共80个数据(只截取前10个数据) 在excel中显示的内容 在pycharm中显示的内容 一共80个数据 在记事本中显示的内容 在pycharm中显示的内容 1、读取所有内容 data_pd打印结果 2、数据转为numpy data_np打印结果 1、读取所有内容 data_pd打印结果 2、数据转为numpy data_np打印结果 1、读取所

    2023年04月11日
    浏览(36)
  • 数据爆炸,Python一键获取阿里法拍的爆款商品数据,并保存到数据库!

    阿里法拍是中国大陆一个知名的在线拍卖网站,它提供了各种商品和服务的拍卖、固定价交易和一口价销售。如果您想要从阿里法拍网站中获取商品的信息,比如商品名称、价格、图片等信息,则可以使用Python编写一个代码获取这些数据。 在实现前,请确保您已经安装以下

    2024年02月09日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包