資料介紹
描述
關(guān)于
如果您正在維護(hù)一個(gè)開源嵌入式項(xiàng)目,可能很難加入新開發(fā)人員,因?yàn)樘囟ㄔO(shè)置的復(fù)雜性和個(gè)性可能會(huì)有很大差異。此外,如果您要接收來自社區(qū)的貢獻(xiàn),您可能希望通過自動(dòng)化測試來確保它們的有效性。出于這個(gè)原因,我開始尋找一個(gè)工作流程,讓我可以遠(yuǎn)程刷新嵌入式硬件(最初只是一個(gè) Raspberry Pi Pico),并將社區(qū) PR 集成到帶有 GitHub 操作的測試框架中。這將自動(dòng)確保它們在合并更改之前通過一系列測試,從而減少嵌入式項(xiàng)目開發(fā)的摩擦。
概述
本指南將重點(diǎn)介紹使用 GitHub 代碼空間設(shè)置遠(yuǎn)程刷新設(shè)備,它允許我們遠(yuǎn)程處理現(xiàn)有的嵌入式項(xiàng)目,更改代碼,然后直接從在線環(huán)境中使用新代碼刷新我們的 Raspberry Pi Picos。這是由運(yùn)行 balenaOS 的 Raspberry Pi 4 實(shí)現(xiàn)的,我們從 Codespace 連接到該 Raspberry Pi 4。
好處:
- 可重現(xiàn)的設(shè)置
- 輕松入職
- 在目標(biāo)設(shè)備上自動(dòng)測試
缺點(diǎn):
- 需要額外的硬件
第 1 部分:balenaOS
首先,使用 balenaOS 設(shè)置 Raspberry Pi 4,以便稍后輕松連接。
1. 去這個(gè)倉庫
2.點(diǎn)擊“使用Balena部署”按鈕

3. 填寫如圖所示的選項(xiàng):

4. 填寫選項(xiàng)(包括您的 Wi-Fi 憑據(jù),以便 Pi 知道如何連接到 Internet,然后連接到 Balena Cloud):

5.下載balenaOS鏡像
6. 用Etcher 刷你的 sd 卡
7. 將您的 Raspberry Pi Pico 插入 Raspberry Pi 4
8. 按照Pico 文檔所示連接調(diào)試引腳

準(zhǔn)備好 Raspberry Pi 4 并連接 Pico,我們可以研究如何遠(yuǎn)程刷寫它。
第 2 部分:代碼空間
1. 分叉這個(gè) repo
2.為你剛剛 fork 的 repo創(chuàng)建一個(gè)Codespace

3.在您的 Codespace 終端上運(yùn)行chmod +x pico_setup.sh
4. 運(yùn)行./pico_setup.sh
5. 運(yùn)行export
現(xiàn)在您應(yīng)該能夠構(gòu)建一個(gè) Pico 項(xiàng)目,例如此 repo 中包含的 LED 漸變示例:
6. 運(yùn)行以下命令來構(gòu)建淡入淡出項(xiàng)目 (pwm_led.c):
mkdir 構(gòu)建
光盤構(gòu)建
cmake..
制作
或者,我還包含了一個(gè)名為 compile.sh 的 bash 腳本,它會(huì)在您對其進(jìn)行更改后再次編譯您的 pwm_led.c 文件。這樣,您不必每次都重新執(zhí)行上述步驟。
第 3 部分:balena CLI
接下來,使用 balena CLI 輕松隧道到 Raspberry Pi 設(shè)備,以發(fā)送我們剛剛制作的編譯文件 (/build/pwm_led.elf) 以遠(yuǎn)程刷新我們的 Pico。
要添加 Balena CLI,請運(yùn)行以下命令:
導(dǎo)出
登錄
然后選擇憑證選項(xiàng)并登錄到您的 balena 帳戶。
現(xiàn)在我們有了可用的balena CLI,我們應(yīng)該能夠通過隧道進(jìn)入我們的Raspberry Pi 4(它連接了Pico)并將.elf文件直接傳遞到Pico,實(shí)際上,從我們的代碼空間中遠(yuǎn)程刷新它環(huán)境。
1. 運(yùn)行balena devices --app MCU-remote以查找運(yùn)行應(yīng)用程序的設(shè)備的 UUID。
>>>https://dashboard.balena-cloud.com/devices/ /summary
2. 運(yùn)行balena tunnel -p 22222:4321確保我們可以通過防火墻。
3.點(diǎn)擊+號(hào)打開另一個(gè)終端窗口

從這里開始,我們需要停留在您剛剛在 Codespaces 中打開的第二個(gè)終端窗口中。以下是將 pwm_led.elf 文件導(dǎo)入 Pico 的手動(dòng)步驟。但是,與之前的編譯腳本類似,我還提供了一個(gè)自動(dòng)執(zhí)行此步驟的上傳腳本,因此如果您時(shí)間緊,請隨意跳過此部分。
4. 找到您的容器 ID 并記下它,這將讓我們將文件直接復(fù)制到在 RPi4 上運(yùn)行的容器中:
ssh -Tp 4321 root@127.0.0.1 balena ps -aqf "name=閃爍"
>>>
4. 將文件添加到 RPi4 主機(jī)操作系統(tǒng):
scp -P 4321./build/pwm_led.elf root@127.0.0.1:/mnt/data/
5. 將 /mnt/data/pwm_led.elf 中的文件(在主機(jī)操作系統(tǒng)中)復(fù)制到閃爍的容器中:
ssh -Tp 4321 root@127.0.0.1 balena cp /mnt/data/pwm_led.elf :/pico_flashing/pwm_led.elf
6. 運(yùn)行此命令以 ssh 進(jìn)入您的 RPi4 容器并執(zhí)行獲取 .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"'
要自動(dòng)執(zhí)行所有上傳步驟,只需運(yùn)行./upload.sh腳本。

回顧一下,您已將映像部署到連接到 Raspberry Pi Pico 的 Raspberry Pi 4 上,然后使用 GitHub 代碼空間更改該存儲(chǔ)庫中的代碼,并通過運(yùn)行 ./compile.sh 和 ./upload 遠(yuǎn)程刷新板.sh 腳本。
現(xiàn)在,您可以將此項(xiàng)目用作樣板模板,以便在嵌入式設(shè)備(openocd 支持的任何設(shè)備都可以)上輕松地遠(yuǎn)程運(yùn)行代碼,在本例中為 Raspberry Pi Pico。更改 pwm_led.c 文件上的代碼(或添加您自己的 C/C++ Pico 項(xiàng)目)并運(yùn)行編譯和上傳腳本以一步遠(yuǎn)程刷新 Pico。
我希望這對您的嵌入式項(xiàng)目有所幫助,尤其是當(dāng)您要加入新的貢獻(xiàn)者時(shí)。我還計(jì)劃另一個(gè)教程,介紹如何在收到 PR 后集成 GitHub 操作以自動(dòng)在 Pico 本身上運(yùn)行測試,以及能夠遠(yuǎn)程運(yùn)行 GDB 以在單步執(zhí)行我們的代碼時(shí)查看板的內(nèi)存內(nèi)容。請繼續(xù)關(guān)注更新!
- 用電機(jī)和Raspberry Pi Pico組裝人體骷髏
- Raspberry Pi Pico上的ADC采樣和FFT
- Raspberry Pi Pico多功能入門套件
- RP2040 Raspberry Pi Pico遇見LoRa
- Arduino Raspberry Pi Pico/RP2040以太網(wǎng):W5100S EVB Pico
- Raspberry Pi Pico作為HID鼠標(biāo)
- 基于Raspberry pi pico的音量控制宏鍵盤 3次下載
- 免費(fèi)Pico模擬器上的Raspberry Pi Pico和LCD1602接口
- 使用Raspberry Pi Pico的LED序列
- Raspberry Pi Pico:使用PIO驅(qū)動(dòng)伺服
- 如何在Raspberry Pi Pico中使用OLED顯示器
- 印有PINOUT的Raspberry Pi pico分線板
- 適用于Raspberry Pi 4的Raspberry Pi Pico開發(fā)板
- 基于BME680和Raspberry Pi Pico的氣象站
- raspberry pi Pico使用MicroPython變磚后的解決方法
- 5分鐘內(nèi)將Raspberry Pi Pico變成簡單的示波器+波形發(fā)生器 2318次閱讀
- 基于Raspberry Pi 5的蜂窩物聯(lián)網(wǎng)項(xiàng)目 1312次閱讀
- 使用Raspberry Pi Pico W和MicroPython開發(fā)物聯(lián)網(wǎng)應(yīng)用 2180次閱讀
- Pico W的無線功能 1085次閱讀
- 用于測試項(xiàng)目的4個(gè)最佳樹莓派Raspberry Pi模擬器 6823次閱讀
- 基于Raspberry Pi Pico的云端溫濕度監(jiān)測站設(shè)計(jì) 1986次閱讀
- 如何使用Raspberry Pi使熱水浴缸變得智能和遠(yuǎn)程操作 1985次閱讀
- 基于樹莓派產(chǎn)品 Raspberry Pi微控制器板的優(yōu)缺點(diǎn) 2984次閱讀
- 如何從Raspberry Pi Pico的模數(shù)轉(zhuǎn)換器捕獲數(shù)據(jù)計(jì)算? 2772次閱讀
- 基于Raspberry Pi Pico開發(fā)先進(jìn)的家庭自動(dòng)化系統(tǒng) 3004次閱讀
- 微雪電子ZeroW| Raspberry Pi ZeroW主板簡介 2618次閱讀
- 微雪電子Raspberry Pi 3 Model主板簡介 3145次閱讀
- 利用Raspberry Pi構(gòu)建存儲(chǔ)和虛擬化時(shí)間序列數(shù)據(jù) 952次閱讀
- 一文了解Raspberry Pi 4各項(xiàng)性能跑分 3w次閱讀
- 視覺享受!用Raspberry Pi實(shí)現(xiàn)圣誕樹燈光秀 8344次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評論