Python 的串口通信
引言
Python 是一种面向对象、解释型计算机程序设计语言,它的设计哲学是优
雅、明确、简单。因为其开源免费的精神与简单易学的特点,自 1989 年问世以
来, Python 的使用率呈线性增长。并且近年来作为少儿编程的入门级语言,也
受到了越来越多的教育从业者的关注。
Arduino 是一款便捷灵活、方便上手的开源电子原型平台,它包含可以用来
做电路连接的 Arduino 电路板和配套的程序开发环境(Arduino IDE)。基于
Arduino 的项目,可以只包含 Arduino,也可以包含 Arduino 和其他一些在 PC 上
运行的软件,如 Processing、VB、Python 等。
串行接口简称串口,也称串行通信接口或串行通讯接口(通常指 COM 接口),
是采用串行通信方式的扩展接口。串行接口 (Serial Interface) 是指数据一
位一位地顺序传送,其特点是通信线路简单,只要一对传输线就可以实现双向通
信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距
离通信,但传送速度较慢。
当我们使用 Python 语言通过串口控制 Arduino 读取设备状况并实施控制的
时候,就构成了上位机下位机系统。安装有 Python 之类软件实施控制的计算机
为上位机,能够控制设备并获取设备状况的 Arduino 为下位机,它们相互之间可
以通过串行口或无线的方式进行通讯,进而实现控制与被控制。
代码,看不见摸不着;而智能设备,具有良好的展示效果。通过 Python 编
程,以串口通信对智能硬件进行控制,完成二次开发,甚至将普通设备赋予人工
智能,对于少儿编程具有重要意义。
编程基础
本文在 WIN10 环境下编程,LINUX 和 MAC 环境下只需要注意串口名称即可。
(1) 安装 Python 开发环境
本文中使用案例及程序,基于 Python3.7 进行编写,关于 Python3 的安
装,请各位老师及同学到官网进行下载及安装。另外,各位老师及同学可
以自行使用 Python2 进行代码重新编辑。
(2) 安装 Arduino 开发环境
Arduino 主控板部分可在淘宝网上通过关键词“arduino uno”“arduino
mini”“arduino mega”搜索购买。Arduino 集成开发环境(Arduino IDE)
可访问“https://www.arduino.cc/en/Main/Software”,根据需要下载
安装。本例硬件使用了星原力智能主板(X-TACO),该主板基于 Arduino
Uno,软件我们使用了 Mixly,配套星原力 xforce,同时也可以使用
Arduino1.8.4 版本。(注意主板串口安装)