pySerial 学习笔记-安装与测试

原创 2015年11月21日 17:08:08

pySerial官网介绍
pySerial API介绍

安装

环境:
win7 64位
python-3.43rc1(32)

使用pip进行安装:

pip install pyserial

测试

安装官网的测试程序进行测试,出现字符编码问题。


>>> import serial
>>> ser = serial.Serial(2)
>>> print (ser.name)
COM3
>>> ser.write("hello")
Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    ser.write("hello")
  File "C:\Python34\lib\site-packages\serial\serialwin32.py", line 283, in write
    data = to_bytes(data)
  File "C:\Python34\lib\site-packages\serial\serialutil.py", line 76, in to_bytes
    b.append(item)  # this one handles int and str for our emulation and ints for Python 3.x
TypeError: an integer is required

根据错误提示,查找原因及解决方法:
解决方法
网上已经给出了合理的解释:

Previous versions of Python did a lot of the string to bytes conversion for you (personally I liked the old methods quite a lot). Nowadays, in Python3+ you need to handle the data-type conversion yourself depending on your output/input, which makes more sense even though I hate it…
This goes for sockets and numerous other objects as well.
So in order to send data via serial or sockets, all you need to do is convert your string into a bytes object. Do this by declaring b”this is bytes” or bytes(MyString, ‘UTF-8’).

根据解决方法,进行修改:

>>> import serial
>>> ser = serial.Serial(2)
>>> print(ser.name)
COM3
>>> ser.write(b'hello')
5
>>> ser.write('hello'.encode('utf-8'))
5
>>> ser.write('hello'.encode('ascii'))
5
>>> ser.close()

这一次,可以正常的使用串口进行通信,其中 write() 函数的返回值是我们发送数据的长度。

串口通讯的python模块——pySerial

pySerialOverview This module encapsulates the access for the serial port. It provides backends fo...

pySerial使用初步

在http://pyserial.sourceforge.net/index.html上下载最新的windows版的安装包,然后装到python的目录下面,我装到了2.5的下面。打开一个python ...
  • xbl1986
  • xbl1986
  • 2011年04月11日 13:56
  • 17819

python中pyserial模块使用方法

一、概述     pyserial模块封装了对串口的访问。 二、特性     在支持的平台上有统一的接口。     通过python属性访问串口设置。     支持不同的字节...

【Python入门】 使用 pip 安装 pySerial 串口通讯模块

pySerial封装了对串口的访问。特性在支持的平台上有统一的接口。通过python属性访问串口设置。支持不同的字节大小、停止位、校验位和流控设置。可以有或者没有接收超时。类似文件的API,例如rea...

python串口编程整理(更新完)

python的串口网上有很多例子,这里了只是把认为好的整理到一起。 首先,应该安装serial模块,还能开始后续的操作。我用的python2.6,serial模块可以在这里下载安装serial模块下...
  • xhao014
  • xhao014
  • 2012年06月07日 10:36
  • 45366

Python使用pyserial进行串口通信

安装pyserialpip install pyserial查看可用的端口# coding:utf-8import serial.tools.list_portsplist = list(serial...
  • log1100
  • log1100
  • 2017年01月12日 17:54
  • 4533

树莓派+Python+pyserial 2.7实现串口通信

手上有个CCD Camera(Barcode Reader/Scanner Module),它是通过RS232通信的,用RS232转USB的转接线连接树莓派,即可完成硬件连接。对于串口通信,可以通过p...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

pySerial -- Python的串口通讯模块

python常用的串口通信模块,详细解释了模块内的常用函数,并举例说明
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:pySerial 学习笔记-安装与测试
举报原因:
原因补充:

(最多只允许输入30个字)