藍牙:下個世代的新星

七月 9, 2013
Facebook
Twitter
图片

一直以來,藍牙都被評為不易操作的裝置。但是隨著新的藍牙4.0標準版問世,尤其是低耗電藍牙(Bluetooth Low Energy, BLE),不但變得容易操作,而且功能多出更多。特別是對Maker們來說,現在有一個極低耗能、彈性大的無線科技可以選擇。
以前iOS作業系統只有部分支援低耗電藍牙,幾週前蘋果公司全球軟體開發者年會(WWDC)發佈了iOS7之後,對省電藍牙的支援部分增多。Android系統是一直到最近才有少部份支援。不過自從五月Google I/O大會上發佈了消息:下個世代的Android系統可支援低耗電藍牙——等於兩家行動平台大廠現在都已支援。

然而就在前幾個月,微控制器支援藍牙的事業才正要起飛。有幾家廠商的單芯片系統和藍牙模組已在前陣子上市,例如藍兆(Bluegiga)德州儀器(Texas Instruments)北歐半導體(Nordic Semiconductor)。用控制板提供一系列介面其實是非常容易的,但是類似產品如麥可˙克洛博士(Michael Kroll)開發的低耗電藍牙擴充板,或是RedBearLab開發的低耗電藍牙擴充板以及迷你版(BLE mini),直到現在才全面發售。

這當然意味著我們已差不多準備好進行下一步,也就是使用與Arduino控制器規格相容的低耗電藍牙。在募資網站Kickstarter上,就在進行兩個非常有趣的專題。

第一個是Ember & Torch,兩個相容於Arduino的控制板,內建低耗電藍牙。Torch是一個Arduino軟體,可以彼此針腳相容(pin compatible),而Ember則是設計成Arduino迷你規格。
图片

Ember & Torch是相容於Arduino的控制板,內建支援省電藍牙的裝置。
图片

以16兆赫頻率(16MHz)的ATmega32u4元件為核心的控制板,搭載Arduino標準規格及Nordic nRF8001低耗電藍牙。
图片

以8MHz的ATmega32u4為核心,搭載Arduino迷你規格和Nordic nRF8001低耗電藍牙。

不過Ember & Torch最有趣之處還不是硬體的部分,而是隨控制板附載的Bonfire資料庫。有了Arduino控制板和蘋果iOS/Android系統的支援,你可以把函數附加到事件上。例如,你想要從Arduino傳送感測器更新資訊到手機,你可以從Arduino主迴圈中「發射」一個事件,就會到達iOS端的回呼程式碼區塊(callback block)(反之亦同)。這麼看來,它是個很有彈性的系統,並且比目前單純的系列介面,它的抽象化做得更好。

另一個有趣的專題是BLEduino。有趣之處在於,它雖然是迷你規格的Arduino板,卻另外發明了個叫作「板對板相容器」(Shield-Shield)的東西,只要滑進BLEduino控制板下面,就會變身成標準規格的Arduino,並且針腳相容。事實上這是個很巧妙的設計,我雖然知道這不是前無古人,但我自己還真沒看過。
图片

BLEduino

搭載低耗電藍牙的迷你版Arduino ,BLEduino,可與麵包板相容。
图片

板對板相容器 (Shield-Shield)

利用板對板相容器(Shield-Shield),可以讓左圖的BLEduino與Arduino標準規格設計互相相容。

BLEduino不像Ember & Torch一樣,會顯示許多由控制器經藍牙傳送資料至手機的細節,但對於非蘋果或Android系統的軟體開發者來說,它仍然可以提供蘋果iOS的應用,你不需要在行動平臺這一端寫程式,就能操控控制板。

這兩個專題看起來都很有趣,而我希望它們都能在Kickstarter上達到募資的目標,因為它們夠特殊,會讓我想要玩看看。

最後,在未來我希望看到的控制板,是能夠讓使用者定義GATT檔案階層的程式語言。這在理論上是可行的。雖然不是特別有憑有據,但北歐半導體的芯片能讓使用者在跑程式時進行這件事,而且會直接讓你的Arduino變成一個「任意」藍牙裝置。這件事非常酷,它意味著當有iOS或Android的應用程式設計成與這種藍牙共同運作,應用程式會直接傳送資訊至Arduino板,不需要經過手機端的程式設計這一關。

[原文]

Social media & sharing icons powered by UltimatelySocial