ArduinoYun教程之Arduino編程環境搭建
Arduino編程環境搭建
通常,我們所說的Arduino一般是指我們可以實實在在看到的一塊開發板,他可以是Arduino UNO、Arduino Yun、Arduino Mega等等。但是從嚴格意義上來說,Arduino這個名字不僅代表着開發板,而且涉及硬件、軟件、開發團隊、設計原理以及用戶群體的互助精神。這是Arduino與其他開發板的不同之處。在本章,我們將主要介紹如何在Windows和Linux操作系統上搭建Arduino的編程環境。
Arduino IDE
IDE是Integrated Development Environment(集成開發環境)的首字母縮寫。Arduino官方提供了Arduino IDE,它主要集成了編輯器、編譯器以及下載器。與Arduino開發板一樣,Arduino IDE是開發源代碼的。由於其開放性,它可以安裝在Windows、MAC OS X和Linux三大主流系統中。
在Windows操作系統中安裝Arduino IDE
與在Linux中安裝Arduino IDE類似,在Windows中安裝Arduino IDE有兩種方式。一種是常見的Windows安裝向導形式,另一種為綠色的壓縮包形式(Arduino官方說法是非系統管理員安裝方式)。Windows版本的Arduino IDE可以從http://arduino.cc/en/Main/Software#toc3下載。
1.Windows安裝向導形式
安裝向導方式的Arduino與常見的Windows類軟件安裝方法類似,它通過向你詢問一系列的問題來完成安裝。Arduino IDE的安裝版本文件名稱是arduino-1.5.7-windows.exe。
(1)雙擊運行它,首先會出現如圖2.1所示的協議信息對話框,如圖2.1所示。
(2)在閱讀了協議后,單擊I Agree按鈕繼續,這一步是選擇安裝選項,需要選擇安裝的組件,如圖2.2所示。
圖2.1 協議信息 圖2.2 安裝選項
- Install Arduino software選項是必須選的,它是Arduino IDE的主體;
- Install USB driver選項是安裝Arduino開發板的驅動,絕大多數情況需要勾選;
- Create StarMenu shortcut選項是在開始菜單建立一個快捷方式,這個根據自己的喜好進行選擇;
- Create Desktop shortcut選項是在桌面創建快捷方式,為了方便找到Arduino IDE,這個選項通常會勾選;
Associate .ino file選項用來把后綴名為.ino的文件和Arduino IDE關聯,關聯之后雙擊.ino文件就會在Arduino IDE中打開,為了方便起見,這個選項通常也要勾選
(3)單擊Next按鈕,會詢問你Arduino IDE的安裝位置,如圖2.3所示。
在2T硬盤普及的今天,就不要再將10年前“軟件不裝C盤”的思想傳承下去了,所以推薦讀者使用默認的安裝目錄。
(4)單擊Install按鈕,開始安裝,藍色進度條用來表示安裝進度,如圖2.4所示。
圖2.3 選擇安裝路徑 圖2.4 開始安裝
(5)在安裝到大約99%的時候,會彈出安裝驅動的提示,如圖2.5所示。
(6)單擊“安裝”按鈕來完成Arduino USB驅動的安裝。此時,Arduino IDE也接着安裝完成,出現Completed提示,如圖2.6所示。
圖2.5 安裝Arduino USB驅動 圖2.6 安裝完成
(7)單擊Close按鈕,退出安裝程序。此時,Arduino IDE已經安裝到你的Window系統中,桌面出現Arduino IDE快捷方式,如圖2.7所示。
圖2.7 Arduino IDE快捷方式
2.壓縮包形式
壓縮包形式的安裝甚至比Windows向導方式的安裝都快捷。壓縮包形式的文件名為arduino-1.5.7-windows.zip,你只需要將它解壓縮到期望的目錄即可。要啟動Arduino IDE,只需要雙擊執行目錄下的arduino.exe文件即可。如果以后想要快捷地啟動Arduino IDE,那么可以在桌面建立arduino.exe的快捷方式。右擊arduino.exe文件,選擇“發送到”|“桌面快捷方式”命令即可。
在Linux操作系統中安裝Arduino IDE
由於筆者使用的PC安裝的是openSUSE Linux發行版,所以這里以openSUSE Linux為基礎來介紹Arduino IDE在Linux操作系統的安裝。對於早期的Arduino開發板來說,在openSUSE上安裝對應的Arduino IDE非常容易,只需要直接在software.opensuse.org中搜索arduino就可以找到Arduino IDE,然后1 Click Install(一鍵安裝)即可,如圖2.8所示。
圖2.8 1 Click Install Arduino IDE
但是,由於Arduino Yun是比較新的板子,穩定版的Arduino 1.0.5還沒有增加對其的支持(從1.5.4版本開始支持)。因此,此時我們只能手動來安裝最新的Arduino 1.5.7 BETA版本。
1.安裝Arduino IDE的依賴
Linux的依賴問題會讓許多用戶頭疼,好在Arduino IDE現在只依賴JDK一個包。而這個在openSUSE系統安裝時候就自動安裝了。如果在你的系統中沒有安裝,那么可以通過軟件管理器搜索安裝openJDK或者執行以下的命令安裝:
- sudo zypper in java-1_7_0-openjdk
2.安裝Arduino IDE
在Arduino IDE 1.0.1版本之后,將編譯工具集成在了壓縮包中。因此,只需要下載對應系統版本的IDE即可,下載鏈接為:arduino.cc/en/Main/Software。下載的壓縮包名為arduino-1.5.7-linux64.tar。其中,1.5.7表示IDE的版本號,linux表示操作系統,64表示操作系統版本。查看操作系統版本可以使用如下命令:
- uname -m
如果輸出為x86_64則對應下載64位版本,否則下載32位版本。
然后就將下載的壓縮包解壓到你期望的位置即可。tar包可以使用如下命令解壓:
- tar -xf arduino-1.5.7-linux64.tar
上面的命令會將文件解壓縮到當前目錄,如果你想將它解壓縮到其他目錄,那么可以使用如下的命令:
- tar -xf arduino-1.5.7-linux64.tar -C /other/path
其中,/other/path即為你期望的目錄。
3.為用戶設置權限
Linux嚴格的權限管理為系統安全提供了保障,每個用戶所具有的權限是非常精確嚴謹的。因此,我們需要將當前用戶加入一些特殊的組來獲取需要的權限。默認情況下openSUSE的非root用戶並沒有訪問串口設備的權限,因此需要將用戶加入dialot組。此外,Arduino IDE還需要有對lock文件操作的權限,因此需要加入lock組。使用如下的命令可以方便地將用戶加入指定的組:
- usermod -a -G group-name username
例如,可以使用如下的命令將用戶tom加入dialot和lock組:
- sudo username -a -G dialot lock tom
4.運行Arduino IDE
在完成以上所有的操作后,支持Arduino Yun的Arduino IDE就安裝完畢了。要運行Arduino IDE,只需要將終端導航到arduino解壓縮的目錄,然后執行執行其中的arduino文件即可,命令如下:
- ./arduino
此時,Arduino IDE的界面就會打開,同時,終端不再響應其他命令。如果你想要Arduino IDE不影響終端響應其他命令,那么可以使用如下命:
- ./arduino &
上面的命令會將Arduino IDE作為后台程序運行。
在其他Linux發行版中安裝Arduino IDE
其他比較常用的Linux發行版如ArchLinux、Debian、Fedora、Gentoo、Slackware等對應的安裝方式可以參考鏈接:playground.arduino.cc/Learning/Linux。對所有Linux發行版都通用的方法可以參考2.1.2中的介紹。
ArduinoYun與Fritzing
Fritzing是一個開源硬件項目。它為使用者提供了比普通電路設計軟件更容易理解的電子器件作為生產的原材料,使得任何人都可以很容易地設計自己的電路。如果你經常混跡於各種Arduino社區,那么一定對如圖2.9所示的電路圖印象深刻,它就是使用Fritzing制作的。
圖2.9 Fritzing制作的電路
由於Fritzing是一個開源、免費的軟件,因此支持三大主流的操作系統。下面的講解在Linux和Windows操作系統中安裝Fritzing。Fritzing軟件包的下載地址為:http://fritzing.org/download/。
2.2.1 在Windows操作系統中安裝Fritzing
Fritzing只為Windows操作系統提供了壓縮包形式。所以讀者只需要下載對應的Windows版本(名為fritzing.0.9.0b.64.pc.zip),然后將它解壓縮到期望的位置,執行其中的Fritzing.exe即可。如果你想更方便地運行Fritzing,可以將快捷方式發送到桌面。
ArduinoYun在Linux操作系統中安裝Fritzing
這里同樣以openSUSE Linux作為基礎來講解。其實,許多發行版的軟件倉庫中已經收錄了Fritzing。在openSUSE中,可以通過在software.opensuse.org中搜索Fritzing來一鍵安裝。當前最新版本的Fritzing是0.9.0b,而在openSUSE的軟件倉庫中官方發行版是0.8.3b,最新的版本則需要安裝非官方打包的版本,如圖2.10所示。
ArduinoYun 官方與非官方版本
這兩個版本都可以滿足我們的需求,所以,讀者可以根據自己的喜好安裝,筆者選擇安裝了官方發行的0.8.3b版本。當然,讀者也可以下載壓縮包來自己安裝。
(1)根據自己的系統下載對應的版本。例如筆者使用64位的計算機,因此下載的壓縮包為fritzing-0.9.0b.linux.AMD64.tar_1.bz2。
(2)使用下面的命令解壓縮bz2包:
- tar -xjf fritzing-0.9.0b.linux.AMD64.tar_1.bz2
當然,也可以使用-C參數將它解壓縮到期望的位置。
(3)同手動安裝Arduino IDE類似的,你只需要進入fritzing的目錄,執行其中的Fritzing文件即可。
連接Arduino IDE和Arduino Yun
前面的內容為我們准備好了日后Arduino Yun開發的軟件部分。現在就是時候將Arduino IDE和Arduino Yun連接到一起了。
(1)打開Arduino IDE,並將Arduino Yun連接到你的電腦。我們知道,Arduino有如Arduino UNO、Mega等許多的開發板。這些開發板各有特色,而Arduino IDE只有一個,所以,此時需要告訴你想要Arduino IDE連接的是在哪個端口上的哪個板子。
(2)在Arduino IDE的“工具”菜單項中的“板”中選擇Arduino Yun選項,如圖2.11所示。
圖2.12 在板類型中選擇Arduino Yun
(3)我們就可以選擇連接在電腦上的Arduino開發板了。選擇方式是在Arduino IDE的“工具”菜單項中的“端口”中選擇Arduino Yun命令,如圖2.13所示。
圖2.13 在端口中選擇Arduino Yun
需要注意的是Arduino IDE會發現多個COM口,而且在不同的環境中發現的個數和編號還有所不同。但是,正確地選擇Arduino Yun還是很容易的,被正確識別的Arduino Yun會出現在對應的COM名稱后,圖2.13表明Arduino Yun連接在計算機的COM5口上。
現在,離證明我們的軟硬件都正常工作還有一步之遙。測試的方法就是完成Arduino界的Hello World。這個方法對於現在的我們來說是非常容易的,它只需要點幾下鼠標就可以完成。
(1)加載Blink源代碼,過程為單擊“文件”|“示例”|Basics|Blink命令,如圖2.14所示。
圖2.14 加載Blink源文件
(2)新的源文件會在一個新窗口中打開,接下來要做的就是將源文件在電腦上編譯后上傳到Arduino Yun中。編譯和上傳的動作可以由Arduino IDE中的運行按鈕完成,也可以通過快捷鍵Ctrl+U完成。在上傳完成后,Arduino IDE的底部會顯示執行的操作信息,如圖2.15所示。
圖2.15 Arduino IDE的操作過程
其中的信息大體如下:
- Build options changed, rebuilding all
- Sketch uses 4,754 bytes (16%) of program storage space. Maximum is 28,672 bytes.
- Global variables use 157 bytes (6%) of dynamic memory, leaving 2,403 bytes for local variables. Maximum is 2,560 bytes.
這些信息表明了編譯器要重新編譯程序,程序空間共有28,672 byte,使用了4,754 byte (16%);動態內存共有2560 byte,全局變量使用了157 byte(6%),還剩余2,403 byte。通常,這些信息是可以安全忽略的。而特殊情況就是程序編譯出錯的情況,如下為編譯出錯時候的信息:
- Blink.ino: In function 'void loop()':
- Blink.ino:25:26: error: expected primary-expression before ';' token
- Blink.ino:25:26: error: expected ':' before ';' token
- Blink.ino:25:26: error: expected primary-expression before ';' token
這里就提示了錯誤出現在源代碼中的位置,其中的25表示行,26表示列(實際原因是我在代碼的這個位置加入了一個“?”字符)。
這里接着介紹Blink程序正確上傳到Arduino Yun后的效果。正常的情況是Arduino Yun板子上標號為L13的LED以1秒的間隔閃爍着。如果你的板子此時正是這個效果,那么恭喜你,你已經為接下來的學習做好了十足的准備。
本文選自:Arduino Yun快速入門教程大學霸內部資料,轉載請注明出處,尊重技術尊重IT人!