隨著 Ubuntu 12.04 LTS 的正式發(fā)行,越來越多人開始認(rèn)識(shí) Ubuntu(烏班圖) 這個(gè)開源 Linux 系統(tǒng)。其實(shí)我從 10.10 版本(2010年10月發(fā)行)其就開始接觸。發(fā)現(xiàn)轉(zhuǎn)向 ubuntu 最大的障礙,還是在自己的工具鏈。你說玩C#的人,讓他到 linux 上折騰,這不是作么~
這些現(xiàn)在慢慢都開始改變,比方說 Ruby,ror要真正發(fā)揮其效率,飛奔起來,那確實(shí)是要擺脫 windows 平臺(tái);比方說 Java,Java 就是典型的跨操作系統(tǒng)的語(yǔ)言,至少基于 Java 開放的軟件(如 eclipse、Arduino IDE),基本都有其在 linux 上的版本;比方說傳說中的vi,看 windows 里面那個(gè) gVim,總是怪怪的,還是 vim 跟純正些,……
當(dāng)想做的事情都有通過 Ubuntu 實(shí)現(xiàn)的途徑以后,哪怕操作系統(tǒng)不同,工作也能開展,這樣才會(huì)真正開始了解、熟悉這個(gè)新的系統(tǒng)。而 Arduino 的開發(fā)也能轉(zhuǎn)到 ubuntu 上的話,那就更好不過了,是個(gè)很不錯(cuò)的突破口哦~
視頻里面還是會(huì)有不少口誤、表達(dá)混亂、詞不達(dá)意的地方,請(qǐng)以文字為準(zhǔn):
1. Ubuntu 系統(tǒng)的準(zhǔn)備
視頻中的 ubuntu 是用從官網(wǎng)下載的64bit版本ISO,通過easyBCD編譯引導(dǎo)后硬盤安裝完成。可以參考奶牛的這篇文章。需要注意的就是,重新引導(dǎo)到 linux 分區(qū)(/boot或/)的時(shí)候,應(yīng)該選擇 grub2 模式。
安裝完成以后,我就只作了幾件事:
- 設(shè)置軟件更新源,更新系統(tǒng);
- 更新語(yǔ)言包,讓對(duì)中文的支持更好
- 激活了 nvidia 顯卡的專用驅(qū)動(dòng)
- 將 Dash(左側(cè)的工具欄)設(shè)置為自動(dòng)隱藏,解鎖了默認(rèn)的 Office 系列圖標(biāo)(看自己喜好)
這些都可以在圖形界面上完成,都搞定以后,樣子應(yīng)該就和視頻中的差不多了。再?zèng)]有安裝額外的程序。最近連著在三臺(tái)機(jī)子上做這些事情,已經(jīng)蠻熟練了~ (想當(dāng)年,折騰wn98、xp不也是都是這么開始的么)。之前體驗(yàn) ubuntu 都還是基于wubi,從 12.04 開始正式轉(zhuǎn)為純硬盤,速度真的又更快哦~
2. 安裝 Arduino IDE (ADE)
很簡(jiǎn)單,打開終端(Termial),一般按快捷鍵 “Ctrl+Alt+T”。命令就一行
$ sudo apt-get install arduino |
之前很多教程,會(huì)講需要前置安裝 gcc-avr、avr-libc 之類的軟件,其實(shí)并無必要。apt-get 已經(jīng)把所有需要的東西都包含進(jìn)來,并提示一并安裝。所以,一句命令,再輸入個(gè)”Y”就好。
這里從安裝方式上,大家就可以看到 linux 和 windows 極大的不同。就安裝包來說,windows版本的ADE,是一個(gè)大文件包,不管原來有沒有、裝沒裝,先塞進(jìn)去再說。而在ubuntu上,只是按需安裝,只下載機(jī)子上缺少的組件,而這些組件將來也可能被別的程序所調(diào)用,安裝別的程序,其實(shí)只需要安裝缺少的部分就好了。而所有這些軟件,都通過 apt-get 統(tǒng)一管理,也就說下載安裝的,都是最新的穩(wěn)定版本,相信會(huì)比 windows 安裝包里面的新很多。
在需要下載的程序包里面,可以看到 gcc-avr、avrdude 這些熟悉的影子,包括 java 運(yùn)行環(huán)境 (jre),也都會(huì)自動(dòng)安裝。而且今天(2012-05-19)安裝的 ADE 就已經(jīng)是 1.0 的版本,一切都拿最新的來用吧,不用擔(dān)心版本會(huì)落后。
3. 找串口
windows下的驅(qū)動(dòng)這一步,也難住過不少人吧。不過以我目前的經(jīng)驗(yàn),在 ubuntu 12.04 上,對(duì) arduino uno 是“免驅(qū)”的,不需要任何額外的安裝,自動(dòng)識(shí)別。而且確實(shí)整個(gè)系統(tǒng)安裝過程中,除了顯卡驅(qū)動(dòng)這邊,需要額外 take care 一下(主要是因?yàn)闆]開源),主板、聲卡、無線網(wǎng)卡(TP-WN722N )這些,都不需要特別照顧。這也比較容易理解,因?yàn)?linux 大量用在嵌入式開發(fā)領(lǐng)域么,自然天天和這些底層硬件打交道,相互都很熟悉吧~
串口可以在 /dev 文件夾內(nèi)找到。可以用
$ ls /dev |
來查看比較,根據(jù)芯片不同,可能叫“ttyACM0”,也可能叫“ttyUSB0”(因?yàn)閁SB轉(zhuǎn)串口所用的芯片不同),仔細(xì)比較一下,插入前后的不同,基本是這樣的名字。
能這樣出現(xiàn)提示,基本說明“驅(qū)動(dòng)程序”也不用擔(dān)心了。
進(jìn)入 ADE,看看能不能正確顯示串口設(shè)備,以我的經(jīng)驗(yàn),第一次確實(shí)是不能。需要卸載掉 brltty 先。至于為什么,請(qǐng)參考 ladyada 的這篇文章
$ sudo apt-get remove brltty |
卸載完畢后,重啟。
$ sudo reboot |
然后,再打開 ADE,相信串口設(shè)備這一項(xiàng)就會(huì)亮起來了。
我用自己的本子實(shí)驗(yàn)的時(shí)候,有出現(xiàn) USB3.0 不識(shí)別,但是2.0接口識(shí)別的情況。而錄制視頻的時(shí)候,又出現(xiàn)重啟后識(shí)別,但重新安裝 brltty 后依然識(shí)別的的情況,確實(shí)詭異,以目前的功力,還不敢去深究…… remove brltty 之后,USB3.0接口接的arduino,雖然可以識(shí)別出來,但是下載也不成功。所以,搞不清楚狀況的話,還是建議避開 USB3.0。
2012年5月23日更新:雖然之前一直有卸載掉 brltty,但是現(xiàn)在我又陸續(xù)把它裝回去了,發(fā)現(xiàn)沒有什么特別的影響,都還好識(shí)別。
4. 燒程序
一樣,燒寫經(jīng)典的 “hello, world” ,也就是 File\Examples\Basics\Blink 例程。在板型、串口號(hào)選擇正確的情況下,應(yīng)該是沒什么問題。
在視頻中出現(xiàn),燒寫程序完畢后,arduino不復(fù)位,程序不運(yùn)行的情況,相信是因?yàn)槭褂昧?ldquo;公版” avrdude。因?yàn)?arduino 的 windows 程序包中的 avrdude 是有被 hacked 過,讓程序下載完成后自動(dòng)復(fù)位。沒這個(gè)功能也不要緊,手動(dòng) reset 一下,程序就開始運(yùn)行了。
2012年5月23日更新:可能我視頻中的電腦比較特別一點(diǎn),我后來在本子以及另外一臺(tái)臺(tái)式機(jī),進(jìn)行同樣的下載測(cè)試,發(fā)現(xiàn)板子都會(huì)自動(dòng)復(fù)位。所以各位朋友如果嘗試的話,還是注意觀察,靈活掌握為宜。
這樣應(yīng)該就差不多了,視頻會(huì)比較長(zhǎng),因?yàn)樯厦嫣岬降囊恍┳⒁恻c(diǎn),也是在錄制過程中我才發(fā)現(xiàn),中斷了幾次。感謝耐心看完視頻的朋友,陪伴我一起找問題,想原因,并解決它。
至于在 ubuntu 進(jìn)行 arduino 開發(fā)的好處,首先第一個(gè)就是快,比較編譯下載的速度,快 windows 不是一點(diǎn)半點(diǎn)。而且,至少?gòu)谋砻鎭砜矗灿胁簧俑呤址秲喊蓗 看過在 Mac Air 上運(yùn)行的ADE,編譯運(yùn)行的速度也是很快的,一開始還想著是不是蘋果硬件配置多高端,現(xiàn)在證明,是 windows 太渣,搞開發(fā)是比較弱,如果從血緣關(guān)系來說,ubuntu 和 max os 之間肯定也更親一些。
希望本文以及視頻,能給不了解 ubuntu 的朋友帶來一點(diǎn)感性認(rèn)識(shí)。Enjoy Ubuntu & Arduino.
視頻記錄(可以點(diǎn)擊右下角 youku 圖標(biāo),進(jìn)入優(yōu)酷頁(yè)面,全屏觀看,720p的哦~ 選擇超清畫質(zhì)下可以清楚看到輸入的命令內(nèi)容)