【如何集成⾼精度定位服務】之終端側 SDK 的集成

⾼精度定位綜述分別介紹了集成高精度位置服務的各個步驟,我們不難發現,整個過程最核心的內容,就是集成SDK。

千尋SDK主要負責從服務器獲取RTCM數據,整個過程包括鑑權,數據播發,接收,上傳GGA等多個環節,但具體的底層細節用戶不需要關心,千尋已經封裝好了完整的上層API供開發者使用。千尋可以提供嵌入式,Linux,Android等多個操作系統版本的SDK,本章將根據賬號體系,首先介紹不同平臺如何集成的差分數據SDK;然後再以千尋魔方120M爲例,說明包含千尋RTK算法的SDK。對於特殊的定製化平臺,強烈建議用戶聯繫千尋的客服,並提供相關編譯環境信息,千尋能夠定製對應的SDK包。


 

1. 千尋賬號體系概述

 

千尋會爲每一個用戶提供對應的賬號,用戶在千尋官網完成註冊,並實名認證後,就可以登錄自己的控制中心,在這裏面可以看到自己有效的服務實例。點擊進入後,能夠看到自己服務實例的AK和AS,

另外,在設備服務號中,也能看到對應激活的設備類型(devicetype)與設備ID(deviceID),

這四個參數構成了千尋服務賬號最核心的部分。服務器通過這四個參數,能夠識別唯一的終端,進而對應播發RTCM。在後續集成SDK的過程中,需要在代碼中指定的位置填入這四個變量。


 

2. 安卓平臺差分SDK集成

 

安卓平臺相對較簡單,由於Java虛擬機的原理,安卓平臺的開發不依賴於底層,任何硬件環境運行的都是同一套代碼。千尋SDK中包含相關的jar包,以及So文件,用戶僅需將SDK中的jar文件與so庫加入到自己工程中,配置好千尋賬號,按照要求調用API即可。

SDK解壓後,內部包含說明文檔《千尋SDK接入文檔》,裏面詳細介紹了代碼流程,以及API的調用方法,強烈建議用戶先閱讀文檔,再繼續開發。

本小節僅說明Java層的內容,如果用戶需要在安卓NDK層進行開發,建議聯繫千尋的客戶獲取相關技術支持。

 


 

3. Linux與嵌入式平臺差分SDK集成

Linux與嵌入式的特殊性,底層會有巨大的不同,這決定了不同版本很多差異化的內容。目前能夠統一的僅爲x86平臺的Linux系統,因此千尋官網僅能提供x86平臺的LinuxSDK,若用戶基於不同的ARM架構進行開發,需要進行定製。這裏建議用戶聯繫千尋客服,提供自己使用的編譯鏈,由千尋向用戶提供定製好的版本。

Linux平臺的開發相對容易,用戶在代碼中配置好賬號信息,調用API通過GGA語句上傳自己的位置信息,然後在對應的回調函數中就可以獲取到服務器播發的RTCM差分數據,以二進制流的形式傳送。開發者僅需將RTCM通過串口發送給內置RTK的定位模組,就可以完成高精度的定位。

嵌入式平臺相對於Linux更加開放,用戶如果在嵌入式平臺使用FreeRTOS等系統,或者baremetal裸跑,需要首先聯繫千尋客服,獲取對應版本的SDK。在嵌入式系統中,需要用戶自己根據底層網絡的接口,按照千尋指定的要求,實現並封裝好底層socket接口,具體細節可以參考SDK包中的《千尋SDK網絡層接口指南》。

嵌入式和Linux平臺的SDK包中,同樣包含相關的說明文檔《差分數據SDK開發指南》,強烈建議用戶仔細閱讀。

 


 

4. 千尋魔方120M的RTK算法SDK

千尋魔方120M是千尋自有的高精度定位模組,低成本、高可用性,可直接內置千尋服務,並且易於集成到用戶的原有系統中。

與前面提到的定位模組和板卡相比,120M內部不具有RTK解算能力,因此需要藉助於千尋自有RTK算法。在這種應用場景中,RTK算法運行在主處理器一側,千尋魔方通過串口將衛星原始觀測量發送到處理器,處理器一方面從千尋服務器獲取RTCM,再同時結合收到的原始觀測量,進行高精度解算,最終直接獲取高精度定位結果。這類用戶需要集成這個特殊版本的SDK。整個流程如下圖所示:

 

在這種應用中,千尋也提供了對應的SDK,支持安卓、Linux、嵌入式環境,該SDK打包了千尋算法,以及與服務器交換的內容,用戶僅需集成該SDK,便可以完成所有開發。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章