Sabis na wurin GSM na samfuran SIM800x da aikinsa tare da Yandex.Locator API

Sabis na wurin GSM na samfuran SIM800x da aikinsa tare da Yandex.Locator API

Google, abin takaici ga yawancin masu amfani da tsarin GSM, watanni 2-3 da suka gabata an toshe su kuma an canza su zuwa tsarin da aka biya API don tantance wurin da ya danganci daidaitawar hasumiya ta salula da ake iya gani ga tsarin. Saboda wannan, akan SIM800 jerin kayayyaki da aka samar SIMCom Wireless Solutions, Ayyukan umarnin AT+CIPGSMLOC sun daina aiki. A cikin wannan labarin, zan gaya muku yadda zaku iya magance wannan matsalar ta amfani da irin wannan sabis ɗin da Yandex. Yandex.Locator.

Bari mu tsallake yadda Yandex ke karɓar madaidaicin hasumiya na sel, babban abu shine cewa zamu iya amfani da wannan sabis ɗin kyauta kuma mu sami bayanan masu zuwa: Latitude, Longitude, Altitude, kazalika da kusan kuskure ga kowane siga. Babban makasudin labarin shine don ba da ɗan gajeren koyawa kan sauyawa da sauri zuwa Yandex API, maimakon sabis ɗin da ba a samu daga Google ba.

A ƙasa, a matsayin misali, za mu nuna kawai latitude da longitude na wurin module.

Don haka mu fara

Da farko kuna buƙatar karanta yarjejeniyar mai amfani da ke a: yandex.ru/legal/locator_api. Ya kamata a biya kulawa ta musamman ga sashi na 3.6. wannan yarjejeniyar mai amfani, wanda ke bayyana cewa Yandex yana da haƙƙin canzawa/gyara ko sabunta Yandex.Locator API a kowane lokaci, ba tare da sanarwa ba..

Je zuwa adireshin yandex.ru/dev/locator/keys/get kuma ƙara asusun Yandex da aka ƙirƙira a baya zuwa ƙungiyar haɓakawa. Waɗannan matakan za su ba ka damar samun maɓalli don samun damar wannan sabis ɗin.

Sabis na wurin GSM na samfuran SIM800x da aikinsa tare da Yandex.Locator API
Rubuta ko in ba haka ba adana maɓallin da kuka karɓa.

Bayan kammala waɗannan matakan, zaku sami damar shiga shafin yandex.ru/dev/locator/doc/dg/api/geolocation-api-docpage inda aka samar da mahimman bayanai game da tsarin aiki na sabis na Yandex.Locator.

Don samar da buƙatun XML a tsarin cURL zuwa sabis na Yandex.Locator, kuna buƙatar samun bayanai akan hasumiya ta “bayyana” ta tsarin:

  • lambar ƙasa - lambar ƙasa
  • operatorid – lambar sadarwar wayar hannu
  • cellid - mai gano kwayar halitta
  • lac - lambar wuri

Ana iya samun wannan bayanin daga tsarin ta hanyar aika umarnin 'AT+CNETSCAN'.

Bayanan da aka karɓa daga tsarin

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>

Yana da mahimmanci a lura cewa daga baya kuna buƙatar canza bayanai daga martanin Cellid da Lac na module daga hexadecimal zuwa ƙima.

Yanzu muna buƙatar samar da bayanan XML don tuntuɓar uwar garken Yandex, wanda daga baya za a haɗa shi zuwa kashi ɗaya.

Teburin bayanai

data
comment

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

...
Wannan yakamata ya ƙunshi maɓallin lambobi 88 da aka karɓa daga Yandex

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

Lambar ƙasa (MCC)

</countrycode><operatorid>
2

Lambar mai aiki (MNC)

</operatorid><cellid>
8453

Cellid na hasumiya na farko daga jerin da aka karɓa daga tsarin kuma an canza shi daga lamba tare da tushe 16 zuwa lamba tare da tushe 10 (darajar da aka karɓa daga ƙirar ita ce 2105)

</cellid><lac>
7838

Lac na hasumiya ta farko, kuma an canza shi daga tushe na lamba 16 zuwa lambar tushe 10 (darajar da aka karɓa daga ƙirar ita ce 1E9E)

</lac></cell>
...

Ƙungiyar da aka haɗa ta alamar tantanin halitta za a iya maimaita sau da yawa kamar yadda ya cancanta don ƙara amincin wani takamaiman wuri

</gsm_cells>
<ip><address_v4>
10.137.92.60

Adireshin IP da aka sanya wa tsarin ta hanyar sadarwa bayan buɗe mahallin GPRS ana iya samun shi ta hanyar aika umarni 'AT+SAPBR=2,1' zuwa tsarin - duba ƙasa.

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

Wannan zai samar da saƙon XML mai haruffa 1304 tsawon kamar haka:

Sako

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>

Ana samar da wannan saƙon ne bisa bayanan da ke kan hasumiya ta wayar salula na ma'aikacin Megafon, ana iya ƙara shi da bayanai, gami da: a kan wasu hasumiyai da ke bayyane ga tsarin da aka karɓa ta amfani da umarnin 'AT + CNETSCAN' don ƙara amincin haɗin gwiwar da aka bayar.

Yin aiki tare da module da samun haɗin kai na yanzu

AT-log na aiki tare da 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

Don haka, mun karɓi abubuwan daidaitawa na yanzu: 60.0330963, 30.2484304.
Yayin da adadin bayanan da aka aika ta hasumiya ta salula ke ƙaruwa, daidaiton tantance wuri zai ƙaru daidai gwargwado.

Ƙarin cikakkun bayanai game da abun ciki na amsa daga sabis na Yandex.Locator da zaɓin bayanan da kuke buƙata za a iya karantawa a mahaɗin: yandex.ru/dev/locator/doc/dg/api/xml-reply-docpage, a cikin API->XML->Sashen amsawa

ƙarshe

Ina fatan wannan kayan zai zama kyakkyawan taimako ga masu haɓakawa. Na shirya don amsa tambayoyinku a cikin sharhi.

source: www.habr.com

Add a comment