2015/05/31

LinkIt ONE:使用Assist 2502韌體與SDK,閃爍LED

之前已安裝Assist 2502的SDK,並且更換韌體,現在來試試最基本的範例程式:閃爍LED。

記得板子的MS/UART開關切回UART。板子連接電腦後,應該出現兩個序列埠。

執行Eclipse,選單「File-New-Other...」,若之前的SDK安裝成功,應可看到專案種類「LinkIt Assist 2502 SDK 2.0」,請選擇裡頭的「Application (*.vxp)」。
進行設定,可修改「Project Name」與「Application name」,「Hardware Platform」記得根據你手上的板子來選擇,不要勾選「Empty Application」。
選擇想使用哪些API,但之後仍可以自行加入標頭檔。
專案建立之後,可開啟.c、.h檔,看看裡頭有些什麼東西。
接下來要進行編譯與建置,並且傳入板子裡。但不是使用Eclipse的按鈕,應使用LinkIt的,如下圖,從左到右是Application Settings、Build Application、Resource Editor、Monitor、Help。請按下「Build Application」,就會進行建置並傳入板子。
可在主控台裡看到進行的過程。
最後應會看到
11:23:59(INFO) Pack tag items done.

11:23:59(INFO) Begin to upload application.

11:23:59(INFO) ["D:\linkit\assist2502_sdk\LINKIT_ASSIST_SDK\tools\PushCmdShell.exe", "D:/linkit/eclipse/BlinkLed\ARM\BlinkLed_default.vxp"]
11:24:01(INFO) "D:\linkit\assist2502_sdk\LINKIT_ASSIST_SDK\tools\\pushtool.exe"
11:24:01(INFO)  -t arduino -clear  -port COM10 -app "D:/linkit/eclipse/BlinkLed\ARM\BlinkLed_default.vxp"
11:24:04(INFO) Done
11:24:04(INFO) Application is uploaded successfully.

若最後出現「Application is uploaded successfully」,代表程式已經放進板子裡了,標示著「RX」的LED應會閃爍。
註:不知為何,LinkIt Assist 2502的Debug port/Modem port,其用途與LinkIt ONE相反。

LinkIt ONE:更新為Assist 2502的韌體

上一篇安裝LinkIt Assist 2502的SDK,若想在ONE板子上開發,需更換韌體。

把開關MS/UART,切到MS,方能更新韌體。

執行韌體更新工具FirmwareUpdater.exe。會在SDK目錄/LINKIT_ASSIST_SDK/tools/FirmwareUpdater裡。

注意,把「Platform」改為「LinkIt_ONE」,按下右方大大的綠色按鈕。
然後重置板子,也就是拔插USB線。
正確的話,就會開始更新韌體。

大約不到兩分鐘即可完成。

LinkIt ONE:安裝Assist 2502的SDK

簡要地記錄安裝過程。

LinkIt Assist 2502 SDK支援Windows XP/Vista/7/8,建議使用Eclipse IDE (Indigo)加CDT plug-in(8.0.2版+)。

Eclipse需要Java,請自行安裝JDK或僅JRE,不詳述。

首先下載Eclipse,我下載的是eclipse-cpp-indigo-SR2-incubation-win32.zip,解壓縮後得到目錄eclipse,我放在D:\linkit裡。

先執行eclipse.exe,詢問你workspace要放在哪,簡言之這就是專案的意思,我設為D:\linkit\workspace。

耐心等待Eclipse啟動,可能要等一盏茶的時間,也可能要等一輩子。看到底下的畫面,然後關閉。

到LinkIt Assist 2502官方網站,下載SDK,我下載得到的是MediaTek_LinkkIt_Assist_2502_SDK_2_0.zip,解壓縮後,需要的是InstallPlugins.exe。
執行InstallPlugins.exe,開始安裝程序。
指定剛剛存放Eclipse的路徑。
勾選「Move LinkIt Assist 2502 SDK 2.0 package to new folder」,指定路徑存放SDK,我放在D:\linkit\assist2502_sdk。
最後勾選「Install the MediaTek USB Driver」安裝驅動程式。
呼,完成囉。

不過ONE與Assist 2502的韌體不同,若你手上拿的是LinkIt ONE這塊板子,需更換韌體

LinkIt ONE與LinkIt Assist 2502

咳咳,我手上沒有Assist 2502,以下所述僅僅是從官網得到的資料,再加上自己的推測。

LinkIt是聯發科(MediaTek)的穿戴式裝置與物聯網開發平台,LinkIt ONE是Seeed Studio使用該平台的硬體晶片,設計出來的開發板,而LinkIt Assist 2502則較為模組化,合作廠商還有AcSiP。如果看看兩個平台的示意圖,也就一目了然。


總而言之,底層硬體都是MediaTek的晶片,使用相同的晶片(CPU、WiFi、GPS、GSM/GPRS、藍牙等),然後有一層韌體,含作業系統與驅動程式,照理說兩個平台上的這一層應該相同(扣掉驅動程式的部份),但我不能確定。然後跟其他廠商合作,推出開發板與獨立的模組,接下來,ONE有一層Arduino API移植層,使用Arduino軟體加上SDK來開發;而Assist 2502沒有那一層,需使用它自己的C API,使用Eclipse加上SDK來開發。

底下是LinkIt ONE開發板。
底下是LinkIt Assist 2502開發板與模組。
然後再來看看軟硬體架構圖,首先是LinkIt ONE。
然後是LinkIt Assist 2502。
應該很清楚,底層的主要硬體部分皆相同,但Assist 2502多了一些周邊,當然也就需要額外的驅動程式;然後中間是韌體,包含即時作業系統核心與其他軟體堆疊,以及接觸上層應用軟體的執行環境與C API;最後則是最上層應用程式;VXP是指用於Assist 2502執行環境的執行檔格式。

因為ONE多了Arduino移植層,所以可使用Arduino API;但又因為其實底下的東西大同小異,所以ONE也可以跑Assist 2502的程式。


參考資料:

LinkIt ONE:伺服馬達Tower Pro SG90

終於搞定伺服馬達Tower Pro SG90了,謝謝來自官方的協助。

重點有兩個,一是使用外部電源供電給馬達,二是把板子腳位電壓準位3.3V轉成5V。

程式是Arduino IDE的範例Sweep,作用是讓伺服馬達來回轉動。

首先試試74LVC245這顆IC,可以把3.3V的訊號轉成5V,如何使用請自行查閱datasheet。電路圖如下:

如此一來就能順利控制伺服馬達。

也可以只用一顆PNP電晶體,我用的是PN2907(或KN2097、KN2907A)。電路圖如下,其中電阻為1k歐姆:
如果手邊沒有PNP電晶體,也可以用兩個NPN搞出相同的功能,我使用2N2222。電路圖如下:

2015/05/30

Maker Faire Taipei 2015

Maker Faire Taipei越辦越大,真是厲害啊。

底下是我拍的一些照片,渣畫質。更清晰、更豐富的活動照片,請到官網

又看到熟悉的機器人招牌。

藍紅白為主調顏色。
看到聯發科的攤位,好大的一隻魚啊。
旁邊有很多使用聯發科產品製作的應用專案,例如偵測土壤濕度、自動澆水,使用LinkIt ONE。
網路鬧鐘,WiFi模組是LinkIt Connect 7681。
釀酒,嘿,真不錯。
也有Mozilla的攤位,介紹各種網頁相關開發工具。
在家裡裝個中控器,控制燈泡的顏色。
呃,這個娃娃是?
滿不錯的產品,彈鋼琴、轉成控制聲光音響的訊號,然後控制水柱與顏色。
就是這樣啦,聲光藝術。
LED立體方陣,看起來就是炫。
很不錯,好像沒有商品化,只是分享。
厲害厲害,詳情請看shellmo
台灣樹莓派,大概太忙了。
小車互撞。
溜滑梯再爬樓梯,無限輪迴。
應該是個小朋友的摺紙作品,摺出這麼多東西。
機器人。
日本人,不僅是3D印表機,也可換成焊槍焊錫,可惜我日語不通,無法細問,想知道烙鐵如何準確定位到需要焊接的位置。
教學用,有亮燈就敲下去啦。應該可以想辦法偵測敲擊的時間點正不正確,可用來評分。
改造玩具,原本使用專屬的操控器,透過紅外線控制機器人揮拳,改造後可使用手機控制。
電吉他效果器。
空氣槍。
木工、切割。
盲人娛樂裝置,兩人戴上手套,根據音樂以及手套震動的提示,擺出各種姿勢:跳舞、揮臂、等等。
假的小提琴,其實是手機偵測晃動,以為你有在拉弦,就會發出聲音。
四軸飛行器,有小有大,還有出書喔。
捲動紙帶、拿筆寫字。嗯,看到紙帶我都會想到Turing machine
看起來像初音,她是個軟體嗎?
Kevin的作品,以Raspberry Pi打造的Segway二輪平衡車,製作步驟在此
溫室。
自己做藍牙喇叭。
嘿,想跟初音一較高下嗎?
鋼鐵人頭盔。
嘿,彈珠台,重溫孩童時光。
哇賽,潛水艇,有沒有這麼強啊?
外頭豔陽高照,會場裡頭也很悶熱,難為這位參展人了。
Taipei Hackerspace展出有趣的點子。
哇,飛行器還加上骨架。
到另一個場地,主要是競賽。廢柴機器人大賽,也是笑聲最多的比賽。
避障車比賽。
坦克大決鬥。
戶外有飛行器比賽。
規模越來越大,這次總共有三個場地,再加上戶外空間。
嗯,小朋友聚精會神地畫圖。
戶外也有不少攤位。還碰到FIG臺灣符式推廣協會,Forth的推廣團隊。令我驚訝的是,原來Forth是目前唯一能在Arduino上執行的編譯器與環境,嘿,長知識了。
最後再看看LED立方體吧。