在上次為大家介紹 QML+Arduino 之後,最近也有人在介紹 Web +Arduino:

http://webduino.kktix.cc/events/web-arduino-20150321

在這裡講一下我自己的看法:

我不確定他的實作方式是不是在 Arduino 上跑 Web Server,然後由 Web Server 處理 url command 進而控制 Arduino.

我覺得以 Web 現在豐富的前端資源,確實可以很輕鬆的做出不錯的控制介面,如果有用 WebSocket,在一些數值讀取也可以做的非常即時。
此外它也原生具備了只要有browser就可以控制的優勢,而用 QML 還要提供各種平台的版本。

但如果在只有 serial port / bluetooth 的介面,要用 Web 控制可能就有點困難了。例如:一種應用是把 Arduino 當成 sensor,傳回各種感應資料,這時介面有可能會選用藍芽,而非一般網路介面。

而如果是用 QML 來做,因為可以引用 C++ 模組,所以介面上的選擇會比較彈性。不過現階段 QML 的資源比不上 Web,會讓新手或著要找現成元件的人比較辛苦。
不過 Web 終究需要一個 browser,也許可以用 QML Webview 來當成 browser,兩者可以相輔相成,用 Web 做 UI,用 QML/C++ 實作跟 Arduino 溝通的部份(在 QML Webview 中可以呼叫 C++ 功能,像 extension/plugin 這樣)

不過我覺得 QML 真的太簡單了,我還是喜歡用 QML 做 XD
例如 QML 中的 property binding,雖然用 Web 可以做到接近的語法(例 AngularJS 的 Data Binding),但寫起來可能還是沒有 QML 原生支援的那麼漂亮。

QML 要一個儀表板顯示環境亮度,只要一行:
Dial
{
value:arduino.brightness;
}

不過,還是老話一句,沒有最好的方案,只有最適合的方案 🙂

Facebook Comments Box