GPRS是如何獲取位置的呢?GPRS不同于GPS,我們都知道GPS是通過衛星來定位,而GPRS是通過基站來定位,其定位精度收到通信基站的位置和密度的影響在沒有基站的位置上,誤差范圍會比較大,也許系有人會問既然GPS定位更精準,拿為什么還需要基站定位呢?這是因為GPS定位只能在空曠的地方接收到信號,比如在高樓密集的城市,高架橋下,室內等GPS信號會很差或接收不到信號,同時也會受天氣的影響如果天氣差GPS信號強度會低很多。但基站定位雖精度雖不及GPS,但只要有基站至室內也可定位,且不會收天氣的影響。隨著基站的數量越來越多,GPRS的定位也會越來越準確。
基站定位示意圖
獲取位置流程
流程圖
獲取到基站的位置信息后我們可以調用LBS的數據倉庫API接口進行查詢,這里推薦一個比較好用的接口這個網站的查詢接口是免費開放的,但是有限制,每5分鐘限制查詢300次,基站/WIFI/經緯度查詢接口每日限制查詢1000次如果我們的查詢次數不多的話是足夠用的,不夠使用也有收費的可以用。
基站查詢接口可查詢全國移動聯通電信的2G/3G/4G基站位置信息,收錄數據超過兩萬條。下面是提供查詢的API接口:
API接口
有與GPRS模塊可以與服務器通訊所以我們在獲取到基站的位置信息之后直接將數據通過單片機串口通過GPRS模塊發送到服務器進行查詢即可。
GPRS通訊示意圖
1. 單片機通過AT指令服務器的相關信息配置進模塊
(1) 設置工作模式為網絡透傳模式 AT+WKMOD="UDC"
(2) 使能 socket A AT+SOCKAEN="on"
(3) 設置 socket A 為 TCP 客戶端,服務器地址為 api.cellocation.com,服務器端口號為 81。 AT+SOCKA="TCP", api.cellocation.com",81
(4) 使能心跳包 AT+HEARTEN="on"
(5) 設置心跳包發送間隔 AT+HEARTTM=30
(6) 使能注冊包 AT+REGEN="ON"
2. 查詢基站信息
單片機串口發送 AT+LBS?
返回坐標信息 如: LAC =21269,CID =30321
3. 調用數據接口進行位置查詢
GET /cell/?mcc=460&mnc=1&lac=4301&ci=20986&output=csvHTTP/1.1
Host:api.cellocation.com:81
發送數據時這個位置一定要空兩行
發送時將lac和ci替換為獲取到的坐標信息即可,返回的數據是CSV格式的,我們用","來解析即可獲得經緯度和具體的位置信息
-
單片機
+關注
關注
6043文章
44622瀏覽量
638522 -
GPRS
+關注
關注
21文章
984瀏覽量
129648
發布評論請先 登錄
相關推薦
評論