【问题标题】:How can I push a file out to multiple Raspberry Pi Pico's at once?如何一次将文件推送到多个 Raspberry Pi Pico?
【发布时间】:2021-09-28 08:20:57
【问题描述】:

我正在寻找用于大规模配置 Chromebook 的 $1500 Go-Box 的 DIY 替代品。我已经设法通过使用 Raspberry Pi Pico 作为“HID 仿真”来复制它。但是,我需要大规模的。我希望能够一次完成 20 台 Chromebook。我只需 20 个 Raspberry Pi Picos 就可以做到这一点,但我需要每配置 100-150 个 Chromebook 更改脚本(更改凭据等)。手动更改每个脚本非常耗时,因此我需要能够同时更改所有 20 个脚本,或者“从属”Picos 启动并启动的一个“主”脚本。

一开始,我想到了一个他们都可以读取的 SD 卡,当需要时,我可以将它取出并更改那里的脚本,然后当 Pico 启动时,它可以将新脚本复制到根目录微微。但是,这可能是一个问题,因为我不知道当尝试同时从同一个地方读取脚本时,Picos 是否会相互冲突。 这是我的第一个问题。

然后我想到了主从设置。一个 Pico 充当 Master 并持有脚本。其他 20 个是从机,当引脚为高电平时从主机获取脚本(表示 Picos 需要重新编程)。我只会在重新编程脚本时使用 Master。当我打开主控时,我会让它设置一个引脚为高电平,所有其他从属单元将检查启动以查看引脚是否为高电平。如果 Slaves 发现 pin 为高电平,它不会运行脚本,但它会从 Master 更新它。 这是我在使用这种方法时遇到问题的地方。我需要将脚本从 Master 传输到 Slaves。我对 UART、SPI 或 I2C 等通信协议没有任何经验,但我知道如果我想做多个从设备,那么我最好使用 I2C。

这是我最后的手段,因为我已经搜索了好几天,找不到合适的解决方案。是否有人能够就以下任何一项提供任何见解:

  • 如何将脚本从一处变为二十处?
  • 当所有 20 个 Picos 都尝试访问 SD 卡时,SD 卡的想法是否会发生冲突?
  • 如何通过 I2C 或类似协议传输文件?

感谢任何人提供的任何帮助。我正在使用MicroPython v1.16 on 2021-06-18; Raspberry Pi Pico with RP2040

【问题讨论】:

  • 我认为您走在正确的道路上。 i2c 很容易实现。而不是从主设备向主设备请求,只需反转它 - 在验证其配置之前不允许从设备写入,主设备将系统地逐一进行。
  • 但是,如果您没有锁定 pico,我会推荐类似 esp32 的东西,它也可以运行 micropython,但内置了 wifi。这样,他们都可以通过无线方式轻松地从您管理的存储库/服务器请求正确的配置。
  • 感谢您的回复!微控制器需要支持 HID 仿真,这就是我选择 Pico 的原因。我将如何做你在第一条评论中所说的?
  • ansible 是你要找的。​​span>
  • @0andriy 这个Ansible?

标签: python i2c micropython raspberry-pi-pico


【解决方案1】:

pico 有一个易于编程的 uart(实际上是 2 个);有很多与 pico 进行串行通信的示例,通常与完整的 Raspberry Pi 通信。

您可以将 picos 上的所有 rx 接收器引脚连接到主 tx 传输引脚,并与它们并行通信,无需回复。 我不知道是否可以通过从主 tx 发送合适的命令来对 tx 引脚进行三态连接,以便它们也可以全部连接,但一次只能启用一个。问题在于 20 个接收器的电气负载以及过长的并行电缆可能无法实现无差错传输。

或者您可以菊花链式连接串行端口,以便 pico1 的 rx 被那里的软件读取并在其连接到 pico2 的 rx 的 tx 上重复输出,依此类推。您可以使用“节点号”开始每个数据包,每个 pico 在发送之前递减。如果此数字为 1,则数据包适用于此节点。这是一种微微的自动编号。像 255 这样的数字可以用于广播。

如果最后一个 pico 的 tx 连接回主控,您甚至可以允许任何 pico 发送回复,前提是软件等待传入数据中断。 它还允许进行基本的流量控制和错误检查。如果 master 一次只发送 1 个字节,并等待每个字节从最后一个 pico “回显”回来,它可以确保每个人都看到了数据。此外,每个串行段都可以很短,因此不会出现电气负载问题或信号损坏。

看看像这样以菊花链方式连接的 gpib 总线,或者像 WS2812B 这样的简单可单独寻址的 RGB LED,它们也是以菊花链方式连接的。

【讨论】:

  • 我喜欢第一段的声音。至少在我看来,这似乎是可能的。菊花链的想法似乎更有可能。我需要测试两者,我目前正在等待我的 Pico 出现在帖子中。我会让你知道它是怎么回事!谢谢!
猜你喜欢
  • 2021-09-10
  • 2022-11-02
  • 2022-10-16
  • 2022-10-25
  • 2022-08-14
  • 2022-12-15
  • 1970-01-01
  • 1970-01-01
  • 2022-09-25
相关资源
最近更新 更多