面向大学的树莓派 RemoteLab 机器人开发!
<p>大学生远程机器人开发并非痴人说梦--在弗罗茨瓦夫科技大学,这已成为现实。在最新一期的《The MagPi》中,Rob Zwetsloot 与 RemoteLab 进行了交流。作为 #MagPiMonday 的特别节目,在此与您分享。</p><p>几期前,我们采访了 Wojciech Domski 关于他的遥控飞机 OSD 的故事,这是一个很酷的小项目,可以让他看到遥控飞机的飞行位置以及一些 HUD 信息。在令人印象深刻的同时,他还与弗罗茨瓦夫大学合作了一个项目,并一直热衷于与我们分享。</p>
<p><a class="link-info" contenteditable="true" data-link-icon="https://csdnimg.cn/release/blog_editor_html/release2.3.6/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=N7T8" data-link-title="遥控飞机 OSD:" data-widget="csdnlink" href="https://www.raspberrypi.com/news/rc-plane-osd-magpimonday/" title="遥控飞机 OSD:">遥控飞机 OSD:</a></p>
<p><strong>可通过 RemoteLab 访问各种开发板,包括 ST 的 Nucleo 板和 Discovery 板</strong></p>
<div></div>
<p>Wojciech 解释说:“RemoteLab 被称为硬件即服务(Hardware-as-a-Service),它通过服务方式提供对开发板等资源的远程访问。它位于弗罗茨瓦夫科技大学,用于机器人控制器和高级机器人控制课程"。</p>
<p>RemoteLab 的出现是必要的--2020 年,由于新冠疫情大流行,弗罗茨瓦夫科技大学与世界其他地方一样暂停了面授课程。由于学生无法访问真正的开发板(以及他们所在的实验室),Wojciech 开始构建一种通过 Raspberry Pi 远程访问开发板的方法。</p>
<p>Wojciech 说:"2020 年底,我在家里开发并运行了第一个版本。2021 年,我建立了环境并推出了服务。如果没有我所在大学的支持以及 [私营公司] ST 提供开发板的人员的支持,这一切都不可能实现。”</p>
<p><strong>网络界面包括一个摄像头,您可以监控电路板</strong></p>
<div></div>
<p>最初的构建使用的是 Raspberry Pi 3,它兼顾了低功耗和高硬件性能,再加上支持良好的 Linux 发行版,使其成为理想的选择。</p>
<p>Wojciech 告诉我们:"它的性能足以同时为十几名学生提供服务。不过,提供开发板视图的视频流效果并不好。我需要解决这个问题,并决定使用基于静态图像的视频预览。下一代产品包括升级到 Raspberry Pi 4。现在,甚至可以直接在 Raspberry Pi 上工作和开发代码,因为它提供了足够的计算能力。最后,在 2024 年又进行了一次升级。三台服务器换成了 Raspberry Pi 5。此外,网络界面也有了新的更新版本。根据我的实验,Raspberry Pi 5 甚至可以向全班学生传输真实的视频反馈"。</p>
<p> </p>
<p><span style="color:#e74c3c;"><span style="font-size:24px;"><strong>充满挑战的发展</strong></span></span></p>
<p> </p>
<p>我们喜欢问每个制作者制作过程如何。Wojciech 的回答很直白:“太可怕了 :D”,还配了一个表情符号。</p>
<p><strong>RemoteLab 使用的开发板之一</strong></p>
<div></div>
<p>Wojciech 承认:"我不想计算晚上花在硬件安装上的时间。准备软件是一回事,你可以逐步添加新功能,必要时还可以修改。我印象最深的是将额外的硬件(如传感器)连接到开发板上。我花了大约三天的时间进行设置和测试"。</p>
<p>我们都经历过组装失败的挫折。不过最终,他还是成功地完成了所有工作。用户只需通过 SSH 连接到 RemoteLab 服务器,就能通过网络界面查看实验室中开发板的状态并对其进行控制。对了,由于升级到了 Raspberry Pi 5,现在还能获得视频反馈。</p>
<p> </p>
<p><span style="color:#e74c3c;"><span style="font-size:24px;"><strong>远程学习</strong></span></span></p>
<p> </p>
<p>对于任何这样的项目,从最终用户那里获得反馈也很重要,而它似乎很受学生们的欢迎。</p>
<p>Wojciech说:"一些学生非常喜欢RemoteLab,说它对他们帮助很大。具有突破性意义的是,该系统可以全天候使用。我收到很多反馈,说学生们能够更好地备课,而且他们不受任何时间限制。</p>
<p><strong>原型设计是一项费力的工作,布线是一项繁琐而细致的工作</strong></p>
<div></div>
<p>Wojciech 仍在开发这个系统,过去几年来一直如此,并在不断改进,例如刚刚增加了通过网络界面的串行控制台,下一步他将考虑实时绘图。他还在考虑扩展到第四台 Raspberry Pi 服务器,并增加对 Raspberry Pi Pico 和 Pico 2 的支持。</p>
<p>Wojciech 最后说道:“我认为 RemoteLab 完全代表了 Raspberry Pi 基金会的宗旨,它这完全是为了支持教育并鼓励人们进行创新。”</p>
<p> </p>
<p><span style="color:#e74c3c;"><span style="font-size:24px;"><strong>工作原理</strong></span></span></p>
<p> </p>
<p>1. 用户与服务器之间通过 SSH 传输两个端口,其中一个端口为网络用户界面。在这里,你可以查看开发板的状态、调试器是否正在运行以及其他功能。</p>
<div></div>
<p>2. 第二个端口专用于调试器(openocd 或 st-link),通过 SWD 接口连接,就像 Raspberry Pi Pico 上一样。远程调试允许将新固件上传到开发板,或调试开发板上的源代码。</p>
<div></div>
<p>3. 管理员方面要复杂一些,需要网络服务器来管理上述功能。我们创建了一套 Python 脚本,用于在任何特定 RemoteLab 设置的一台或所有服务器上自动执行重复任务(如更新代码)。</p>
<div></div>
洞洞板和杜邦线,那时候全是青春的味道啊 <p>看着这些线就头疼,如果集成式的就应该简约,防反插等设计,重点是编程,减少硬件难度</p>
页:
[1]