【问题标题】:Connection Arduino on Google Colab在 Google Colab 上连接 Arduino
【发布时间】:2022-07-05 09:18:38
【问题描述】:

我尝试将 Arduino Uno 连接到 Colaboratory 上的 Python 代码,以使用 Pysireal 库向 Arduino 发送信息,但没有成功,我一直在 Colab 上保留此错误: “ SerialException:[Errno 2] 无法打开端口 COM5:[Errno 2] 没有这样的文件或目录:'COM5'” 我确定此端口已连接,但 Colab 无法找到该端口,因为它位于本地环境中。 我能做些什么来解决这个错误?有什么方法可以将我的 Arduino 连接到 Google Colab 吗?
哈卡姆萨尔蒂。 谢谢。

【问题讨论】:

  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。

标签: arduino google-colaboratory


【解决方案1】:

Colab 实例已连接到 Google 云上的计算机(除非您已设置本地实例):代码不会在您的机器上执行,您将代码输入远程运行该代码的 Web 界面,然后返回结果并重新显示在该界面上。

Arduino 已连接到您的计算机(从串口看是 PC)。

您的问题没有说明数据的传输方式:将 Arduino 数据发送到 Colab,将 Colab 数据发送到 Arduino 或双向。

如果您有 WIFI 连接的微控制器,您可以通过API, like Firebase 在线推送数据

对于 USB,您需要这种连接方式:

Arduino (OS/serial driver) <-> Browser <-> Colab

要将 Arduino 连接到浏览器,您需要使用 WebSerial 或具有串行访问权限且还可以充当 Web 服务器(例如 WebSocket 服务器)的应用程序。由于您使用 Python for colab,您可以在您的 PC 上编写一个脚本,该脚本使用pyserial 和一个 websocket 服务器,例如TornadoFlask 等(p5.js 在 JS 中使用电子和他们有prebuilt apps)

第二部分是获取现在可用于浏览器的数据,但在本地,可用于 Colab 笔记本。有多种方法可以做到这一点,但this WebCam example 看起来是一个不错的起点。

这种情况的另一个变体可能是:

  1. 编写一个本地脚本,作为基本的Web服务器(http/websocket),可以访问串口
  2. 使本地 Web 服务器可从 Internet 访问(ngrok 可以在此处提供帮助)
  3. 从 python 访问该 websocket 版本(通过 websocket 客户端或 http 客户端 pip 包)

更新我使用 p5.serialport here 发布了几个选项。

【讨论】:

  • 我猜这对于大多数没有明确演示的人来说太先进了。
  • @GabrielStaples 感谢您的反馈。我发现了另一个类似的问题,并在此处发布了一个示例:stackoverflow.com/questions/72860987/…
猜你喜欢
  • 1970-01-01
  • 2021-09-30
  • 1970-01-01
  • 2021-03-17
  • 2022-08-20
  • 2019-07-20
  • 2019-11-22
  • 2020-09-06
  • 2020-03-24
相关资源
最近更新 更多