[[PageOutline]]
{{{
#!html
淺談Processing
}}}
----
= 【0.Processing 與 Arduino 的關係】 =
* [[Image(http://oreilly.com/catalog/covers/9780596155513_cat.gif,width=80px)]],這本書的有一個經典的範例『雲彩互動燈』,它主要是傳送網頁的資訊給板子,板子根據網頁的內容來控制燈的閃爍模式,主要有兩個code組成:
1. [http://cdn.makezine.com/make/books/getstartedarduino/eg/Example_08B.txt 第一個code]當然是跑再我們的 Arduino板子上,負責接收主機傳來的資料並控制燈號。
2. [http://cachefly.oreilly.com/make/books/getstartedarduino/eg/Example_08A.txt 第2個coed]則是跑再主機上,負責連上網路來擷取網頁資料、分析資料後,透過 serial 傳送出去。
* 而再主機上執行的代理程式便是 Processing 所撰寫的,當然 Arduino 使用的 codo 也是修改自 Processing,所以可以發現他們的語法都很雷同,甚至連 IDE 都長一樣。
* [[Image(Arduino 0017.png,width=300px)]] Arduino IDE
* [[Image(Processing 1.0.9.png,width=300px)]] Processing IDE
* 以語法架構來說:
* Arduino (主要由兩個 Functions 組成,但可支援多個 functions)
{{{
viod setup(){
}
viod loop(){
}
}}}
* Processing (主要也是由兩個 Functions 組成,也可支援多個 functions)
{{{
viod setup(){
}
viod draw(){
}
}}}
* 以 Library 來說:
* Arduino 主要是用來處理簡單資訊和控制硬體元件,加上硬體的能力有限,函式庫主要偏向於基礎功能(輸入輸出、時間控制、簡單數學運算等)
* Processing 相對豐富很多,從3D繪圖庫到數學運算庫等,擁有許多函式,『雲彩互動燈』這個範例便使用到 Serial 這個函式庫來傳送資料給 Arduino (底下範例是一個根據滑鼠移動而產生變化的 3D 方塊)
* [[Image(MoveEye.png,width=250px)]]
----
= 【1.Processing 簡介】 =
----
= 【2.Processing 使用】 =
|| 使用和操作類似 Arduino IDE,這邊就不重複了,只針對他比較有趣的使用介紹 ||
* 專案路徑 - 若開啟的專名稱為 !MoveEye,則會再設定的路徑下開啟一個 !MoveEye 目錄和 !MoveEye.pde 的主程式,若專案中有使用到圖片,需放在 data 目錄下。
* Export 功能:(以專案 !MoveEye 為範例)
* Export - 匯出成 applet
{{{
$ cd MoveEye
$ ls
applet/ MoveEye.pde
$ cd applet
$ ls
index.html loading.gif MoveEye.jar MoveEye.java MoveEye.pde
}}}
* Export Application - 可匯出 Linux(sh檔)、Windows(exe)、MAC OS X(app) 可執行的檔案
{{{
$ cd MoveEye
$ ls
application.linux/ application.macosx/ application.windows/ MoveEye.pde
$ cd application.linux
$ ls
lib/ MoveEye source/
$ ./MoveEye
}}}
[[BR]]
= 【參考資料】 =
* http://processing.org/