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