我想使用 Lego Mindstorms NXT-G,但我无法定期使用运行 Windows 或 OS-X 的计算机。我曾尝试使用 Wine 在 Linux 中使用官方软件,但甚至无法安装。我想知道是否有人取得了更好的成功,如果有,那么是如何做到的,哪些方法有效,哪些方法仍然无效。
我知道还有其他对积木进行编程的选项,并且其中一些(大多数?)可以在 Linux 上运行,但是,这些选项不允许在诸如 FIRST Lego League 之类的比赛中使用,这使得它们不太适合我的目的。
答案1
我做了一些研究,发现了此主题声称编程语言应该在 Wine 下运行。同一主题中有人说他/她在 VirtualBox 而不是 Wine 中运行它。
然而,Mindstorms 软件列在 Wine 的应用数据中被归为“垃圾”。我认为这意味着它根本无法运行。
答案2
以下是我要尝试的方法。您可以在以下位置启动 MS Windows Micro 实例(虚拟机/VM)亚马逊网络服务(AWS)。如果您使用的是 Linux,AWS 微型虚拟机是免费的,但由于您需要 Windows,因此每小时收费 0.03 美元。价格表位于这一页如果微实例太小或太慢,您可以使用更大的实例(超大实例为 0.96 美元/小时)。
您可以在其上安装 LEGO 软件并远程工作。为了避免每次都安装 LEGO 软件,您甚至可以创建自己的 VM 并在需要时重新启动它。
我看到的唯一缺点是虚拟机和物理 LEGO NXT 积木之间的 IO。这可能可以通过在您的家用计算机上创建一个代理端口来解决,虚拟机上的 LEGO 软件可以通过该端口与积木进行通信。这需要测试,因为我没有 NXT。如果这部分太复杂(或不可能),您可以寻找其他方法从 Windows 虚拟机上传 NXT 上的代码。
如果你从未使用过 AWS,我建议你先从 Linux 微型实例(例如 Ubuntu)开始。由于它不花钱,所以这是试验整个系统如何运作的好方法。
答案3
新的 Ev3 软件可供下载,并支持对 NXT 2.0 块进行编程。
然而,它和NXT-G一样,只支持OSX和Windows。它可以在Playonlinux / Wine下安装,但由于依赖Mono 4.3和其他依赖项而无法启动。
我可以理解为什么 FLL 想要限制使用外部软件一致性,但如果没有人能够解决在 wine 下运行 Ev3 的问题,我确实希望他们能够考虑像 Enchanting 这样的技术。