You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Colaboratory在线开发环境是否支持Python串口通信库?

Colab环境使用串口控制Arduino的实现说明

核心问题解答

可以在Colab笔记本中导入pyserial串口通信库,但默认的云端运行时无法直接访问本地电脑插入的Arduino串口硬件,因为Colab的默认代码运行在Google远端服务器上,和用户本地硬件完全隔离,直接调用串口库只能扫到云端服务器的串口设备,无法操作你孙子本地插的Arduino。

两种可实现的操作方案

方案1:切换Colab为本地运行时(操作门槛最低)

你孙子的本地电脑仅需安装基础的Jupyter本地连接依赖,无需手动配置串口开发环境,全程操作可以提前写好步骤引导点击:

  • 本地电脑打开命令提示符/终端,仅需执行一次安装命令:pip install jupyterlab jupyter_http_over_ws
  • 执行服务启动命令:jupyter notebook --NotebookApp.allow_origin='https://colab.research.google.com' --port=8888 --NotebookApp.port_retries=0
  • 复制终端输出的服务链接,打开Colab笔记本后点击右上角的连接按钮,选择「连接到本地运行时」,粘贴链接完成连接
  • 连接完成后在Colab单元格执行!pip install pyserial即可自动安装串口库,后续直接导入serial库就能和本地插入的Arduino正常通信,操作逻辑和你本地电脑上的代码完全一致。

方案2:使用Web Serial API(无需安装任何本地软件)

如果不想在本地装任何依赖,可以直接调用浏览器自带的Web Serial API实现通信,不需要用到pyserial库:

  • 在Colab单元格中插入JS代码段调用浏览器串口权限,选择对应的Arduino串口设备建立连接
  • 前端JS拿到串口数据后可以传递给Colab的Python内核做后续处理,也可以接收Python端的指令发送给Arduino
    示例代码片段:
%%javascript
// 申请串口权限并连接
const port = await navigator.serial.requestPort();
await port.open({ baudRate: 9600 }); // 和Arduino的波特率保持一致

常见避坑提醒

不要在默认的云端运行时中直接调用pyserial扫串口,扫到的所有设备都是远端服务器的硬件,和本地的Arduino无关。

内容的提问来源于stack exchange,提问作者Rick swancott

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 12:27:02