資料介紹
描述
關于
如果您正在維護一個開源嵌入式項目,可能很難加入新開發人員,因為特定設置的復雜性和個性可能會有很大差異。此外,如果您要接收來自社區的貢獻,您可能希望通過自動化測試來確保它們的有效性。出于這個原因,我開始尋找一個工作流程,讓我可以遠程刷新嵌入式硬件(最初只是一個 Raspberry Pi Pico),并將社區 PR 集成到帶有 GitHub 操作的測試框架中。這將自動確保它們在合并更改之前通過一系列測試,從而減少嵌入式項目開發的摩擦。
概述
本指南將重點介紹使用 GitHub 代碼空間設置遠程刷新設備,它允許我們遠程處理現有的嵌入式項目,更改代碼,然后直接從在線環境中使用新代碼刷新我們的 Raspberry Pi Picos。這是由運行 balenaOS 的 Raspberry Pi 4 實現的,我們從 Codespace 連接到該 Raspberry Pi 4。
好處:
- 可重現的設置
- 輕松入職
- 在目標設備上自動測試
缺點:
- 需要額外的硬件
第 1 部分:balenaOS
首先,使用 balenaOS 設置 Raspberry Pi 4,以便稍后輕松連接。
1. 去這個倉庫
2.點擊“使用Balena部署”按鈕
3. 填寫如圖所示的選項:
4. 填寫選項(包括您的 Wi-Fi 憑據,以便 Pi 知道如何連接到 Internet,然后連接到 Balena Cloud):
5.下載balenaOS鏡像
6. 用Etcher 刷你的 sd 卡
7. 將您的 Raspberry Pi Pico 插入 Raspberry Pi 4
8. 按照Pico 文檔所示連接調試引腳
準備好 Raspberry Pi 4 并連接 Pico,我們可以研究如何遠程刷寫它。
第 2 部分:代碼空間
1. 分叉這個 repo
2.為你剛剛 fork 的 repo創建一個Codespace
3.在您的 Codespace 終端上運行chmod +x pico_setup.sh
4. 運行./pico_setup.sh
5. 運行export
現在您應該能夠構建一個 Pico 項目,例如此 repo 中包含的 LED 漸變示例:
6. 運行以下命令來構建淡入淡出項目 (pwm_led.c):
mkdir 構建
光盤構建
cmake..
制作
或者,我還包含了一個名為 compile.sh 的 bash 腳本,它會在您對其進行更改后再次編譯您的 pwm_led.c 文件。這樣,您不必每次都重新執行上述步驟。
第 3 部分:balena CLI
接下來,使用 balena CLI 輕松隧道到 Raspberry Pi 設備,以發送我們剛剛制作的編譯文件 (/build/pwm_led.elf) 以遠程刷新我們的 Pico。
要添加 Balena CLI,請運行以下命令:
導出
登錄
然后選擇憑證選項并登錄到您的 balena 帳戶。
現在我們有了可用的balena CLI,我們應該能夠通過隧道進入我們的Raspberry Pi 4(它連接了Pico)并將.elf文件直接傳遞到Pico,實際上,從我們的代碼空間中遠程刷新它環境。
1. 運行balena devices --app MCU-remote以查找運行應用程序的設備的 UUID。
>>>https://dashboard.balena-cloud.com/devices/ /summary
2. 運行balena tunnel -p 22222:4321確保我們可以通過防火墻。
3.點擊+號打開另一個終端窗口
從這里開始,我們需要停留在您剛剛在 Codespaces 中打開的第二個終端窗口中。以下是將 pwm_led.elf 文件導入 Pico 的手動步驟。但是,與之前的編譯腳本類似,我還提供了一個自動執行此步驟的上傳腳本,因此如果您時間緊,請隨意跳過此部分。
4. 找到您的容器 ID 并記下它,這將讓我們將文件直接復制到在 RPi4 上運行的容器中:
ssh -Tp 4321 root@127.0.0.1 balena ps -aqf "name=閃爍"
>>>
4. 將文件添加到 RPi4 主機操作系統:
scp -P 4321./build/pwm_led.elf root@127.0.0.1:/mnt/data/
5. 將 /mnt/data/pwm_led.elf 中的文件(在主機操作系統中)復制到閃爍的容器中:
ssh -Tp 4321 root@127.0.0.1 balena cp /mnt/data/pwm_led.elf :/pico_flashing/pwm_led.elf
6. 運行此命令以 ssh 進入您的 RPi4 容器并執行獲取 .elf 文件并使用 openocd 將其刷新到您的 Pico 的命令:
ssh -p 4321 root@127.0.0.1 'balena exec openocd -f interface/raspberrypi-swd.cfg -f target/rp2040.cfg -c "p??rogram /pico_flashing/pwm_led.elf verify reset exit"'
要自動執行所有上傳步驟,只需運行./upload.sh腳本。
回顧一下,您已將映像部署到連接到 Raspberry Pi Pico 的 Raspberry Pi 4 上,然后使用 GitHub 代碼空間更改該存儲庫中的代碼,并通過運行 ./compile.sh 和 ./upload 遠程刷新板.sh 腳本。
現在,您可以將此項目用作樣板模板,以便在嵌入式設備(openocd 支持的任何設備都可以)上輕松地遠程運行代碼,在本例中為 Raspberry Pi Pico。更改 pwm_led.c 文件上的代碼(或添加您自己的 C/C++ Pico 項目)并運行編譯和上傳腳本以一步遠程刷新 Pico。
我希望這對您的嵌入式項目有所幫助,尤其是當您要加入新的貢獻者時。我還計劃另一個教程,介紹如何在收到 PR 后集成 GitHub 操作以自動在 Pico 本身上運行測試,以及能夠遠程運行 GDB 以在單步執行我們的代碼時查看板的內存內容。請繼續關注更新!
- 用電機和Raspberry Pi Pico組裝人體骷髏
- Raspberry Pi Pico上的ADC采樣和FFT
- Raspberry Pi Pico多功能入門套件
- RP2040 Raspberry Pi Pico遇見LoRa
- Arduino Raspberry Pi Pico/RP2040以太網:W5100S EVB Pico
- Raspberry Pi Pico作為HID鼠標
- 基于Raspberry pi pico的音量控制宏鍵盤 3次下載
- 免費Pico模擬器上的Raspberry Pi Pico和LCD1602接口
- 使用Raspberry Pi Pico的LED序列
- Raspberry Pi Pico:使用PIO驅動伺服
- 如何在Raspberry Pi Pico中使用OLED顯示器
- 印有PINOUT的Raspberry Pi pico分線板
- 適用于Raspberry Pi 4的Raspberry Pi Pico開發板
- 基于BME680和Raspberry Pi Pico的氣象站
- raspberry pi Pico使用MicroPython變磚后的解決方法
- 5分鐘內將Raspberry Pi Pico變成簡單的示波器+波形發生器 1522次閱讀
- 基于Raspberry Pi 5的蜂窩物聯網項目 1027次閱讀
- 使用Raspberry Pi Pico W和MicroPython開發物聯網應用 1673次閱讀
- Pico W的無線功能 883次閱讀
- 用于測試項目的4個最佳樹莓派Raspberry Pi模擬器 5985次閱讀
- 基于Raspberry Pi Pico的云端溫濕度監測站設計 1773次閱讀
- 如何使用Raspberry Pi使熱水浴缸變得智能和遠程操作 1813次閱讀
- 基于樹莓派產品 Raspberry Pi微控制器板的優缺點 2710次閱讀
- 如何從Raspberry Pi Pico的模數轉換器捕獲數據計算? 2580次閱讀
- 基于Raspberry Pi Pico開發先進的家庭自動化系統 2850次閱讀
- 微雪電子ZeroW| Raspberry Pi ZeroW主板簡介 2429次閱讀
- 微雪電子Raspberry Pi 3 Model主板簡介 2873次閱讀
- 利用Raspberry Pi構建存儲和虛擬化時間序列數據 884次閱讀
- 一文了解Raspberry Pi 4各項性能跑分 2.9w次閱讀
- 視覺享受!用Raspberry Pi實現圣誕樹燈光秀 8127次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多