当前位置: 移动技术网 > IT编程>脚本编程>Python > 利用Python实现串口通信--以Arduino UNO为例

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

2020年08月11日  | 移动技术网IT编程  | 我要评论
本博客为作者自我学习所整理,若对读者有帮助,不胜荣幸利用Python实现串口通信——以Arduino UNO为例实现原理基础内容Python部分Arduino部分Arduino==>PythonPython==>Arduino应用案例实现原理利用Python实现串口通信本质上是利用python输出一个信号(字符串、数字),通过串口(COM)传送给硬件设备,例如:Arduino、STM32等。硬件设备接收到该信号,通过已经烧录好的程序自行处理。因此,在实现过程中,主要关注点便是:①Ar

利用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)

本文地址:https://blog.csdn.net/qq_45362415/article/details/107893410

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网