lejos 程序 如何燒錄 除了NXT 是否可以燒錄到其他硬件上,如何燒錄? 具體燒錄到NXT的目的是做什麽?
以下是對LEJOS的壹些介紹,看看或許有好處。
什麽是leJOS?
leJOS NXJ 是基於樂高的MINDSTORM NXT型號機器人,壹個Java程序開發/運行環境。有了它,妳就可以用Java代碼來編寫控制機器人的程序。
leJOS NXJ主要由以下壹些部分組成:
包括了壹個Java虛擬機的NXT固件。(也就是壹個NXT的小型操作系統,會把原來NXT自帶的系統替代掉,好比手機的刷機)
壹個包含了leJOS NXJ應用程序接口(API)的Java程序類庫(classes.jar)。
壹個連接器(linker),用來鏈接用戶的Java程序和類庫(classes.jar),產生壹個二進制的可執行文件,用來上傳到MINDSTORM NXT中去。
壹套桌面程序,用來燒錄固件到NXT,上傳可執行文件,調試以及其他壹些功能。
壹套桌面程序的API,用來開發能夠與NXT上的程序通訊的桌面程序。通訊的協議包括,Java流,藍牙,USB或者用樂高自有的協議。(LCP = LEGO Communications Protocol)。
還附有好多例子代碼,方便學習和參考。
因為上述的開發都基於leJOS NXJ的固件,所以必須把leJOS NXJ的固件燒錄到新買的NXT中去,也就是說,會把樂高自帶的固件覆蓋掉。不過,樂高自帶的標準固件可以被恢復的。恢復所需要的軟件和工具,在套裝的光盤裏應該可以找到。
leJOS 是壹個在Sourceforge.net上的開源項目,最初是有TinyVM項目演化而來的,用來實現LEGO Mindstorms RCX上的Java虛擬機,(LEGO Mindstorms RCX是NXT的舊版本)。RCX版本的leJOS在當時也是非常流行的,據說已經有200,000次的下載。TinyVM和RCX版本的leJOS的作 者是 Jose Solorzano。
NXT的出現,給了leJOS的開發團隊壹個機會,大大提高了leJOS的功能和各方面。
leJOS有什麽優點?
相對於NXT-G(NXT-G貌似是樂高自己的壹個開發工具,裏面和兒童玩具似的,拖拽控件來實現邏輯控制)和其他NXT的開發環境,leJOS有很多有點,下面就壹壹列出來:
使用了工業標準化的Java語言。
支持面向對象的編程。
作為開源項目,有很多參與者和貢獻者。
支持妳選擇壹個專業的可視化開發工具,比如Eclipse和Netbeans。
提供針對上述2個開發工具的插件。
支持不同的平臺,Windows,linux和Mac OS X。
比NXT-G快多了。
對於藍牙,usb,I2C和RS485協議的完美支持。
提供了對於馬達的精確控制。
支持最新版本的v1.6的Java語言。
對於Navigation的完美支持。
對於本地化的支持,包括了Monte Carlo Localization (MCL)。
支持其他復雜的機器人算法,比如Kalman filters。(我也不懂這是啥)
提供了Behavior類,用來簡化對於機器人復雜行為的控制。
支持很多第三方的傳感器。
支持通過藍牙或者usb的遠程事件記錄,可以選擇把System.out或者System.err重定向。
支持在桌面電腦上遠程的控制和跟蹤妳在NXT上運行的程序。
提供了浮點計算等系列復雜的計算啦。
能在LCD上畫比較復雜的圖形。
支持多線程。
支持監聽和事件。
提供了安全的內存管理和回收機制。
支持通過藍牙,usb和RS485的標準Java輸入/輸出。
提供了由Java io訪問的閃存。
數據記錄,遠程日誌捕獲。
支持8位的wav聲音播放。
提供了好多例子程序可以參考。
提供了在PC上運行復雜程序的功能。
提供在線的技術支持和網站。
有支持TCP/IP SOCKS的機器人遙控。
支持多個NXT之間的藍牙和RS485通訊。
支持NXT通過藍牙和其他設備通訊,比如GPS導航儀。
(譯者:下面還有幾個不怎麽重要..就不壹壹翻譯了...)
支持GPS設備,包括javax.microedition.location API
支持使用藍牙SPP(Serial Port Profile)的藍牙鍵盤
通過第三方適配器——例如Mindsensors NRLink——支持與RCX間的雙向通信
支持伺服電機和Power Function (PF) motor(不知道是什麽東東)
提供與LEGO Communications Protocal(LCP)的兼容能力,所以很多可以與標準LEGO固件協同工作的工具也可以與LeJOS協同工作
有壹個簡單易用的菜單系統
廣泛用於大學以及各種教育機構
支持簡單的計算機視覺應用