Serbisyo sa lokasyon sa GSM sa mga module sa SIM800x ug ang operasyon niini sa Yandex.Locator API

Serbisyo sa lokasyon sa GSM sa mga module sa SIM800x ug ang operasyon niini sa Yandex.Locator API

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 SIMCom Wireless Solusyon, ang pagpaandar sa AT+CIPGSMLOC nga sugo mihunong sa pagtrabaho. Sa kini nga artikulo isulti ko kanimo kung giunsa nimo masulbad kini nga problema pinaagi sa paggamit sa parehas nga serbisyo nga gihatag sa Yandex - Yandex.Locator.

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: yandex.ru/legal/locator_api. Ang partikular nga pagtagad kinahanglan ibayad sa clause 3.6. kini nga kasabutan sa tiggamit, nga nag-ingon nga Ang Yandex adunay katungod sa pag-usab/pagtul-id o pag-update sa Yandex.Locator API sa bisan unsang oras, nga wala’y una nga pahibalo..

Adto sa adres yandex.ru/dev/locator/keys/get ug idugang ang imong nahimo kaniadto nga Yandex account sa grupo sa pagpalambo. Kini nga mga lakang magtugot kanimo nga makakuha usa ka yawe aron ma-access kini nga serbisyo.

Serbisyo sa lokasyon sa GSM sa mga module sa SIM800x ug ang operasyon niini sa Yandex.Locator API
Isulat o tipigi ang yawe nga imong nadawat.

Human sa pagkompleto niini nga mga lakang, ikaw adunay access sa panid yandex.ru/dev/locator/doc/dg/api/geolocation-api-docpage diin ang sukaranan nga kasayuran bahin sa mekanismo sa operasyon sa serbisyo sa Yandex.Locator gihatag.

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: yandex.ru/dev/locator/doc/dg/api/xml-reply-docpage, sa API->XML->Seksiyon nga tubag

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

Idugang sa usa ka comment