Ang Google, sa walay palad alang sa daghang mga tiggamit sa GSM modules, 2-3 ka bulan ang milabay gibabagan ug gibalhin sa usa ka bayad nga basehan ang API alang sa pagtino sa lokasyon base sa mga coordinate sa mga cell tower nga makita sa module. Tungod niini, sa SIM800 serye modules gihimo
Atong laktawan kung giunsa pagdawat sa Yandex ang mga coordinate sa mga cell tower, ang panguna nga butang mao nga magamit naton kini nga libre nga serbisyo ug makuha ang mosunud nga datos: Latitude, Longitude, Altitude, ingon man ang gibanabana nga sayup alang sa matag parameter. Ang panguna nga katuyoan sa artikulo mao ang paghatag usa ka mubo nga panudlo sa dali nga pagbalhin sa Yandex API, imbis nga wala na magamit nga serbisyo gikan sa Google.
Sa ubos, isip pananglitan, atong ipakita lamang ang latitude ug longitude sa lokasyon sa module.
So sugdan na nato
Una kinahanglan nimo nga basahon ang kasabutan sa tiggamit nga nahimutang sa:
Adto sa adres
Isulat o tipigi ang yawe nga imong nadawat.
Human sa pagkompleto niini nga mga lakang, ikaw adunay access sa panid
Aron makamugna og XML nga hangyo sa cURL format sa Yandex.Locator services, kinahanglan nimo nga makakuha og impormasyon sa mga cell tower nga "makita" sa module:
- countrycode – country code
- operatorid – mobile network code
- cellid – cell identifier
- lac – kodigo sa lokasyon
Kini nga impormasyon makuha gikan sa module pinaagi sa pagpadala sa 'AT+CNETSCAN' nga sugo.
Impormasyon nga nadawat gikan sa module
Operator:"MegaFon",MCC:250,MNC:02,Rxlev:59,Cellid:2105,Arfcn:96,Lac:1E9E,Bsic:31<CR><LF>
Operator:"MegaFon",MCC:250,MNC:02,Rxlev:54,Cellid:2107,Arfcn:18,Lac:1E9E,Bsic:3A<CR><LF>
Operator:"MegaFon",MCC:250,MNC:02,Rxlev:45,Cellid:10A9,Arfcn:97,Lac:1E9E,Bsic:11<CR><LF>
Operator:"MegaFon",MCC:250,MNC:02,Rxlev:41,Cellid:2108,Arfcn:814,Lac:1E9E,Bsic:1F<CR><LF>
Operator:"MegaFon",MCC:250,MNC:02,Rxlev:43,Cellid:5100,Arfcn:13,Lac:1E9E,Bsic:2B<CR><LF>
Operator:"MegaFon",MCC:250,MNC:02,Rxlev:39,Cellid:5102,Arfcn:839,Lac:1E9E,Bsic:1A<CR><LF>
Operator:"MegaFon",MCC:250,MNC:02,Rxlev:38,Cellid:2106,Arfcn:104,Lac:1E9E,Bsic:0A<CR><LF>
Operator:"MegaFon",MCC:250,MNC:02,Rxlev:37,Cellid:0FE7,Arfcn:12,Lac:1E9E,Bsic:24<CR><LF>
Operator:"MegaFon",MCC:250,MNC:02,Rxlev:44,Cellid:14C8,Arfcn:91,Lac:1E9E,Bsic:24<CR><LF>
Operator:"MegaFon",MCC:250,MNC:02,Rxlev:37,Cellid:04B3,Arfcn:105,Lac:1E9E,Bsic:3A<CR><LF>
Operator:"Bee Line GSM",MCC:250,MNC:99,Rxlev:47,Cellid:29A0,Arfcn:70,Lac:39BA,Bsic:09<CR><LF>
Operator:"Bee Line GSM",MCC:250,MNC:99,Rxlev:43,Cellid:0FDD,Arfcn:590,Lac:39BA,Bsic:09<CR><LF>
Operator:"Bee Line GSM",MCC:250,MNC:99,Rxlev:44,Cellid:29A1,Arfcn:84,Lac:39BA,Bsic:10<CR><LF>
Operator:"Bee Line GSM",MCC:250,MNC:99,Rxlev:40,Cellid:8F95,Arfcn:81,Lac:39BA,Bsic:03<CR><LF>
Operator:"Bee Line GSM",MCC:250,MNC:99,Rxlev:43,Cellid:0FDF,Arfcn:855,Lac:39BA,Bsic:24<CR><LF>
Operator:"Bee Line GSM",MCC:250,MNC:99,Rxlev:37,Cellid:299C,Arfcn:851,Lac:39BA,Bsic:17<CR><LF>
Operator:"Bee Line GSM",MCC:250,MNC:99,Rxlev:37,Cellid:0FDE,Arfcn:852,Lac:39BA,Bsic:1B<CR><LF>
Operator:"Bee Line GSM",MCC:250,MNC:99,Rxlev:35,Cellid:299F,Arfcn:72,Lac:39BA,Bsic:10<CR><LF>
Operator:"Bee Line GSM",MCC:250,MNC:99,Rxlev:33,Cellid:28A5,Arfcn:66,Lac:396D,Bsic:25<CR><LF>
Operator:"Bee Line GSM",MCC:250,MNC:99,Rxlev:33,Cellid:2A8F,Arfcn:71,Lac:39BA,Bsic:23<CR><LF>
Operator:"MOTIV",MCC:250,MNC:20,Rxlev:46,Cellid:39D2,Arfcn:865,Lac:4D0D,Bsic:14<CR><LF>
Operator:"MOTIV",MCC:250,MNC:20,Rxlev:36,Cellid:09EE,Arfcn:866,Lac:4D0D,Bsic:25<CR><LF>
Operator:"MOTIV",MCC:250,MNC:20,Rxlev:28,Cellid:09ED,Arfcn:869,Lac:4D0D,Bsic:22<CR><LF>
Operator:"MOTIV",MCC:250,MNC:20,Rxlev:28,Cellid:09EF,Arfcn:861,Lac:4D0D,Bsic:17<CR><LF>
Operator:"MTS",MCC:250,MNC:01,Rxlev:66,Cellid:58FE,Arfcn:1021,Lac:00EC,Bsic:0A<CR><LF>
Operator:"MTS",MCC:250,MNC:01,Rxlev:50,Cellid:58FD,Arfcn:1016,Lac:00EC,Bsic:08<CR><LF>
Operator:"MTS",MCC:250,MNC:01,Rxlev:49,Cellid:58FF,Arfcn:1023,Lac:00EC,Bsic:09<CR><LF>
Operator:"MTS",MCC:250,MNC:01,Rxlev:46,Cellid:F93B,Arfcn:59,Lac:00EC,Bsic:20<CR><LF>
Operator:"MTS",MCC:250,MNC:01,Rxlev:50,Cellid:381B,Arfcn:1020,Lac:00EC,Bsic:0A<CR><LF>
Operator:"MTS",MCC:250,MNC:01,Rxlev:37,Cellid:3819,Arfcn:42,Lac:00EC,Bsic:08<CR><LF>
Operator:"MTS",MCC:250,MNC:01,Rxlev:34,Cellid:4C0F,Arfcn:43,Lac:00EC,Bsic:0A<CR><LF>
Operator:"MTS",MCC:250,MNC:01,Rxlev:33,Cellid:0817,Arfcn:26,Lac:00EC,Bsic:27<CR><LF>
Operator:"MTS",MCC:250,MNC:01,Rxlev:34,Cellid:3A5D,Arfcn:1017,Lac:00E9,Bsic:34<CR><LF>
Operator:"MTS",MCC:250,MNC:01,Rxlev:33,Cellid:3D05,Arfcn:1018,Lac:00EC,Bsic:1F<CR><LF>
Importante nga hinumdoman nga sa ulahi kinahanglan nimo nga i-convert ang datos gikan sa Cellid ug Lac nga tubag sa module gikan sa hexadecimal ngadto sa decimal.
Karon kinahanglan namon nga maghimo XML data aron makontak ang server sa Yandex, nga sa ulahi isagol sa usa ka elemento.
Talaan sa datos
data
comment
xml=<ya_lbs_request><common><version>1.0</version><api_key>
...
Kini kinahanglan nga adunay 88-digit nga yawe nga nadawat gikan sa Yandex
</api_key></common>
<gsm_cells>
<cell><countrycode>
250
Country code (MCC)
</countrycode><operatorid>
2
Operator code (MNC)
</operatorid><cellid>
8453
Cellid sa unang tore gikan sa listahan nga nadawat gikan sa module ug nakabig gikan sa usa ka numero nga adunay base 16 ngadto sa usa ka numero nga adunay base 10 (ang bili nga nadawat gikan sa module mao ang 2105)
</cellid><lac>
7838
Lac sa unang torre, nakabig usab gikan sa base 16 nga numero ngadto sa base 10 nga numero (ang bili nga nadawat gikan sa module mao ang 1E9E)
</lac></cell>
...
Ang usa ka grupo nga gihiusa sa cell tag mahimong masubli sa daghang mga higayon kung gikinahanglan aron madugangan ang pagkakasaligan sa usa ka piho nga lokasyon
</gsm_cells>
<ip><address_v4>
10.137.92.60
Ang IP address nga gi-assign sa module sa network human maablihan ang konteksto sa GPRS mahimong makuha pinaagi sa pagpadala sa command 'AT+SAPBR=2,1' sa module - tan-awa sa ubos
</address_v4></ip></ya_lbs_request>
Makamugna kini og XML nga mensahe nga 1304 ka karakter ang gitas-on sama sa mosunod:
mensahe
xml=<ya_lbs_request><common><version>1.0</version><api_key>{здесь необходимо указать свой ключ}</api_key></common><gsm_cells><cell><countrycode>250</countrycode><operatorid>2</operatorid><cellid>8453</cellid><lac>7838</lac></cell><cell><countrycode>250</countrycode><operatorid>2</operatorid><cellid>8455</cellid><lac>7838</lac></cell><cell><countrycode>250</countrycode><operatorid>2</operatorid><cellid>4265</cellid><lac>7838</lac></cell><cell><countrycode>250</countrycode><operatorid>2</operatorid><cellid>8456</cellid><lac>7838</lac></cell><cell><countrycode>250</countrycode><operatorid>2</operatorid><cellid>20736</cellid><lac>7838</lac></cell><cell><countrycode>250</countrycode><operatorid>2</operatorid><cellid>20738</cellid><lac>7838</lac></cell><cell><countrycode>250</countrycode><operatorid>2</operatorid><cellid>8454</cellid><lac>7838</lac></cell><cell><countrycode>250</countrycode><operatorid>2</operatorid><cellid>4071</cellid><lac>7838</lac></cell><cell><countrycode>250</countrycode><operatorid>2</operatorid><cellid>5320</cellid><lac>7838</lac></cell><cell><countrycode>250</countrycode><operatorid>2</operatorid><cellid>1203</cellid><lac>7838</lac></cell></gsm_cells><ip><address_v4>10.137.92.60</address_v4></ip></ya_lbs_request>
Kini nga mensahe gihimo base sa datos sa mga cell tower sa operator sa Megafon, mahimo kini madugangan sa datos, lakip ang: sa ubang mga torre nga makita sa module nga nadawat gamit ang 'AT+CNETSCAN' nga sugo aron madugangan ang kasaligan sa gi-isyu nga mga coordinate.
Pagtrabaho uban sa module ug pagkuha sa kasamtangan nga mga coordinate
AT-log sa trabaho uban sa module
>AT+SAPBR=3,1,”Contype”,”GPRS” // конфигурирование профиля доступа в Интернет
<OK
>AT+SAPBR=3,1,”APN”,”internet” // конфигурирование APN
<OK
>AT+SAPBR=1,1 // запрос на открытие GPRS контекста
<OK // контекст открыт
>AT+SAPBR=2,1 // запрос текущего IP адреса присвоенного оператором сотовой связи
<+SAPBR: 1,1,”10.137.92.60” // данный IP адрес потребуется вставить в XML-сообщение
<
<OK
>AT+HTTPINIT
<OK
>AT+HTTPPARA=”CID”,1
<OK
>AT+HTTPPARA=”URL”,”http://api.lbs.yandex.net/geolocation”
<OK
>AT+HTTPDATA=1304,10000 // первое число – длина сформированного XML-сообщения
<DOWNLOAD // приглашение к вводу XML-сообщения
< // вводим сформированное нами XML-сообщение
<OK
>AT+HTTPACTION=1
<OK
<
<+HTTPACTION: 1,200,303 // 200 – сообщение отправлено, 303 – получено 303 байт данных
>AT+HTTPREAD=81,10
<+HTTPREAD: 10
<60.0330963 // широта на которой расположен модуль
<OK
>AT+HTTPREAD=116,10
<+HTTPREAD: 10
<30.2484303 // долгота на которой расположен модуль
>AT+HTTPTERM
<OK
Busa, nadawat namo ang kasamtangang mga coordinate sa module: 60.0330963, 30.2484304.
Samtang ang gidaghanon sa mga datos nga gipadala pinaagi sa mga cell tower nagdugang, ang katukma sa pagtino sa lokasyon modaghan nga proporsyonal.
Ang mas detalyado nga kasayuran bahin sa sulud sa tubag gikan sa serbisyo sa Yandex.Locator ug ang pagpili sa datos nga imong kinahanglan mabasa sa link:
konklusyon
Nanghinaut ko nga kini nga materyal mahimong maayong tabang sa mga developer. Andam ko sa pagtubag sa imong mga pangutana sa mga komento.
Source: www.habr.com