You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

树莓派与Arduino Mega 2560串口连接报错求助

解决Arduino串口连接的AttributeError问题

嘿,我来帮你搞定这个串口连接的问题!你遇到的AttributeError: 'module' object has no attribute 'Serial'其实是个很容易踩的坑——你装错了Python串口库

问题根源

Python生态里有两个名字相近的包:

  • 一个叫serial:这是个无关的小工具包,完全没有串口通信的功能,你用pip install serial装的就是它,自然找不到Serial类。
  • 另一个才是我们需要的pyserial:专门用于串口通信的库,安装后模块名依然是serial,但它包含Serial类等所有串口操作功能。

分步解决方案

  • 先卸载错装的serial包:

    pip uninstall serial
    

    如果用的是Python3,记得换成pip3

  • 安装正确的pyserial库:

    pip install pyserial
    

    针对树莓派的系统级安装(对应Python3)也可以用:

    sudo apt-get install python3-serial
    

关于权限的补充说明

你当前的报错不是权限问题,但后续可能会遇到无法访问/dev/ttyUSB0的情况。提前把你的用户加入dialout组就能解决:

sudo usermod -a -G dialout $USER

执行完后注销再重新登录,权限才会生效,之后就不用每次用sudo运行脚本了。

验证脚本

你的代码本身没问题,只要装对了pyserialimport serial后就能正常调用serial.Serial()了。

内容的提问来源于stack exchange,提问作者Tim Hellfeuer

火山引擎 最新活动