利用Python实现串口通信——以Arduino UNO为例

本博客为作者自我学习所整理,若对读者有帮助,不胜荣幸

实现原理

  • 利用Python实现串口通信本质上是利用python给出一个信号(只能是ASCII码),通过串口(COM)传送给硬件设备,例如:Arduino、STM32等。硬件设备接收到该信号,通过已经烧录好的程序自行处理。
  • 因此,在实现过程中,主要关注点便是:①Arduino如何发出信号到串口、python如何从串口读取信息;②python如何发送信号到串口、Arduino如何从串口读取信号。

基础内容

Python部分

  • 第三方库Serial
  • 安装:pip install pyserial
  • 主要函数介绍:
import serial

port_list = list(serial.tools.list_ports.comports())	# 获取当前可用的串口列表

serialPort = "COM4"		# 定义/设置串口名称(在‘我的电脑’设备管理器中可以查到)
baudRate = 9600			# 定义/设置串口波特率(要确保和设备的波特率相同)
timeout = 1				# 定义/设置超时时间(单位:s)

ser = serial.Serial(serialPort, baudRate, timeout)
# 当然,这样也可以:ser=serial.Serial("COM4", 9600, 1)

string = ser.readline().decode('utf-8')	# 读取一列数据
str_lines = ser.readlines()				# 读取所有数据

Arduino部分

Arduino==>Python

Python==>Arduino

应用案例

参考文章:

  1. 基于Arduino和python的串口通信和上位机控制
  2. Python 之 Serial串口通信-实时获取最新数据(好像没有找到其他的方案?)
  3. Python的串口通信(pyserial)
  • 8
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值