數據上報方法及裝置與流程
2023-07-08 02:43:21

本發明涉及通信技術領域,尤其涉及一種數據上報方法及裝置。
背景技術:
隨著終端設備的發展,智慧型手機、平板電腦、掌上電腦等移動終端的應用越來越普及。其中加速度傳感器已經成為移動終端的通用配置。以手機為例,可以通過加速度傳感器檢測手機在三軸方向上的加速度值,常用應用可以包括手機橫豎屏,甩歌,應用平臺上的搖一搖,控制賽車遊戲中的方向等。然而,當硬體布局馬達且距離加速度傳感器較近,或者馬達震動力度較大時,加速度傳感器檢測到的加速度值就會受到影響,可能會導致移動終端中依託於加速度傳感器的應用不穩定的情況。比如微信收到消息時手機震動,而此時正在播放視頻,此時手機容易因為震動而出現視頻橫豎屏搖擺的情況,嚴重影響用戶的使用。故,需進一步改進。
技術實現要素:
本發明的目的在於提供一種數據上報方法及裝置,旨在解決現有技術中存在的移動終端中的馬達震動影響加速度傳感器獲取的數據,導致移動終端的應用不穩定,用戶體驗較差的技術問題。
為解決上述技術問題,本發明實施例提供以下技術方案:
一種數據上報方法,所述方法包括:
當應用程式調用加速度傳感器時,判斷是否開啟馬達;
若開啟馬達,則根據預設校準選項對所述加速度傳感器獲取的數據進行校準並上報校準後的數據。
為解決上述技術問題,本發明實施例還提供以下技術方案:
一種數據上報裝置,所述裝置包括:
判斷模塊,用於當應用程式調用加速度傳感器時,判斷是否開啟馬達;
上報模塊,用於根據預設校準選項對所述加速度傳感器獲取的數據進行校準並上報校準後的數據。
相對於現有技術,本發明通過在應用程式調用加速度傳感器時,判斷是否開啟馬達,若開啟馬達,則根據預設校準選項對所述加速度傳感器獲取的數據進行校準並上報校準後的數據。在開啟馬達時,根據預設校準選項對所述加速度傳感器獲取的數據進行校準並上報校準後的數據,以此對加速度傳感器獲取到有偏差的數據進行補償,從而規避或削弱馬達對加速度傳感器的影響,給移動終端用戶帶來更好的體驗。
附圖說明
下面結合附圖,通過對本發明的具體實施方式詳細描述,將使本發明的技術方案及其它有益效果顯而易見。
圖1為本發明第一實施例提供的數據上報方法的流程示意圖。
圖2為本發明第二實施例提供的數據上報方法的流程示意圖。
圖3為本發明第三實施例提供的數據上報裝置結構示意圖。
圖4為本發明第三實施例提供的數據上報裝置的另一結構示意圖。
圖5為本發明第四實施例提供的移動終端結構示意圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述。可以理解的是,此處所描述的具體實施例僅用於解釋本發明,而非對本發明的限定。另外還需要說明的是,為了便於描述,附圖中僅示出了與本發明相關的部分而非全部結構。基於本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
本發明中的術語「第一」、「第二」和「第三」等是用於區別不同對象,而不是用於描述特定順序。此外,術語「包括」和「具有」以及它們任何變形,意圖在於覆蓋不排他的包含。例如包含了一系列步驟或單元的過程、方法、系統、產品或設備沒有限定於已列出的步驟或單元,而是可選地還包括沒有列出的步驟或單元,或可選地還包括對於這些過程、方法、產品或設備固有的其它步驟或單元。
在本文中提及「實施例」意味著,結合實施例描述的特定特徵、結構或特性可以包含在本發明的至少一個實施例中。在說明書中的各個位置出現該短語並不一定均是指相同的實施例,也不是與其它實施例互斥的獨立的或備選的實施例。本領域技術人員顯式地和隱式地理解的是,本文所描述的實施例可以與其它實施例相結合。
本發明實施例提供的數據上報方法的執行主體,可以為本發明實施例提供的數據上報裝置,或者集成了所述數據上報裝置的移動終端(譬如手機、平板電腦、掌上電腦等),所述數據上報裝置可以採用硬體或者軟體的方式實現。
第一實施例
請參閱圖1,圖1為本發明第一實施例提供的數據上報方法的流程示意圖。所述方法包括如下步驟:
步驟S101,當應用程式調用加速度傳感器時,判斷是否開啟馬達。若是,則執行步驟S102;若否,則執行步驟S103。
可以理解的是,可以在首次開機時或者首次啟動加速度傳感器時通過分析開啟馬達時的三軸數據和不開啟馬達時的三軸數據,得出兩組數據之類的函數關係及影響程度,以建立預設校準選項,當後續應用程式調用加速度傳感器時,均需判斷是否開啟馬達。若是,則執行步驟S102;若否,則執行步驟S103。
步驟S102,根據預設校準選項對所述加速度傳感器獲取的數據進行校準並上報校準後的數據。
優選的,在開啟馬達時,根據預設校準選項中的函數參數對所述加速度傳感器獲取的數據進行校準,並將校準後的數據進行上報給對應的應用程式。
步驟S103,上報所述加速度傳感器獲取的數據。
可以理解的,在沒有開啟馬達的情況下,所述加速度傳感器獲取的數據為無噪音數據,則直接將所述加速度傳感器獲取的數據上報給對應的應用程式。
本實施例通過在應用程式調用加速度傳感器時,判斷是否開啟馬達,若開啟馬達,則根據預設校準選項對所述加速度傳感器獲取的數據進行校準並上報校準後的數據。在開啟馬達時,根據預設校準選項對所述加速度傳感器獲取的數據進行校準並上報校準後的數據,以此對加速度傳感器獲取到有偏差的數據進行補償,從而規避或削弱馬達對加速度傳感器的影響,給移動終端用戶帶來更好的體驗。
第二實施例
請一併參閱圖2,圖2為本發明第二實施例提供的數據上報方法的流程示意圖。所述方法包括如下步驟:
步驟S201,建立加速度傳感器的非易失性數據列表,並將所述非易失性數據列表存入獨立的分區中。
可以理解的是,所述非易失性數據列表用於存放馬達震動時對傳感器三軸的影響值。所述非易失性數據列表存入獨立的分區中,所述分區可以為單獨放置的一個分區,也可以為單獨創建的一個分區,所述分區可以位於非易失性隨機訪問存儲器中的某個存儲位置。
步驟S202,建立預設校準選項。
可以理解的是,移動終端中通常會設置有加速度傳感器。比如重力加速度傳感器,三軸加速度傳感器。這些加速度傳感器可以用於檢測移動終端的重力變化、遠動方向、靜態姿勢等信息,用於實現移動終端中的遊戲控制、圖像自動翻轉、計步、電子指南針傾斜校正、GPS導航系統死角補償、防抖、跌落檢測、橫豎屏切換等功能。基於上述功能,加速度傳感器配合移動終端中的特定應用程式使用甚廣。另外在移動終端中通常還會設置有馬達,用於使移動終端產生振動、位移、翻轉等功能。當用戶使用啟用某個應用程式,開啟加速度傳感器獲取相關數據的時候,如果同時開啟馬達,此時馬達的震動可能會導致加速度傳感器獲取到的數據存在偏差。為了消除馬達對加速度傳感器產生的影響,可以在移動終端首次開機時或者首次啟動加速度傳感器時,建立一個工程模式選項或者設置選項構成的預設校準選項,用來校準馬達對加速度傳感器的數據影響。
優選的,可以通過有限次的測試分別採集開啟馬達時與不開啟馬達時所述加速度傳感器獲取的三軸數據,通過分析開啟馬達時的三軸數據和不開啟馬達時的三軸數據,得出兩組數據之間的函數關係及影響程度,從而建立預設校準選項。其中所述函數關係為常量。
比如,當影響程度大於預設閾值時,確定馬達對加速度傳感器造成影響,則將與所述影響程度一一對應的函數關係確定為校準參數,以此建立預設校準選項。
可以理解的是,本發明所描述的「首次開機」可以為終端廠商生產出移動終端之後首次接通電源時開機的行為,也可以為用戶購買移動終端後激活該移動終端時的行為,也可以為移動終端進行刷機之後第一次接通電源開機的行為。
另外,移動終端在長期使用的過程中必然會存在損耗,則除了上述在首次開機時或者首次啟動加速度傳感器時建立預設校準選項之外,還可以設置一個預設時間間隔,當達到所述預設時間間隔時,重新更新所述預設校準選項。用戶也可以通過手動建立或更新所述預設校準選項。
優選的,所述步驟S202可以通過執行步驟S2021至步驟S2022來實現,具體為:
步驟S2021,獲取多個應用場景中每一應用場景開啟馬達時的加速度傳感器數據與不開啟馬達時的加速度傳感器數據的差值。
可以理解的是,加速度傳感器在移動終端中的應用可以具有多個應用場景,比如遊戲控制、計步、電子指南針傾斜校正、橫豎屏切換等應用場景,可能在每個應用場景下,馬達對加速度傳感器的數據影響不一樣。則可以在首次開機時,或者首次啟動加速度傳感器時獲取多個應用場景中每一應用場景開啟馬達時與不開啟馬達時的加速度傳感器數據,並計算開啟馬達時的加速度傳感器數據和不開啟馬達時的加速度傳感器數據的差值,以此作為加速度傳感器的校準參數。
優選的,所述差值,可以通過有限次的測試分別採集開啟馬達時與不開啟馬達時所述加速度傳感器獲取的三軸數據,比如採集10組數據,可以通過取平均值計算出差值。
步驟S2022,將所述差值存入非易失性數據列表中,以建立預設校準選項。
可以理解的是,將所述差值存入非易失性數據列表中,以確保存儲在所述非易失性數據列表中的校準參數不會丟失。
步驟S203,當應用程式調用加速度傳感器時,判斷是否開啟馬達。若是,則執行步驟S204;若否,則執行步驟S206。
可以理解的是,當後續應用程式調用加速度傳感器時,為了避免馬達震動對加速度傳感器採集的數據造成幹擾,均需判斷是否開啟馬達。若是,則執行步驟S204;若否,則執行步驟S206。
步驟S204,根據預設校準選項對所述加速度傳感器獲取的數據進行校準並上報校準後的數據。
優選的,在開啟馬達時,根據所述非易失性數據列表中的差值,對所述加速度傳感器獲取的數據進行校準,並將校準後的數據進行上報給對應的應用程式。
步驟S205,根據所述校準後的數據對所述應用程式執行對應的操作。
比如,所述應用程式為切換橫豎屏,則將所述校準後的數據與切換橫豎屏的執行參數進行匹配,根據匹配結果對所述應用程式執行橫屏或者豎屏的操作。
步驟S206,上報所述加速度傳感器獲取的數據。
可以理解的,在沒有開啟馬達的情況下,所述加速度傳感器獲取的數據為無噪音數據,則直接將所述加速度傳感器獲取的數據上報給對應的應用程式。
本實施例通過建立非易失性數據列表,獲取多個應用場景中每一應用場景開啟馬達時的加速度傳感器數據與不開啟馬達時的加速度傳感器數據的差值並將所述差值存入非易失性數據列表中,當後續應用程式調用加速度傳感器時,判斷是否開啟馬達,若開啟馬達根據所述非易失性數據列表中的差值,對所述加速度傳感器獲取的數據進行校準並上報校準後的數據,並根據所述校準後的數據對所述應用程式執行對應的操作。在開啟馬達時,根據非易失性數據列表中的差值對所述加速度傳感器獲取的數據進行校準並上報校準後的數據,以此對加速度傳感器獲取到有偏差的數據進行補償,從而規避或削弱馬達對加速度傳感器的影響,給移動終端用戶帶來更好的體驗。
第三實施例
請參閱圖3,圖3為本發明第三實施例提供的數據上報裝置結構示意圖,所述裝置包括判斷模塊33,以及上報模塊34。
所述判斷模塊33,用於當應用程式調用加速度傳感器時,判斷是否開啟馬達。
可以理解的是,可以在首次開機時或者首次啟動加速度傳感器時通過分析開啟馬達時的三軸數據和不開啟馬達時的三軸數據,得出兩組數據之類的函數關係及影響程度,以建立預設校準選項,當後續應用程式調用加速度傳感器時,所述判斷模塊33均需判斷是否開啟馬達。
所述上報模塊34,用於根據預設校準選項對所述加速度傳感器獲取的數據進行校準並上報校準後的數據。
優選的,所述上報模塊34在開啟馬達時,根據預設校準選項中的函數參數對所述加速度傳感器獲取的數據進行校準,並將校準後的數據進行上報給對應的應用程式。
請一併參閱圖4,圖4為本發明第三實施例提供的數據上報裝置的另一結構示意圖,所述裝置包括列表建立模塊31,預設校準選項建立模塊32,判斷模塊33,上報模塊34,以及執行模塊35。
其中,所述列表建立模塊31,用於建立加速度傳感器的非易失性數據列表,並將所述非易失性數據列表存入獨立的分區中。
可以理解的是,所述非易失性數據列表用於存放馬達震動時對傳感器三軸的影響值。所述非易失性數據列表存入獨立的分區中,所述分區可以為單獨放置的一個分區,也可以為單獨創建的一個分區,所述分區可以位於非易失性隨機訪問存儲器中的某個存儲位置。
所述預設校準選項建立模塊32,用於建立預設校準選項。
優選的,所述預設校準選項建立模塊32可以通過有限次的測試分別採集開啟馬達時與不開啟馬達時所述加速度傳感器獲取的三軸數據,通過分析開啟馬達時的三軸數據和不開啟馬達時的三軸數據,得出兩組數據之間的函數關係及影響程度,從而建立預設校準選項。其中所述函數關係為常量。
比如,當影響程度大於預設閾值時,確定馬達對加速度傳感器造成影響,則將與所述影響程度一一對應的函數關係確定為校準參數,以使所述預設校準選項建立模塊32建立預設校準選項。
其中,所述預設校準選項建立模塊32包括獲取單元321和預設校準選項建立單元322。
其中,所述獲取單元321,用於獲取多個應用場景中每一應用場景開啟馬達時的加速度傳感器數據與不開啟馬達時的加速度傳感器數據的差值。
可以理解的是,加速度傳感器在移動終端中的應用可以具有多個應用場景,比如遊戲控制、計步、電子指南針傾斜校正、橫豎屏切換等應用場景,可能在每個應用場景下,馬達對加速度傳感器的數據影響不一樣。所述獲取單元321則可以在首次開機時或者首次啟動加速度傳感器時,獲取多個應用場景中每一應用場景開啟馬達時與不開啟馬達時的加速度傳感器數據,並計算開啟馬達時的加速度傳感器數據和不開啟馬達時的加速度傳感器數據的差值,以此作為加速度傳感器的校準參數。
優選的,所述獲取單元321可以通過有限次的測試分別採集開啟馬達時與不開啟馬達時所述加速度傳感器獲取的三軸數據,比如採集10組數據,可以通過取平均值進行計算以獲取差值。
所述預設校準選項建立單元322,用於將所述差值存入非易失性數據列表中,以建立預設校準選項。
可以理解的是,將所述差值存入非易失性數據列表中,以確保存儲在所述非易失性數據列表中的校準參數不會丟失。
所述判斷模塊33,用於當應用程式調用加速度傳感器時,判斷是否開啟馬達。
可以理解的是,當後續應用程式調用加速度傳感器時,為了避免馬達震動對加速度傳感器採集的數據造成幹擾,所述判斷模塊33均需判斷是否開啟馬達。
所述上報模塊34,用於根據預設校準選項對所述加速度傳感器獲取的數據進行校準並上報校準後的數據。
優選的,在開啟馬達時,所述上報模塊34根據所述非易失性數據列表中的差值,對所述加速度傳感器獲取的數據進行校準,並將校準後的數據進行上報給對應的應用程式。
所述執行模塊35,用於根據所述校準後的數據對所述應用程式執行對應的操作。
比如,所述應用程式為切換橫豎屏,則將所述校準後的數據與切換橫豎屏的執行參數進行匹配,所述執行模塊35根據匹配結果對所述應用程式執行橫屏或者豎屏的操作。
第四實施例
請參閱圖5,圖5為本發明第四實施例提供的移動終端結構示意圖。本實施例中所描述的移動終端10,包括:至少一個輸入設備100;至少一個輸出設備200;至少一個處理器300和存儲器400;至少一個加速度傳感器600;至少一個馬達700。其中,所述處理器300可以為中央處理器(CPU,Central Processing Unit)。上述處理器300和存儲器400耦合,上述輸入設備100、輸出設備200、處理器300、存儲器400、加速度傳感器600和馬達700通過總線500連接。
其中,上述輸入設備100具體可以為物理按鍵,也可以為觸控面板或非觸控手勢等。
上述輸出設備200具體可以為顯示屏。
上述加速度傳感器600可以為重力加速度傳感器,也可以三軸加速度傳感器。
上述馬達700可以為線性震動馬達,也可以為偏心轉子式震動馬達。
上述存儲器400可以是高速RAM存儲器,也可為非不穩定的存儲器(non-volatile memory),例如磁碟存儲器。上述存儲器400用於存儲一組程序代碼,上述輸入設備100、輸出設備200和處理器300用於調用存儲器400中存儲的程序代碼,執行如下操作:
上述處理器300,用於:
當應用程式調用加速度傳感器600時,判斷是否開啟馬達700;
若開啟馬達700,則根據預設校準選項對所述加速度傳感器600獲取的數據進行校準並上報校準後的數據。
可選地,上述處理器300在所述當應用程式調用加速度傳感器之前,還包括:
建立預設校準選項。
可選地,上述處理器300用於所述建立預設校準選項,包括:
獲取多個應用場景中每一應用場景開啟馬達700時的加速度傳感器數據與不開啟馬達700時的加速度傳感器數據的差值;
將所述差值存入非易失性數據列表中,以建立預設校準選項。
可選的,上述處理器300在所述獲取多個應用場景中每一應用場景開啟馬達時的加速度傳感器數據與不開啟馬達時的加速度傳感器數據的差值之前,還包括:
建立加速度傳感器的非易失性數據列表,並將所述非易失性數據列表存入獨立的分區中。
上述處理器300在所述根據預設校準選項對所述加速度傳感器獲取的數據進行校準並上報校準後的數據之後,還包括:
根據所述校準後的數據對所述應用程式執行對應的操作。
具體實現中,本發明實施例中所描述的輸入設備100、輸出設備200和處理器300可執行本發明第一實施例和第二實施例提供的一種數據上報方法中所描述的實現方式,也可執行本發明第三實施例提供的一種數據上報裝置中所描述的實現方式,在此不再贅述。
在上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。
本發明實施例中,所述數據上報裝置與上文實施例中的數據上報方法屬於同一構思,在所述數據上報裝置上可以運行所述數據上報方法實施例中提供的任一方法,其具體實現過程詳見所述數據上報方法實施例,此處不再贅述。
需要說明的是,對本發明所述數據上報方法而言,本領域普通測試人員可以理解實現本發明實施例所述數據上報方法的全部或部分流程,是可以通過電腦程式來控制相關的硬體來完成,所述電腦程式可存儲於一計算機可讀取存儲介質中,如存儲在終端的存儲器中,並被該終端內的至少一個處理器執行,在執行過程中可包括如所述數據上報方法的實施例的流程。其中,所述的存儲介質可為磁碟、光碟、只讀存儲器(ROM,Read Only Memory)、隨機存取記憶體(RAM,Random Access Memory)等。
對本發明實施例的所述數據上報裝置而言,其各功能模塊可以集成在一個處理晶片中,也可以是各個模塊單獨物理存在,也可以兩個或兩個以上模塊集成在一個模塊中。另外,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或模塊的間接耦合或通信連接,可以是電性或其它的形式。上述集成的模塊既可以採用硬體的形式實現,也可以採用軟體功能模塊的形式實現。所述集成的模塊如果以軟體功能模塊的形式實現並作為獨立的產品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質中,所述存儲介質譬如為只讀存儲器,磁碟或光碟等。
以上對本發明實施例所提供的一種數據上報方法及裝置進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本發明的技術方案及其核心思想;本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特徵進行等同替換;而這些修改或者替換,並不使相應技術方案的本質脫離本發明各實施例的技術方案的範圍。