找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 8831|回复: 2

怎样在 Lego Mindstorms NXT 上安装运行 Java 程序

  [复制链接]
发表于 2008-9-14 16:04:23 | 显示全部楼层 |阅读模式
本教程介绍了如何使用 Java 语言对 Lego Mindstorms NXT 机器人编程。教程步骤详细并配以大量图片说明,适合准备使用Java语言在 Lego Mindstorms NXT (下文简称为:NXT)上编程的初学者。(注:教程中图片均截自 WindowsXP 操作系统)
教程分为以下4个步骤:
第一步 安装 Java 开发工具包如果你的计算机上已经安装 JDK1.5 或更高的版本,并配置了所需的环境变量(这里指 JAVA_HOME 与 PATH )那么你可以直接进入第二步:安装乐高 USB 驱动程序。下面介绍安装、配置 JDK 的过程:
首先登陆到 Sun 公司的官方网站下载 Java 开发工具包,这里要求你下载并安装 JDK1.5 或更高的版本,因为最新版的 Lejos NXJ (Version 0.6)需要在 JDK1.5 或更高版本上方可运行。而且在后续的教程中,还会介绍如何借助 Eclipse3.3 平台开发 NXT 的 java 程序,同样运行 Eclipse3.3 也需要 JDK1.5 或更高的版本的支持。下面以下载安装 JDK1.5 为例,你也可以选择下载安装其他更高的版本。注:在安装 JDK 的同时 JRE 也会被一同安装。
  • 进入 JDK 下载页面,点击 Download。
  • 选择 Windows 操作系统和默认的多国语言(Multi-Language),然后点击 Continue(下一步)。
  • 点击 jdk1.5 下载链接,将安装文件保存至本地。
  • 下载完成后,运行刚刚下载的安装程序,开始安装 JDK。安装过程中会提示安装 JDK 和 JRE ,根据提示选择你所要安装的程序,这里我们默认安装全部功能,点击 下一步 继续运行安装程序即可。
  • 安装成功后会提示安装完成,点击 完成 按钮结束 JDK 的安装。
  • 下面设置 Java 的环境变量,首先在 我的电脑 上点击右键,选择属性。
  • 在 系统属性 窗口中选择高级选项卡,点击下面的环境变量按钮,弹出环境变量窗口。
  • 这里需要新建一个环境变量“JAVA_HOME”和修改一个环境变量“Path”。在环境变量窗口中点击新建按钮添加环境变量。
  • 在弹出的新建系统变量对话框中,设置变量名为: JAVA_HOME
    变量值为 JDK 的安装目录,如果是默认安装则应为: C:\Program Files\Java\jdk1.5.0_15
    填写完成后点击 确定 按钮,关闭对话框。
  • 再选中环境变量 Path,然后点击编辑按钮,弹出 编辑系统变量 对话框。在变量值后追加 JDK 的执行文件目录(安装目录下的 bin 目录) ;%JAVA_HOME%\bin
    编辑完成后点击确定,关闭对话框。注:多个环境变量值要用 ; 号隔开。
  • 环境变量设置完成后点击环境变量窗口的确定按钮保存设置结果。接下来验证刚刚设置的环境变量是否生效。首先打开 命令提示符 打开方法:开始=>程序=>附件=>命令提示符。
  • 在命令行中输入执行(回车) javac
    如果命令窗口中出现下图中的提示信息则说明环境变量设置成功,这样 JDK 的安装和配置到此结束。

第二步 安装乐高 USB 驱动程序如果你的计算机上已经安装了 LEGO 随机附带的 LEGO MINDSTORMS NXT 软件那么你可以直接进入教程第三步:Lejos 的安装 ,因为 LEGO MINDSTORMS NXT 软件的安装过程中已经包含了下面所要安装的 USB 驱动程序。
  • 登陆乐高官方网站下载最新的驱动程序
  • 下载完成后将压缩包解压,执行里面的 setup.exe 安装 USB 驱动程序。
  • 驱动安装完成后会提示你重新启动计算机,点击 Restart 重新启动计算机。
  • 下面验证驱动安装是否正确,计算机重新启动后用 USB 线将 NXT 与电脑连接,确认连接后启动 NXT。右键单击 我的电脑 选择 属性 。选择 硬件 选项卡,点击 设备管理器,如果在硬件列表中查看到 Lego Devices => Lego Mindstorms NXT ,这说明 LEGO USB 驱动已经成功的安装在你的计算机上。

第三步 安装 Lejos
  • 登陆 Lejos 主页点击 NXT 图片进入 Lejos 下载页面,点击 NXJ 的下载链接。
  • 下载完成后将下载的压缩包解压到指定文件夹。这里注意你所指定的文件夹路径中不要包含空格,比如: C:\Program Files\legos
    这个路径就不正确,因为文件夹“Program Files”中包含了一个空格。在使用 Java 开发的过程中空格总会引起这样或那样的问题,所以为了避免不必要的麻烦保存路径中一定不要包含任何空格。下面添加运行 Lejos 所需要的系统环境变量,变量添加的方法与添加 JDK 环境变量的方法相同,请参照第一步中的方法打开环境变量窗口进行设置。
    添加环境变量: NXJ_HOME
    环境变量值是 Lejos 的安装目录,即解压后 lejos_nxj 的全路径,注意路径中不能包含空格。这里我们解压到目录: C:\lejos_nxj
    完成后点击确定。
  • 向环境变量 Path
    的变量值后追加 ;%NXJ_HOME%\bin
    确定后保存设置结果。
  • 打开 命令提示符,执行命令 nxj
    如果窗口中出现下图提示信息,说明环境变量已经设置生效。这里还要注意:要在完成设置以后,重新打开一个 命令提示符 窗口,否则所设置的环境变量在命令提示符中不能生效。
  • 因为 Lejos 需要使用 Libusb 与 NXT 进行通讯所以接下来我们来安装 Libusb。Libusb 的安装文件可以在 Lejos 的安装目录下 lejos_nxj\3rdparty\lib
    里找到,运行 Libusb 的安装程序 libusb-win32-filter-bin-0.1.12.1.exe ,点击 Install 开始安装。
  • 安装完成后默认执行测试程序(Test Program)。
  • 接下来就要在 NXT 上安装 Lejos 系统了。注意当你安装 Lejos 后 NXT 原来的标准系统将被覆盖,NXT 中所有的数据也将全部删除,所以开始安装前一定要备份好有用的数据。如果想重新安装 NXT 默认的操作系统你可以使用 LEGO Mindstorms software 重新安装 LEGO 的标准系统(具体步骤请参照 Lego 玩具说明书)。现在确认你的 NXT 已经打开,用曲别针或牙签(个人觉得牙签比曲别针更方便更易取得)持续按下 NXT 主机背面的重启按钮大于4秒钟,NXT 即进入了固件上载模式(firmware upload mode),这个模式下就可以刷新 NXT 的操作系统了。
  • 进入固件上载模式后屏幕什么也不显示并连续发出微弱的滴答声。现在用 USB 线连接 NXT 和计算机,当计算机识别 NXT 的固件上载模式后。在 命令提示符 执行命令 nxjflash
    开始上载 Lejos ,待上载完成后 Lejos NXJ 会自动启动,出现欢迎界面与开始菜单。在 Lejos 运行的过程中,包括正在运行程序时,同时按下桔色和灰色的按钮(Enter+Space)就可以立即将 NXT 关闭。如果要重新启动只要按下桔黄色的按钮。如果 NXT 突然死机的话,将电池全部取出后重新安上启动即可。

第四步 编写、上载和运行的你第一个程序
  • 打开记事本,打开方法:开始=>程序=>附件=>记事本。
  • 在已经打开的记事本中输入如下的代码: import lejos.nxt.*;

    public class HelloWorld{
    public static void main (String[] aArg) throws Exception{
    LCD.drawString("Hello World",3,4);
    Thread.sleep(2000);
    } }


  • 将文件另存为 HelloWorld.java,这里我将文件保存在文件夹 C:\lejos_class 下,当然你可以选择保存的位置。
  • 打开 命令提示符 进入刚才保存 HelloWorld.java 的文件夹,这里是:C:\lejos_class ,然后在命令提示符中执行命令 nxjc HelloWorld.java
    将 Java文件编译为 HelloWorld.class 和 HelloWorld.nxj。
  • 现在确认你的 NXT 已使用 USB 连接到计算机上,并处于开机状态。在刚才打开的 命令提示符 中执行命令 nxj -r HelloWorld
    上载你的程序。几秒钟后随着一声悦耳的声音(程序上载成功提示音),屏幕上随即出现“Hello World”字样。至此你的第一个程序已经顺利在 NXT 上运行成功,如果要获得更多这方面的信息请访问 Lejos 的官方站点。

评分

参与人数 1激情 +10 宣传 +5 收起 理由
Programus + 10 + 5

查看全部评分

如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2012-6-15 19:58:11 | 显示全部楼层
很有用 TKS
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2012-8-6 00:08:55 | 显示全部楼层
唐老大 我这里看着怎么是图裂了
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|中文乐高 ( 桂ICP备13001575号-7 )

GMT+8, 2024-4-25 18:09 , Processed in 0.082673 second(s), 19 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表