是什麼讓低功耗藍牙如此特別?

四月 27, 2017
Facebook
Twitter
低功耗藍牙(Bluethooth Low Energy,BLE)為近幾年來物聯網(Internet of Things)經歷爆炸性成長的幕後推手之一。這項技術之所以吸引人,是因為所有的智慧型手機(不管是Apple 還是其他廠牌)都支援其技術協定,也就是說,自造者們不需要擔心顯示器或使用者介面的問題。這樣一來,智慧型燈泡可以與一般的燈泡相似,而不是一臺上頭有著燈泡的電腦。
低功耗藍牙和傳統藍牙截然不同,事實上,兩者唯一的共通點大概只有名字而已。想像一種用序列串接的無線通訊,以類似講電話的方式進行──建立連線後,其中一人會說話而另一人聆聽或反之。即使兩人都不說話,連線也會一直持續進行,直到有一人掛上電話為止。
在這個系統中,資料是以佇列的方式傳輸,接收者在讀取資料之後,資料就會從佇列中移除──就如同講電話時,其中一人聽到對方說話後,此訊息就已經離開傳輸通道了。基本上,這就是傳統藍牙的運作原理。

是什麼讓低功耗藍牙如此特別?

低功耗藍牙訊號(Bluetooth LE radio)不像電話是點對點傳輸,而比較像是社區公佈欄,可以扮演資料傳送者(佈告欄)或是接收者(佈告欄讀者)的角色。
如果將訊號用佈告欄來比喻──以低功耗藍牙的說法,佈告欄即周邊裝置(peripheral device)──上頭貼的資料可以讓整個社區都能看到。如果你的無線訊號是扮演讀者的角色──稱為中央裝置(central device)──則可以讀取佈告欄(周邊裝置)上它需要的訊息。
如果你不喜歡這個比喻,你也可以把周邊裝置想成是伺服器(server)。中央裝置則是低功耗藍牙世界的客戶端(client),從周邊裝置上讀取訊息。

可是我很喜歡序列串接!

目前市面上找得到的低功耗藍牙訊號外接板(例如RedBearLab BLE 和Adafruit Bluefruit LE)為了讓操作更簡單,「看起來」會像是序列裝置,並提供使用者UART(通用非同步接收發送器)服務。事實上,這些產品都「假裝」是舊式的序列通訊系統,而仍是使用「佈告欄」系統。這是很不錯的改造。
這種序列式低功耗藍牙讓習慣序列埠規範(Serial Port Profile,SPP)和UART 的人比較可以適應低功耗藍牙系統。不過,事情總是一體兩面,序列式低功耗藍牙系統也因此沒辦法利用低功耗藍牙框架本身的好處,只是把資料一股腦丟進通用傳輸管線而已,而且還需要定義序列資料的傳送與接收方式。
低功耗藍牙讓自造者們能設計出可自我描述(self-describing)的裝置,如果產品特性設計完備、描述清楚,使用者甚至不需要產品說明就會使用(用iOS 的LightBlue 應用程式使用Smartbotics Lightbulb 就是個例子)。
如果使用的是序列傳輸,那就複雜多了,使用者必須要知道所有細節,像是傳送哪個資料可以將LED 點亮或轉換顏色等,這一類的裝置就必須要有完整的文件說明,或是製作一個函式庫(或兩者兼備),才能完成設定LED顏色這樣簡單的任務。
如果回到佈告欄的例子, 我們等於是創造了一塊佈告欄, 也就是服務(service),佈告欄上頭貼了一些便條紙,這在低功耗藍牙的世界裡稱為特性(characteristic),閱讀上面的訊息之後,就可以知道LED 現在是開是關,當然,也可以在便條紙上面填寫資料以控制LED。

打造客製化服務

不幸的是,一直到最近,要打造出客製化的低功耗藍牙服務十分複雜,心臟不夠強的人恐怕做不來。然而,最近出現了許多好用的工具,可以替你分擔許多繁重的工作。
因此,我們決定用一本書的篇幅來介紹Nordic Semiconductor的無線傳輸平臺,提供完整的工具鏈說明,讓你可以打造客製化服務並做為Arduino專題的工具。我們之所以選擇這個平臺,是因為它相對容易取得,而且有很棒的函式庫支援。
歡迎你閱讀這本書!
本文摘錄自《動手玩藍牙:用Arduino、Raspberry Pi和智慧型手機打造低功耗藍牙專題》
圖片

《動手玩藍牙:用Arduino、Raspberry Pi和智慧型手機打造低功耗藍牙專題》

作者:艾拉斯戴爾‧艾倫、唐‧柯曼、山迪普‧密斯特里  
出版社:馥林文化  
出版日期:2017/4/25
◎深入了解低功耗藍牙,打造9組實用連線裝置!
◎詳細的製作步驟與程式說明,輔以全彩圖表與照片,清晰易懂!
◎為你的Arduino或Raspberry Pi專題拓展「無線」可能性!
Social media & sharing icons powered by UltimatelySocial