行動裝置的傳感器與 API
行動裝置感測器運用 – 基礎認識篇
行動裝置作為整個資訊系統的前端裝置,負責溝通我們設計的商業邏輯世界與使用者生活的真實世界。
在設計與使用者互動的行為態樣時,有許多網頁時代留下的規則仍可以讓我們參考。諸如引導使用者的視覺焦點。著力於使用者的認知情境塑造等。
但是行動裝置有一個重要的地方與過去的網頁不同。就是行動裝置通常擁有豐富的傳感器(Sensor)及視覺,聽覺與震動等互動機制。而這些機制可以帶給我們與過去的網頁技術截然不同的體驗。
熟悉這些感測器技術可以讓我們在設計下一個行動App時,擁有更多的可能性。
在設計與使用者互動的行為態樣時,有許多網頁時代留下的規則仍可以讓我們參考。諸如引導使用者的視覺焦點。著力於使用者的認知情境塑造等。
但是行動裝置有一個重要的地方與過去的網頁不同。就是行動裝置通常擁有豐富的傳感器(Sensor)及視覺,聽覺與震動等互動機制。而這些機制可以帶給我們與過去的網頁技術截然不同的體驗。
熟悉這些感測器技術可以讓我們在設計下一個行動App時,擁有更多的可能性。
譬如說這個在2010年上架的
iButterfly
,便結合了
GPS這類「位置感測」, 加速計與陀螺儀這類「姿態感測」技術,使用AR技術與使用者互動。加入遊戲的要素以進行行銷活動。
譬如接近某商店時,可以推送訊息告知有一定的機率出現蝴蝶。而開啟App後可能就會看到一隻蝴蝶以 AR的方式出現在行動裝置的螢幕上。若是使用行動裝置去「抓」蝴蝶,也就是裝置感測到向某特定方向出現角速度時,便認為使用者抓到蝴蝶。此時便將蝴蝶以動畫效果轉成折價券存入裝置內,讓使用者於結帳時出示。
譬如接近某商店時,可以推送訊息告知有一定的機率出現蝴蝶。而開啟App後可能就會看到一隻蝴蝶以 AR的方式出現在行動裝置的螢幕上。若是使用行動裝置去「抓」蝴蝶,也就是裝置感測到向某特定方向出現角速度時,便認為使用者抓到蝴蝶。此時便將蝴蝶以動畫效果轉成折價券存入裝置內,讓使用者於結帳時出示。
本系列文章將依序介紹
iOS 及 Android 裝置內的各類傳感器以及基本使用方法。希望能為讀者將來的工作節省一些時間。
1.功能分類
我們可以將裝置上的各類傳感器按照功能進行區分
(1) 位置感測:這類感測器會告訴我們目前裝置所在的地理座標。
資料來源可能會是美國的GPS,俄國的 GLONASS,中國的「北斗」或是歐盟的Galileo。
也在特定的狀況下,Google 在開街景車出去拍攝街景時,也收集了地理座標與WiFi站台的關係,所以透過周圍WiFi站台的ID與訊號強弱解算出裝置可能的地理座標。(暫時先別管Google的「Don’t be evil.」)
當然搭配下列的姿態感測器,也可以做到「慣性導航」解算裝置位置。不過慣性導航需要精密的起始座標及精準的姿態感測及加速計。在短時短距的狀況下可以使用,不過長期或是長程使用在目前還是在設計目標外。
大家可以想像,若是以上的功能加上視覺的目標識別,就是巡弋飛彈的導航系統。
資料來源可能會是美國的GPS,俄國的 GLONASS,中國的「北斗」或是歐盟的Galileo。
也在特定的狀況下,Google 在開街景車出去拍攝街景時,也收集了地理座標與WiFi站台的關係,所以透過周圍WiFi站台的ID與訊號強弱解算出裝置可能的地理座標。(暫時先別管Google的「Don’t be evil.」)
當然搭配下列的姿態感測器,也可以做到「慣性導航」解算裝置位置。不過慣性導航需要精密的起始座標及精準的姿態感測及加速計。在短時短距的狀況下可以使用,不過長期或是長程使用在目前還是在設計目標外。
大家可以想像,若是以上的功能加上視覺的目標識別,就是巡弋飛彈的導航系統。
(2) 姿態感測:這個地方 Apple 統整為 Motion 。
不過我們還是可以分成「加速計」,「磁強計」以及「陀螺儀」。
這些傳感器解決的問題是裝置的「姿態」。包括裝置正在向那個方向「前進」及「角速度」。
像是「手搖裝置」這就會在方向和角速度的組合上,有些特定的模型會出現。這個時候要進行訊號處理(Signal Processing)。當然這些處理有點難度,不過我們不須太費心。像是Apple已經整理好 Motion類物件,讓我們直接使用。而Android這邊也有很多類別庫可以使用。
不過我們還是可以分成「加速計」,「磁強計」以及「陀螺儀」。
這些傳感器解決的問題是裝置的「姿態」。包括裝置正在向那個方向「前進」及「角速度」。
像是「手搖裝置」這就會在方向和角速度的組合上,有些特定的模型會出現。這個時候要進行訊號處理(Signal Processing)。當然這些處理有點難度,不過我們不須太費心。像是Apple已經整理好 Motion類物件,讓我們直接使用。而Android這邊也有很多類別庫可以使用。
(3) 聽覺:這邊的Audio可以分成 Input 與 Output 來看。
一個是收音的麥克風,另一個是出音的擴音器及耳機。
這邊要特別指出的是無論是何者,都可以傳出及接收「人耳」聽域以外的 Audio 訊號。
曾有支付業者透過這個方式讓兩個裝置在無網路的環境下,進行溝通完成支付。
當然這邊的訊號處理部分,官方沒有API。
可以考慮購買第三方撰寫的SDK。
若是有訊號處理的能量,也可以考慮自己來做訊號處理。
一個是收音的麥克風,另一個是出音的擴音器及耳機。
這邊要特別指出的是無論是何者,都可以傳出及接收「人耳」聽域以外的 Audio 訊號。
曾有支付業者透過這個方式讓兩個裝置在無網路的環境下,進行溝通完成支付。
當然這邊的訊號處理部分,官方沒有API。
可以考慮購買第三方撰寫的SDK。
若是有訊號處理的能量,也可以考慮自己來做訊號處理。
(4) 視覺:所謂「五色令人目盲」,在現代科技下眼見未必真實。
不過在一定的時間內,行動裝置的運算能力及可用的能源還無法支持好萊塢等級的虛擬真實。但是一定程度的「後製」是可能的。
我們在這個領域內可以使用的是Camera的Input及螢幕的 Output 。
個人認為AR將是接下來越來越重要的功能。想一下以下畫面的App其實可以整合AR就可以了。
不過在一定的時間內,行動裝置的運算能力及可用的能源還無法支持好萊塢等級的虛擬真實。但是一定程度的「後製」是可能的。
我們在這個領域內可以使用的是Camera的Input及螢幕的 Output 。
個人認為AR將是接下來越來越重要的功能。想一下以下畫面的App其實可以整合AR就可以了。
(5) 通訊-NFC:近場通訊使用eTag與感測機互動。常見於我們生活之中。無論是悠遊卡或是ETC。不過Apple目前只讓自己的 Apple Pay 使用 NFC 功能。但是我想Apple應該準備好了讀寫API,只不過還沒開放。
Android這邊就蠻多機型可以使用 NFC 功能。
Android這邊就蠻多機型可以使用 NFC 功能。
(6) 通訊-Bluetooth:藍芽通訊作為一個老資格的通訊標準,除了Peer-to-Peer的匹配通訊方式外。
在新一代的B.L.E.通訊協定下,伴隨IOT的蓬勃趨勢出現更多的新應用。幾乎所有的IOT裝置與行動裝置的溝通都是使用BLE標準進行。
在新一代的B.L.E.通訊協定下,伴隨IOT的蓬勃趨勢出現更多的新應用。幾乎所有的IOT裝置與行動裝置的溝通都是使用BLE標準進行。
2.Xamarin與傳感器 API
Xamarin.iOS與Xamarin.Android並不是重新發明輪子。
而是像是登山的雪鍊般以原本的輪子為主體幫助駕駛更好的駛向目的地。
以上提到的各類傳感器,只要是Apple或是Google有提供 API 。那Xamarin 都可以直接使用。
當然使用的方法還是要遵照平台API的要求。
本系列文將依序列出使用的方法。
Xamarin.iOS與Xamarin.Android並不是重新發明輪子。
而是像是登山的雪鍊般以原本的輪子為主體幫助駕駛更好的駛向目的地。
以上提到的各類傳感器,只要是Apple或是Google有提供 API 。那Xamarin 都可以直接使用。
當然使用的方法還是要遵照平台API的要求。
本系列文將依序列出使用的方法。
留言
張貼留言