2015/03/21

LinkIt ONE:初步雜想

拿到LinkIt ONE已經幾天了,也寫了幾篇簡單範例,在此記錄一些雜想事項。

★ 兩個序列埠,開發時需要不斷切換。

(2015.06.05更新:新版SDK 1.1.08,燒錄時會自動選擇正確的序列埠,太棒啦。)

開發時,因為需要不斷地重複步驟「修改程式-切換序列埠-燒錄-切換序列埠-開啟序列埠監控視窗-...」,所以需要不斷地在Arduino IDE選單「Tools-Port」 裡切換兩個序列埠,非常麻煩。

(話說回來,為什麼COM1也標示著(LinkIt ONE)的字樣?)

一個是MTK USB Debug Port,用於燒錄程式時;另一個是MTK USB Modem Port,用於一般序列傳輸時。
不過也不是無解,可以讓Arduino IDE保持選定燒錄用的埠,然後另外使用一套軟體(譬如Tera Term)來開啟另一個序列埠進行傳輸。

★ 每次都重頭編譯。

這不關LinkIt ONE的事情,而是Arduino IDE的問題,明明1.0.1版與1.5.6r2版可以做到「只編譯更動過的原始程式檔」,但我試了1.5.7與1.6.1卻不行,每次都會重頭編譯,浪費時間。當然啦,也可以想辦法繞過Arduino IDE,自己在命令列模式下進行開發作業,但不是每個人都做得到。

2015.03.29:嘿,1.6.2版又修好啦,而且增加程式庫與板子的管理功能,支援新板子與安裝程式庫都有了一定的架構;但目錄結構也更動了。希望LinkIt ONE趕快跟上。
2015.04.02:嘿,這麼快又釋出新版1.6.3,把目錄結構改回去了。

★  尚未支援Mac OS X與Linux

(2015.06.05更新:新版SDK 1.1.08,開始支援Mac OS X。)

目前僅支援Windows XP/Vista/7/8,從官網的描述看來,將來應該會支援Mac OS X與Linux吧,我不確定,希望能快一點。

★ API文件不夠詳細,範例不夠好不夠多。

雖然有API的說明文件,但不夠詳細,很多資訊都要到原始程式碼檔裡的註解去挖掘;範例程式通常都很短,不足以稱作範例。

★ 有三個指撥開關。

這點似乎無可奈何,板子功能多,自然需要開關作切換。

★ 腳位功能非完全相容於Arduino UNO。

雖然腳位排列與Arduino板子相同,但卻有諸多差異,畢竟做不到無痛轉移;不過擴充板若不會使用那些差異處,應可相容。嗯,個人認為能做到這樣已經相當不錯,畢竟底層硬體完全不同,LinkIt ONE已經實作移植了Arduino的API(軟體部分)。

★ 看不到草稿碼裡setup()函式的Serial.print輸出。

一般的Arduino板子,開啟序列埠監控視窗的話,會重置板子,也就會執行setup(),便可看到輸出,但LinkIt ONE並不會。拔插電源或按下重置鍵的話,序列埠會消失再出現,也必須重新開啟序列埠監控視窗,到那時候已經看不到setup()裡Serial.print的輸出。

有個不完美的解決辦法,在loop()裡加入底下的程式碼:

while(!Serial)
  delay(100);

那麼便會停在該處,直到你開啟序列埠監控視窗。

★ 奇奇怪怪

各種疑難雜症,猜測跟USB驅動程式與Windows本身有關,不完全明白。

案例:這塊板子接這台電腦不行,接那台電腦就可以。
案例:有時接上USB線,沒多久序列埠就消失了,重新插拔多次才回復。
案例:接上某USB埠,燒錄程式成功,但序列埠就消失不見了,插拔無效。換了另一個USB埠,再燒錄程式之後,又出現同樣的狀況。最後,每個USB埠都不能用了。
案例:Windows(7?)會自動安裝驅動程式,卻又裝錯,須關閉驅動程式自動更新的功能。
案例:會出現「Alcatel Single RNDIS Interface」這張網卡,須關閉該裝置或移除。


雖然拉拉雜雜抱怨了一堆,但總合而言,LinkIt ONE是塊非常不錯的開發板,更是一套很棒的物聯網與穿戴式裝置的電子原型設計平台,定價為$79美金,以其硬體規格而言,非常划算,希望它會越來越好,越來越紅。

最後再小小聲發個牢騷,個人覺得LinkIt ONE這個名字取的不夠好,ONE?HTC One、Xbox One、Android One、JavaOne、Ubuntu One、OneDrive、One Piece海賊王,到處都是one;LinkIt也很普通,lt與It傻傻搞不清楚。話說回來,我也深知取名很困難,既要響亮也須獨特,很多好名字都被拿走了;嗯,只是個小小牢騷,不必在意。

參考資料:

3 comments:

  1. 想請問一下,我裝了MTK VCOM Port, MTK Debug Port, MTK Modem Port
    但是都有一個黃色驚嘆號(ERROR CODE 10)
    看了許多文章,他們都說可以忽略這個錯誤
    但當我打開Arduino IDE vr1.5.7的Port時,卻找不到任何一個Port!(我的板子是LinkIt)
    方便請教您教如何解決此問題嗎~~~?

    ReplyDelete
    Replies
    1. > 他們都說可以忽略這個錯誤
      呃?是嗎?黃色驚嘆號不是代表沒成功嗎?

      > 如何解決此問題
      你光這樣說,我也不知道問題在哪。
      看起來是驅動程式沒裝好。

      Delete