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

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

4. 填寫(xiě)選項(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)程刷寫(xiě)它。
第 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)行以下命令來(lái)構(gòu)建淡入淡出項(xiàng)目 (pwm_led.c):
mkdir 構(gòu)建
光盤(pán)構(gòu)建
cmake..
制作
或者,我還包含了一個(gè)名為 compile.sh 的 bash 腳本,它會(huì)在您對(duì)其進(jìn)行更改后再次編譯您的 pwm_led.c 文件。這樣,您不必每次都重新執(zhí)行上述步驟。
第 3 部分:balena CLI
接下來(lái),使用 balena CLI 輕松隧道到 Raspberry Pi 設(shè)備,以發(fā)送我們剛剛制作的編譯文件 (/build/pwm_led.elf) 以遠(yuǎn)程刷新我們的 Pico。
要添加 Balena CLI,請(qǐng)運(yùn)行以下命令:
導(dǎo)出
登錄
然后選擇憑證選項(xiàng)并登錄到您的 balena 帳戶(hù)。
現(xiàn)在我們有了可用的balena CLI,我們應(yīng)該能夠通過(guò)隧道進(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確保我們可以通過(guò)防火墻。
3.點(diǎn)擊+號(hào)打開(kāi)另一個(gè)終端窗口

從這里開(kāi)始,我們需要停留在您剛剛在 Codespaces 中打開(kāi)的第二個(gè)終端窗口中。以下是將 pwm_led.elf 文件導(dǎo)入 Pico 的手動(dòng)步驟。但是,與之前的編譯腳本類(lèi)似,我還提供了一個(gè)自動(dòng)執(zhí)行此步驟的上傳腳本,因此如果您時(shí)間緊,請(qǐng)隨意跳過(guò)此部分。
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ǔ)庫(kù)中的代碼,并通過(guò)運(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。
我希望這對(duì)您的嵌入式項(xiàng)目有所幫助,尤其是當(dāng)您要加入新的貢獻(xiàn)者時(shí)。我還計(jì)劃另一個(gè)教程,介紹如何在收到 PR 后集成 GitHub 操作以自動(dòng)在 Pico 本身上運(yùn)行測(cè)試,以及能夠遠(yuǎn)程運(yùn)行 GDB 以在單步執(zhí)行我們的代碼時(shí)查看板的內(nèi)存內(nèi)容。請(qǐng)繼續(xù)關(guān)注更新!
- 用電機(jī)和Raspberry Pi Pico組裝人體骷髏
- Raspberry Pi Pico上的ADC采樣和FFT
- Raspberry Pi Pico多功能入門(mén)套件
- RP2040 Raspberry Pi Pico遇見(jiàn)LoRa
- Arduino Raspberry Pi Pico/RP2040以太網(wǎng):W5100S EVB Pico
- Raspberry Pi Pico作為HID鼠標(biāo)
- 基于Raspberry pi pico的音量控制宏鍵盤(pán) 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分線(xiàn)板
- 適用于Raspberry Pi 4的Raspberry Pi Pico開(kāi)發(fā)板
- 基于BME680和Raspberry Pi Pico的氣象站
- raspberry pi Pico使用MicroPython變磚后的解決方法
- 5分鐘內(nèi)將Raspberry Pi Pico變成簡(jiǎn)單的示波器+波形發(fā)生器 2318次閱讀
- 基于Raspberry Pi 5的蜂窩物聯(lián)網(wǎng)項(xiàng)目 1312次閱讀
- 使用Raspberry Pi Pico W和MicroPython開(kāi)發(fā)物聯(lián)網(wǎng)應(yīng)用 2180次閱讀
- Pico W的無(wú)線(xiàn)功能 1085次閱讀
- 用于測(cè)試項(xiàng)目的4個(gè)最佳樹(shù)莓派Raspberry Pi模擬器 6823次閱讀
- 基于Raspberry Pi Pico的云端溫濕度監(jiān)測(cè)站設(shè)計(jì) 1986次閱讀
- 如何使用Raspberry Pi使熱水浴缸變得智能和遠(yuǎn)程操作 1985次閱讀
- 基于樹(shù)莓派產(chǎn)品 Raspberry Pi微控制器板的優(yōu)缺點(diǎn) 2984次閱讀
- 如何從Raspberry Pi Pico的模數(shù)轉(zhuǎn)換器捕獲數(shù)據(jù)計(jì)算? 2772次閱讀
- 基于Raspberry Pi Pico開(kāi)發(fā)先進(jìn)的家庭自動(dòng)化系統(tǒng) 3004次閱讀
- 微雪電子ZeroW| Raspberry Pi ZeroW主板簡(jiǎn)介 2618次閱讀
- 微雪電子Raspberry Pi 3 Model主板簡(jiǎn)介 3145次閱讀
- 利用Raspberry Pi構(gòu)建存儲(chǔ)和虛擬化時(shí)間序列數(shù)據(jù) 952次閱讀
- 一文了解Raspberry Pi 4各項(xiàng)性能跑分 3w次閱讀
- 視覺(jué)享受!用Raspberry Pi實(shí)現(xiàn)圣誕樹(shù)燈光秀 8344次閱讀
下載排行
本周
- 1NS1081/NS1081S/NS1081Q USB 3.0閃存數(shù)據(jù)手冊(cè)
- 0.40 MB | 4次下載 | 2 積分
- 2光伏并網(wǎng)逆變器原理
- 7.31 MB | 3次下載 | 2 積分
- 3T20電烙鐵原理圖資料
- 0.27 MB | 2次下載 | 免費(fèi)
- 4PL83081 雙路恒流同步降壓轉(zhuǎn)換器技術(shù)手冊(cè)
- 3.34 MB | 1次下載 | 免費(fèi)
- 5PL88052 4.8V至60V輸入,5A,同步降壓轉(zhuǎn)換器技術(shù)手冊(cè)
- 3.36 MB | 1次下載 | 免費(fèi)
- 6LX8201微孔霧化驅(qū)動(dòng)芯片電路圖資料
- 0.15 MB | 1次下載 | 免費(fèi)
- 7PC6200_7V直流電機(jī)驅(qū)動(dòng)器技術(shù)手冊(cè)
- 0.47 MB | 次下載 | 免費(fèi)
- 8恒溫晶體振蕩器(OCXO)FOC-2D:20.6×20.6mm在通信基站和測(cè)試設(shè)備中的應(yīng)用參數(shù)規(guī)格
- 485.75 KB | 次下載 | 免費(fèi)
本月
- 1如何看懂電子電路圖
- 12.88 MB | 329次下載 | 免費(fèi)
- 2RK3588數(shù)據(jù)手冊(cè)
- 2.24 MB | 14次下載 | 免費(fèi)
- 3PC5502負(fù)載均流控制電路數(shù)據(jù)手冊(cè)
- 1.63 MB | 12次下載 | 免費(fèi)
- 4STM32F10x參考手冊(cè)資料
- 13.64 MB | 12次下載 | 1 積分
- 5OAH0428 V1.0英文規(guī)格書(shū)
- 5.86 MB | 8次下載 | 免費(fèi)
- 6NS1081/NS1081S/NS1081Q USB 3.0閃存數(shù)據(jù)手冊(cè)
- 0.40 MB | 4次下載 | 2 積分
- 7PID控制算法學(xué)習(xí)筆記資料
- 3.43 MB | 3次下載 | 2 積分
- 8光伏并網(wǎng)逆變器原理
- 7.31 MB | 3次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935132次下載 | 10 積分
- 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191415次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183349次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81599次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73818次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65990次下載 | 10 積分
評(píng)論