我在十八个月前申请当地图书馆的 STEM 资助时接触到了 LEGO Mindstorms。LEGO Mindstorms 是用于创建可定制、可编程机器人的套件。
在研究该产品时,我发现 Mindstorms 机器人的核心 EV3 砖块运行在 Linux 上。尽管如此,该项目分发的所有编码软件都在 Windows、OS X、iOS 和 Android 上运行。我找到了一个开源项目,允许修改 EV3 砖块软件,即 ev3dev。ev3dev 是一个开源项目,允许 Mindstorm 用户创建一个基于 Debian 的操作系统 (OS),该系统从 microSD 卡启动。一旦 EV3 砖块启动 Debian 镜像,用户就可以通过终端窗口中的命令行使用 SSH 与 EV3 进行交互。
ev3dev 网站有一个很棒的 ev3dev 入门指南。
David Lechner 是该项目的首席开发人员,我有机会向他提出了一些问题。David 的背景是俄克拉荷马州立大学电气工程学士学位,然后在水和废水行业从事了八年的工业自动化工作。最近四年,他一直在主要为开源项目(如 ev3dev)从事自由计算机编程工作。
我问他 ev3dev 项目是如何启动的,他说他的灵感来自 Ralph Hempel(EV3dev 项目的创始人)的 一篇 博客文章。David 本身就是一个喜欢摆弄的人,他无法抗拒。他说:“即使我不知道自己在做什么,我也立刻投入进去,开始学习如何编写内核驱动程序(我必须从 C 语言的“Hello World”开始,因为我没有任何该语言的经验),以及如何维护 Debian 软件包以及制作操作系统所需的各种其他东西。” 幸运的是,他当时所处的职位允许他将精力集中在这项任务上。不久之后,Ralph 意识到 David 有更多的时间投入,并让他成为该项目的共同维护者。
我问 David 有多少人参与该项目,他说:“很难确切地说。由于 LEGO 机器人对大多数人来说只是一种爱好,我们有很多人出现一两个周末然后就消失了。但是,我想说我们有 5 到 10 名长期与我们合作的贡献者。” 我问他,鉴于 Mindstorm 机器人在如此多的学校中使用,该项目是否会考虑让年轻人参与进来。他说:“当然。不幸的是,目前,我们没有太多可以为年幼学生提供的非常适合儿童的东西。希望有一天会有。另一方面,如果能与已经有一点编程经验的高中生和/或大学生合作,那就太好了。” 他说,该项目的潜在开发人员不应因缺乏经验而感到害怕,因为他自己在刚开始参与 ev3dev 时也非常缺乏经验。
David 说他喜欢与学生一起工作,并且教过一些课后 NXT 机器人课程。他目前担任 First LEGO League 团队的教练。我问他短期内最迫切的需求是什么,他说:“我真的很希望看到其他贡献者愿意花费大量时间来改进 ev3dev,赶在下一代 LEGO Mindstorms 机器人出现并且大家都转移到那个平台之前。也许一些大学生可以将 ev3dev 的某个方面作为他们的毕业设计项目,或者开发 Mindstorms 兼容产品的公司可以采用 ev3dev 作为平台,而不是开发自己的平台。”
当被问及他的长期目标时,他说:“我希望将我们的硬件驱动程序放入主线 Linux 内核中。Jason Kridner(来自 BeagleBone)和 Greg Kroah-Hartman(来自 Linux 基金会)一直在敦促我短期内这样做。但是,即使要让 EV3 从主线 Linux 内核启动,也还有很多工作要做,然后我们才能开始处理 ev3dev 特定的部分。” David 鼓励 ev3dev 用户尝试它,并让项目组知道他们可以如何改进,并让他们知道可以迭代到项目的想法。
要开始您自己的 ev3dev 体验,您需要一个 LEGO Mindstorms 家庭版或教育版套件、EV3 砖块以及 2GB 或更大的 microSD 卡。访问 ev3dev 网站并下载最新的 Debian Jessie 镜像文件。为您的特定操作系统下载 Etcher,将镜像传输到您的 microSD 卡,然后在镜像传输到您的卡后,将其插入您的 EV3 并打开设备电源。按照 ev3dev 网站上的说明进行操作。使用套件随附的 USB 电缆连接到 EV3,开始享受乐趣。
ev3dev 源代码位于 GitHub 上,并根据 GPLv2 获得许可。
这个魔方解决方案是基于 ev3dev 的项目的一个示例:Python 魔方解算器
2 条评论