簡體   English   中英

如何一次將文件推送到多個 Raspberry Pi Pico?

[英]How can I push a file out to multiple Raspberry Pi Pico's at once?

我正在尋找1500 美元的 Go-Box的 DIY 替代品,用於大規模配置 Chromebook。 我設法通過使用 Raspberry Pi Pico 作為“HID 仿真”來復制它。 但是,我需要大規模使用。 我希望能夠一次處理 20 台 Chromebook。 我只需要 20 個 Raspberry Pi Picos 就可以做到這一點,但我需要每配置 100-150 台 Chromebook 更改腳本(更改憑據等)。 手動更改每個腳本非常耗時,因此我需要能夠一次更改所有 20 個腳本,或者“從”Picos 啟動並啟動的一個“主”腳本。

一開始,我想到了一張他們都可以讀取的SD卡,需要的時候,我可以把它拿出來更改那里的腳本,然后當Pico啟動時,它可以將新腳本復制到Pico的根目錄下。 但是,這可能是一個問題,因為我不知道在嘗試同時從同一位置讀取腳本時,Picos 是否會相互沖突。 這是我的第一個問題。

然后我想到了主從設置。 一個 Pico 充當 Master 並持有腳本。 其他 20 個是當引腳為高電平時從主機獲取腳本的從機(表示 Picos 需要重新編程)。 我只會在重新編程腳本時使用 Master。 當我打開主控時,我會讓它把一個引腳設置為高電平,所有其他從屬設備都會檢查引導以查看引腳是否為高電平。 如果 Slaves 發現 pin 為高電平,它不會運行腳本,但它會從 Master 更新它。 這是我遇到這種方法問題的地方。 我需要將腳本從 Master 轉移到 Slaves。 我在 UART、SPI 或 I2C 等通信協議方面沒有任何經驗,但我明白如果我想做多個 Slaves,那么我最好使用 I2C。

這是我最后的手段,因為我已經搜索了好幾天並且找不到合適的解決方案。 是否有人能夠提供有關以下任何一項的任何見解:

  • 如何將腳本從一處獲取到二十處?
  • 當所有 20 個 Picos 都嘗試訪問 SD 卡時,它的想法會發生沖突嗎?
  • 如何通過 I2C 或類似協議傳輸文件?

我感謝任何人可以提供的任何幫助。 MicroPython v1.16 on 2021-06-18; Raspberry Pi Pico with RP2040使用MicroPython v1.16 on 2021-06-18; Raspberry Pi Pico with RP2040 MicroPython v1.16 on 2021-06-18; Raspberry Pi Pico with RP2040

pico 有一個易於編程的 uart(實際上是 2 個); 有很多與 pico 進行串行通信的示例,通常是與完整的 Raspberry Pi 通信。

您可以將 picos 上的所有 rx 接收器引腳連接到主 tx 傳輸引腳,並與它們並行對話,無需回復。 我不知道是否有可能使 tx 引腳處於三態,以便它們也可以全部連接,但通過從主 tx 發送合適的命令,一次只能啟用一個。 問題是 20 個接收器的電力負載和過長的並行電纜可能無法提供無差錯傳輸。

或者您可以菊花鏈連接串行端口,以便 pico1 的 rx 被那里的軟件讀取並在其 tx 上重復,該 tx 連接到 pico2 的 rx,依此類推。 您可以使用“節點號”開始每個數據包,每個 pico 在發送之前都會遞減。 如果此數字為 1,則數據包適用於該節點。 這是一種自動編號的picos。 像 255 這樣的數字可用於廣播。

如果最后一個 pico 的 tx 連接回主控,您甚至可以允許任何 pico 發送回復,前提是軟件等待傳入數據的中斷。 它還允許基本的流量控制和錯誤檢查。 如果 master 一次只發送 1 個字節,並等待每個字節從最后一個 pico 中“回顯”回來,就可以確保每個人都看到了數據。 此外,每個串行段都可以很短,因此不會出現電力負載問題或信號損壞。

看看像這樣菊花鏈的 gpib 總線,或者像 WS2812B 這樣的簡單的可單獨尋址的 RGB LED,它們也是菊花鏈的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM