有時候智能手機看起來顯得很笨。比如下面這個例子:辦公室里坐了很多員工,每位都在專心地做他或她自己的工作。此時此刻,一首突然響起的流行音樂——剛好離開辦公室去外面就餐的同事的手機鈴音打破了這里的寧靜。手機就放在桌子上,拼命地振動,慢慢地滑向桌子邊緣,迫使旁邊的同事跳起來把手機移到安全的位置。 這種情況對辦公室人員來是非常惱火的,很容易讓他們分心。 乍看起來,一部智能手機如此的不聰明似乎有些奇怪——畢竟智能手機通常都非常了解自己所處的周圍環境。 事實上,我們還需要增加一些元件,并對各種傳感器的輸出進行仔細的組合,才能讓一臺移動設備自動執行合適的通知功能。本文概述了一個可以提供這種能力的軟硬件框架,它充分利用了許多移動設備中已有的功能。 智能手機中豐富的傳感器陣列 智能手機中已經配備有許多傳感器。有些傳感器可以直接支持智能通知: ·嵌入在顯示屏中的接近傳感器可以檢測到手機是否靠近用戶的耳朵。當靠近用戶耳朵時,它可以通知手機關閉顯示屏及其觸摸敏感性。 ·環境光線傳感器可以幫助系統根據環境光線的強度調整顯示屏的亮度。先進的環境光線傳感器將數字顏色檢測和接近檢測結合在一起,可以實現更加復雜的顯示管理。 ·加速度計可以判定屏幕的方向,以便屏幕上顯示的內容作出合適的旋轉以配合橫屏或豎屏模式。 ·麥克風可以檢測環境噪聲的大小。 就目前的配置而言,每個傳感器都被分配一個主要的功能,一般不用于其它功能。加速度計是其中一個例外,它也被用于游戲應用中,用于支持玩家的用戶界面。 對環境的部分感知 目前智能手機中的傳感器陣列具有部分的智能事件通知能力,比如來電、短信和電子郵件。舉例來說,智能手機中的環境光線傳感器和加速度計可以檢測手機是否處于靜止狀態和明亮的環境中(是太陽光還是人造光源)。這意味著智能手機不在用戶身上(如果手機在口袋里,顯示屏上應該不會照射到環境光線)。這也意味著可以自動取消振動功能。 但用戶通知可以做得比這智能得多,而且只需增加少量元器件即可。 舉例來說,當手機面朝下放在桌子上時,環境光線傳感器將無法正常工作。為了讓智能手機能同時看到兩個方向,需要安裝兩個環境光線傳感器,一個在手機前面,一個在手機背面。這樣不管手機處于什么位置都能使用環境光線信息。 同樣對接近檢測也可以這么處理:在手機背面增加第二個接近傳感器。傳感器模塊可以將接近和環境光線檢測功能結合在一起,因此在手機背面只需增加一個器件。如果使用顏色傳感器/接近傳感器模塊,那么這個器件就能真實地測量環境光線的色溫,進而分辨出是人造光(表明手機在室內)還是太陽光(表明手機在室外)。 智能通知還需要有關環境噪聲大小的信息。這要求來自麥克風的檢測輸入,再加上數字信號處理來判斷手機附近的聲音大小。將麥克風的輸出幅度轉換為噪聲音量測量值可以在專門的傳感器接口中實現,避免使用手機的主應用處理器的運算資源。 智能通知系統中需要的最后一個硬件是環境溫度傳感器。對溫度敏感的元件(比如PT100電阻)加上信號處理就能幫助移動設備確定周圍空氣的溫度。應謹慎選取它在電路板上的位置,盡量減小手機本身發熱對它的影響。測量的絕對精度不是很重要:它的功能只是指示手機是否靠近用戶身體。 現在就可以把這些不同的輸入組合起來,產生手機必須向用戶提供通知那一刻所處環境的統一視圖(見圖1)。換句話說,各種測量值必須都饋送給一個統一的算法,從而從大量可能的環境(每種環境都有自己的一組特征量)中做出正確的選擇。 圖1:可以根據各種類型的傳感器輸入信息搭建出當前的環境。 如何組合來自不同傳感器的信息 參考本文開頭描述的“桌子上振鈴的手機”場景,音量傳感器應該單獨就能指示設備處于安靜的環境中;智能算法隨后就可以降低通知的音量。另外,來自前后接近傳感器的組合信息可以指示手機基本上平放在桌面或其它平坦的表面上。手機可以使用這個信息做出關閉振動的決定,當手機不在用戶身上時振動是沒有必要的。 正如這個例子表明的那樣,各種傳感器輸入的組合可以幫助設備精確地檢測所處的環境,然后針對這種環境做出合適通知類型的明智決定。 將這個工作原理加以擴展,可以定義許多典型的場景,然后針對每種場景做一個配置文件。這個配置文件可以向移動設備提供應該如何通知用戶的指令。舉例來說: ·“在用戶口袋里”這種配置應該提示設備進行振動 ·“在包里,并且在移動”這種配置應該提示使用大音量提醒 ·“躺在安靜房間里的桌子上”這種配置應該降低提醒音量 圖2所示的流程圖描述了一種決策樹,它可以用到來自多個傳感器的信息分辨出7種不同的配置。一系列加速度計測量結果可以用來判斷移動設備是在移動還是靜止狀態。溫度傳感器用來判斷設備是否靠近用戶身體。環境光線傳感器可以分辨出是室內還是室外環境(≥2,000lux的值表明設備在室外),或確定設備是否在黑暗的環境中,比如包或口袋中。 圖2:這種決策樹可以用來判斷最合適的通知方式。 用戶配置和自學習能力 智能手機的一種能力就是決策樹能由用戶進行配置。當然在實際使用中,這樣可能會帶來一些復雜性,而且實際上很少有用戶會修改默認的決策樹。 自我學習算法當然會增強用戶的體驗。算法的默認狀態包含一個簡單的決策樹和預定義的通知配置集。但這些規則可以根據用戶輸入和行為進行自動修改。 例如,如果用戶想在特定場景中將手機調到僅振動狀態,設備可以自動將這種修改增加到標準配置文件中。這樣,隨著時間的推移,用戶就會得到設備能夠預期和理解自己行為的印象。當然,這種適應性必須謹慎實現,要避免誤解少量的隨機事件。 本文小結 現在的智能手機已經配備有豐富的傳感器陣列,它們能夠了解周圍的環境,但它們工作在各自獨立的方式。通過組合它們的測量結果,手機就能檢測出單個傳感器本身無法感知的完整應用場景。結合用軟件實現的決策流程,手機中的傳感器組合就能真實地模仿人類行為,并使用多個傳感器輸入信息對我們居住的環境做出智能的響應。 結果是可以向用戶——以及所有與用戶分享居住或工作環境的那些人提供更加自然、更加舒適和愉悅的使用體驗。 |