Gwasanaeth Lleoliad GSM o fodiwlau SIM800x a'i waith gyda'r API Yandex.Locator

Gwasanaeth Lleoliad GSM o fodiwlau SIM800x a'i waith gyda'r API Yandex.Locator

Google, yn anffodus i lawer o ddefnyddwyr o fodiwlau GSM, 2-3 mis yn ôl blocio a throsglwyddo i sail taledig y API ar gyfer pennu lleoliad yn seiliedig ar y cyfesurynnau o dyrau cell gweladwy i'r modiwl. Oherwydd hyn, ar fodiwlau cyfres SIM800 a gynhyrchir Atebion Di-wifr SIMCom, rhoddodd ymarferoldeb y gorchymyn AT + CIPGSMLOC y gorau i weithio. Yn yr erthygl hon byddaf yn dweud wrthych sut y gallwch chi ddatrys y broblem hon trwy ddefnyddio gwasanaeth tebyg a ddarperir gan Yandex - Yandex.Locator.

Gadewch i ni hepgor sut mae Yandex yn derbyn cyfesurynnau tyrau celloedd, y prif beth yw y gallwn ddefnyddio'r gwasanaeth rhad ac am ddim hwn a chael y data canlynol: Lledred, Hydred, uchder, yn ogystal â'r gwall bras ar gyfer pob paramedr. Prif bwrpas yr erthygl yw rhoi tiwtorial byr ar newid yn gyflym i'r API Yandex, yn lle'r gwasanaeth nad yw ar gael bellach gan Google.

Isod, fel enghraifft, dim ond lledred a hydred lleoliad y modiwl y byddwn yn ei ddangos.

Felly gadewch i ni ddechrau

Yn gyntaf mae angen i chi ddarllen y cytundeb defnyddiwr sydd wedi'i leoli yn: yandex.ru/legal/locator_api. Dylid rhoi sylw arbennig i gymal 3.6. y cytundeb defnyddiwr hwn, sy'n nodi hynny Mae Yandex yn cadw'r hawl i newid/cywiro neu ddiweddaru API Yandex.Locator ar unrhyw adeg, heb rybudd ymlaen llaw..

Ewch i'r cyfeiriad yandex.ru/dev/locator/keys/get ac ychwanegwch eich cyfrif Yandex a grëwyd yn flaenorol i'r grŵp datblygu. Bydd y camau hyn yn caniatáu ichi gael allwedd i gael mynediad at y gwasanaeth hwn.

Gwasanaeth Lleoliad GSM o fodiwlau SIM800x a'i waith gyda'r API Yandex.Locator
Ysgrifennwch neu storio fel arall yr allwedd a gewch.

Ar ôl cwblhau'r camau hyn, bydd gennych fynediad i'r dudalen yandex.ru/dev/locator/doc/dg/api/geolocation-api-docpage lle darperir gwybodaeth sylfaenol am fecanwaith gweithredu'r gwasanaeth Yandex.Locator.

I gynhyrchu cais XML mewn fformat cURL i wasanaethau Yandex.Locator, bydd angen i chi gael gwybodaeth am dyrau cell “gweladwy” gan y modiwl:

  • cod gwlad - cod gwlad
  • gweithredwr - cod rhwydwaith symudol
  • cellid – dynodwr cell
  • lac - cod lleoliad

Gellir cael y wybodaeth hon o'r modiwl trwy anfon y gorchymyn 'AT+CNETSCAN'.

Gwybodaeth a dderbyniwyd o'r modiwl

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>

Mae'n bwysig nodi y bydd angen i chi drosi'r data o ymateb Cellid a Lac y modiwl yn ddiweddarach o hecsadegol i ddegol.

Nawr mae angen i ni gynhyrchu data XML i gysylltu â'r gweinydd Yandex, a fydd wedyn yn cael ei gyfuno'n un elfen.

Tabl data

Data
Sylw

xml=<ya_lbs_request><common><version>1.0</version><api_key>

...
Dylai hwn gynnwys yr allwedd 88 digid a dderbyniwyd gan Yandex

</api_key></common>
<gsm_cells>
<cell><countrycode>
250

Cod gwlad (MCC)

</countrycode><operatorid>
2

Cod gweithredwr (MNC)

</operatorid><cellid>
8453

Cellid y twr cyntaf o'r rhestr a dderbyniwyd o'r modiwl a'i drosi o rif gyda sylfaen 16 i rif gyda sylfaen 10 (y gwerth a dderbyniwyd o'r modiwl yw 2105)

</cellid><lac>
7838

Lac y twr cyntaf, hefyd wedi'i drawsnewid o rif sylfaen 16 i rif sylfaen 10 (y gwerth a dderbynnir o'r modiwl yw 1E9E)

</lac></cell>
...

Gellir ailadrodd grŵp sydd wedi'i uno gan y tag cell gymaint o weithiau ag sy'n angenrheidiol i gynyddu dibynadwyedd lleoliad penodol

</gsm_cells>
<ip><address_v4>
10.137.92.60

Gellir cael y cyfeiriad IP a neilltuwyd i'r modiwl gan y rhwydwaith ar ôl agor y cyd-destun GPRS trwy anfon y gorchymyn 'AT + SAPBR = 2,1' i'r modiwl - gweler isod

</address_v4></ip></ya_lbs_request>

Bydd hyn yn cynhyrchu neges XML 1304 nod o hyd fel a ganlyn:

Neges

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>

Cynhyrchir y neges hon ar sail data ar dyrau celloedd gweithredwr Megafon, gellir ei hategu â data, gan gynnwys: ar gyfer tyrau eraill sy'n weladwy i fodiwlau a dderbynnir gan ddefnyddio'r gorchymyn 'AT + CNETSCAN' i gynyddu dibynadwyedd y cyfesurynnau a gyhoeddwyd.

Gweithio gyda'r modiwl a chael cyfesurynnau cyfredol

AT-log o waith gyda'r modiwl

>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

Felly, cawsom gyfesurynnau cyfredol y modiwl: 60.0330963, 30.2484304.
Wrth i nifer y data a anfonir trwy dyrau celloedd gynyddu, bydd cywirdeb pennu lleoliad yn cynyddu'n gymesur.

Gellir darllen gwybodaeth fanylach am gynnwys yr ymateb gan wasanaeth Yandex.Locator a dewis y data sydd ei angen arnoch yn y ddolen: yandex.ru/dev/locator/doc/dg/api/xml-reply-docpage, yn yr adran API-> XML-> Ymateb

Casgliad

Rwy'n gobeithio y bydd y deunydd hwn o gymorth da i ddatblygwyr. Rwy'n barod i ateb eich cwestiynau yn y sylwadau.

Ffynhonnell: hab.com

Ychwanegu sylw