是的,你沒看錯!的確是用Scratch控制NXT。
探奇發表舊文章Scratch 與 Arduino時,就已經決定還要另外寫文章介紹這位『神人』!
SABRE,Southern Alberta Robotics Enthusiasts,在加拿大的高手Clinton Blackmore。
起因是這篇文章:
Code Blocks, Electronic Bricks, and LEGO Beams
文中敘述使用一些BYOB方式建構Scratch的程式方塊,透過廣播系統傳遞變數,可以跟NXT『交談』(NXT要執行相對應的JAVA或 Python程式)。
這種方式跟探奇舊文章Scratch and LEGO NXT所做的很像,也就是
Scratch<-->Scratch connection廣播<-->JAVA程式<-->NXT
(探奇方法的是用Python程式取代上述的Java程式)
在這篇文章的最後面,SABRE提到要再進行關於JAVA的計畫,過了一陣子,終於有了雛形,
取名叫做Enchanting,不久也有了專屬網站:http://enchanting.robotclub.ab.ca
這個計畫跟leJOS有關,簡單的說就是讓Scratch自動產生Java程式,再傳到NXT執行。
(不要問我如何完成,我也很好奇到底是如何作的,難道也可以自動產生NXC,C++等程式?)
由於探奇沒有實際進行實驗,無法介紹這個系統如何運作,所以遲遲無法發文。
最近SABRE blog接連發出新文章,說明Enchanting已經有v0.0.3版發佈,還有示範影片,
不知道邱老師Enchanting測的如何?
回覆刪除之前我也打算測測看,不過想到還要安裝leJOS環境...還是等非常有空時再測測
我的JNXT又有新版本出來了,可否請邱老師測試看看,在wubi上跑有沒有問題,謝謝
[版主回覆12/07/2010 13:52:36]你好:
Enchanting可以跟NXT連線,但是傳輸程式後,執行不正常。還沒有時間詳測。
剛剛再測一次了您的新版JNXT,還是遇到兩個問題:
1. 我沒有用WINE安裝SCRATCH,所以還不知道如何執行你的image檔。我想應該可以直接在windows下的Scratch執行。但是需要jnxtserver的windows執行檔。jnxtserver是用java寫的嗎?還請你轉到windows平台試試。
2. 單獨執行./jnxtserver後,出現錯誤訊息,如下圖:
我會找時間發文,將你的大作分享給大家,謝謝!
回覆刪除感謝邱老師百忙中幫忙測試!!!
1.關於單獨執行./jnxtserver後,出現錯誤訊息的原因是,因為沒有執行Scratch.exe載入JNXT .image,所以無法按綠旗執行範例中的host mesh指令積木,導致jnxtserver無法正確連結JNXT/Scratch
2.可能的解決方法有3種
a.先在Windows上執行Scratch.exe載入JNXT .image,然後jnxtserver一樣在你的wubi的ubuntu上執行
b.否則就得安裝Wine,然後按照說明文件的步驟執行
c.如果你的wubi的ubuntu上已安裝linux版的Scratch,也可以將JNXT .image複製到/usr/lib/scratch/目錄底下,不過這要動用管理者權限,所以比較不建議如此
3.jnxtserver目前只能在ubuntu/linux執行,等到JNXT上的指令積木大致齊全後,找時間再來考慮是否出Windows版的