资料介绍
描述
关于
如果您正在维护一个开源嵌入式项目,可能很难加入新开发人员,因为特定设置的复杂性和个性可能会有很大差异。此外,如果您要接收来自社区的贡献,您可能希望通过自动化测试来确保它们的有效性。出于这个原因,我开始寻找一个工作流程,让我可以远程刷新嵌入式硬件(最初只是一个 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 "program /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变成简单的示波器+波形发生器 2318次阅读
- 基于Raspberry Pi 5的蜂窝物联网项目 1312次阅读
- 使用Raspberry Pi Pico W和MicroPython开发物联网应用 2180次阅读
- Pico W的无线功能 1085次阅读
- 用于测试项目的4个最佳树莓派Raspberry Pi模拟器 6823次阅读
- 基于Raspberry Pi Pico的云端温湿度监测站设计 1986次阅读
- 如何使用Raspberry Pi使热水浴缸变得智能和远程操作 1985次阅读
- 基于树莓派产品 Raspberry Pi微控制器板的优缺点 2984次阅读
- 如何从Raspberry Pi Pico的模数转换器捕获数据计算? 2772次阅读
- 基于Raspberry Pi Pico开发先进的家庭自动化系统 3004次阅读
- 微雪电子ZeroW| Raspberry Pi ZeroW主板简介 2618次阅读
- 微雪电子Raspberry Pi 3 Model主板简介 3145次阅读
- 利用Raspberry Pi构建存储和虚拟化时间序列数据 952次阅读
- 一文了解Raspberry Pi 4各项性能跑分 3w次阅读
- 视觉享受!用Raspberry Pi实现圣诞树灯光秀 8344次阅读
下载排行
本周
- 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次下载 | 免费
评论
查看更多