python串口读取数据的实例

 更新时间:2023年09月06日 10:06:22   作者:作一条大肥鱼  
这篇文章主要介绍了python串口读取数据的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

python串口读取数据

python库 serial

初学者学习使用串口接收数据,serial为python提供的串口通信库

串口调试工具

串口调试工具使用:ssscom(习小猛版)

使用步骤:

1、连接设备至电脑,检查是否识别具有驱动程序(我的电脑-管理-设备管理器-端口)

2、打开ssscom,自动识别设备,左上角点击通讯端口,选择使用串口的设备

3、设置串口设置

4、点击打开串口、接收数据

5、观察接收数据可得出通信频率

注:port为端口号、baud rate为波特率、data bits为数据字节,stop bits为停止字节,parity为校验位

serial库

1、引入库 import serial

2、串口常用的属性

  • name:设备名字
  • port:端口
  • baudrate:波特率
  • bytesize:字节大小
  • parity:校验位
  • stopbits:停止位
  • timeout:读超时设置

3、串口常用的方法

  • open():打开串口
  • close():关闭串口
  • inWaiting():返回缓存中的字节数,搭配time.sleep使用,否则数据会没有进入缓存区而结束程序

注:如果需要持续接收数据,可设置一个定时器,反复调用接收串口数据

编程实例

import serial
import time
serialport = serial.Serial()
serialport.port = 'COM4'
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()
if num > 0:
    data = serialport.read(num)
    print(data)

python串口读取数据及下发数据

import sqlite3
import threading
from datetime import datetime
import serial
import time
def dh():
    t=threading.Timer(1, run)
    t.start()
def run():
    dh()
    serialport = serial.Serial()
    serialport.port = 'COM4'
    serialport.baudrate = 115200
    serialport.bytesize = 8
    serialport.parity = serial.PARITY_NONE
    serialport.stopbits = 1
    serialport.timeout = 20
    serialport.close()
    if not serialport.is_open:
        serialport.open()
    time.sleep(0.5)  # 时间设置参考串口传输速率
    num = serialport.inWaiting()
    if num > 0:
        data = serialport.read(num)# 读取数据解析数据插入sqlite 数据库
        print(  data.decode().strip().split(",")[0])
        sql = "insert into t_table  (code,weight,feedIntake,time)values(?,?,?,?)"
        conn = sqlite3.connect("test.db")
        c = conn.cursor()
        try:
            c.execute(sql, data.decode().strip().split(","))
            conn.commit()
            print("数据插入成功")
        except Exception as e:
            print("数据插入失败", e)
        finally:
            code = data.decode().strip().split(",")[0]
            gg = tuple([code])
            #searchcode(gg)
            conn.close()
        return "数据插入成功"
dh()
# 串口发送数据
def FeedComposia(a,b,c):
    serialport = serial.Serial()
    serialport.port = 'COM3'
    serialport.baudrate = 115200
    serialport.bytesize = 8
    serialport.parity = serial.PARITY_NONE
    serialport.stopbits = 1
    serialport.timeout = 20
    serialport.close()
    if not serialport.is_open:
        serialport.open()
    time.sleep(0.5)  # 时间设置参考串口传输速率
    t=a,b,c #数据要转换一下,才能接受
    v = json.dumps(t, ensure_ascii=False)
    serialport.write(v.encode())
    print("a", a)
    print("b", b)
    return a, b

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python自动化实现Markdown转HTML的详细教程

    Python自动化实现Markdown转HTML的详细教程

    Markdown 凭借其轻量级和易读性,已经成为技术文档、博客文章及项目规范的首选格式,本文将介绍如何基于 Spire.Doc for Python,完成这项格式转换任务,为文档自动化提供更专业和高效的支持,下面小编就和大家详细介绍一下吧
    2026-04-04
  • Python数据库格式化输出文档的思路与方法

    Python数据库格式化输出文档的思路与方法

    这篇文章主要给大家介绍了关于Python数据库格式化输出文档的思路与方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • 详解如何在Python中有效调用JavaScript

    详解如何在Python中有效调用JavaScript

    JavaScript和Python都是极为流行的编程语言,并在前端开发和后端开发领域扮演着重要的角色,那么Python如何更好的契合JavaScript呢,下面就跟随小编一起学习一下吧
    2024-02-02
  • appium测试之APP元素定位及基本工具介绍

    appium测试之APP元素定位及基本工具介绍

    看了我文章了相信都了解了web端的元素定位了,没看的,既然进来了那么肯定多多少少知道些,本文主要来介绍APP的元素定位有哪些定位方式,我们又怎么去连接APP,然后通过工具去获取元素
    2021-09-09
  • Python Nuitka打包的实现步骤

    Python Nuitka打包的实现步骤

    在Python应用程序开发中,打包是将代码和依赖项组合成可执行文件或库的关键步骤之一,本文主要介绍了Python Nuitka打包的实现步骤,感兴趣的可以了解一下
    2023-12-12
  • python 字典访问的三种方法小结

    python 字典访问的三种方法小结

    今天小编就为大家分享一篇python 字典访问的三种方法小结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • python开发利器之ulipad的使用实践

    python开发利器之ulipad的使用实践

    Ulipad是一个国人limodou编写的专业Python编辑器,它基于wxpython开发的GUI(图形化界面)。下面这篇文章主要介绍了python开发利器之ulipad的使用实践,文中介绍的非常详细,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-03-03
  • Python OpenCV读取中文路径图像的方法

    Python OpenCV读取中文路径图像的方法

    这篇文章主要介绍了Python OpenCV读取中文路径图像的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • 如何使用Python对Excel表格进行拼接合并

    如何使用Python对Excel表格进行拼接合并

    这篇文章主要介绍了Python处理EXCEL基础操作篇3用Python对Excel表格进行拼接合并,文中提供了解决思路和部分实现代码,需要的朋友可以参考下
    2023-03-03
  • Python Numpy数组扩展repeat和tile使用实例解析

    Python Numpy数组扩展repeat和tile使用实例解析

    这篇文章主要介绍了Python Numpy数组扩展repeat和tile使用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12

最新评论