Tšebeletso ea Sebaka sa GSM ea li-module tsa SIM800x le mosebetsi oa eona ka Yandex.Locator API

Tšebeletso ea Sebaka sa GSM ea li-module tsa SIM800x le mosebetsi oa eona ka Yandex.Locator API

Google, ka bomalimabe bakeng sa basebelisi ba bangata ba li-module tsa GSM, likhoeli tse 2-3 tse fetileng li thibetse le ho fetisetsoa motheong o lefshoang API bakeng sa ho khetholla sebaka se thehiloeng ho lihokahanyo tsa litora tsa lisele tse bonahalang ho module. Ka lebaka lena, li-module tsa letoto la SIM800 li hlahisitsoe SIMCom Wireless Solutions, ts'ebetso ea taelo ea AT+CIPGSMLOC e emisitse ho sebetsa. Sehloohong sena ke tla u bolella kamoo u ka rarollang bothata bona kateng ka ho sebelisa tšebeletso e tšoanang e fanoeng ke Yandex - Yandex.Locator.

Ha re tlōle kamoo Yandex e fumanang lihokahanyo tsa litora tsa lisele, ntho e ka sehloohong ke hore re ka sebelisa tšebeletso ena ea mahala mme re fumane lintlha tse latelang: Latitude, Longitude, Altitude, hammoho le phoso e ka bang teng bakeng sa parameter ka 'ngoe. Morero o ka sehloohong oa sengoloa ke ho fana ka thuto e khuts'oane ea ho fetolela kapele ho Yandex API, ho fapana le ts'ebeletso e seng e fumaneha ho tsoa ho Google.

Ka tlase, joalo ka mohlala, re tla bonts'a feela latitude le longitude ea sebaka sa mojule.

Kahoo a re qaleng

Pele o hloka ho bala tumellano ea mosebelisi e fumanehang ho: yandex.ru/legal/locator_api. Tlhokomelo e khethehileng e lokela ho lefshoa ho temana ea 3.6. tumellano ena mosebedisi, e bolelang hore Yandex e na le tokelo ea ho fetola, ho lokisa kapa ho ntlafatsa Yandex.Locator API ka nako efe kapa efe, ntle le tsebiso esale pele..

Eya atereseng yandex.ru/dev/locator/keys/get 'me u kenye ak'haonte ea hau ea Yandex e entsoeng pele ho sehlopha sa nts'etsopele. Mehato ena e tla u lumella ho fumana senotlolo sa ho fihlella ts'ebeletso ena.

Tšebeletso ea Sebaka sa GSM ea li-module tsa SIM800x le mosebetsi oa eona ka Yandex.Locator API
Ngola fatše kapa ho seng joalo boloka senotlolo seo u se fumanang.

Kamora ho qeta mehato ena, o tla ba le phihlello ea leqephe yandex.ru/dev/locator/doc/dg/api/geolocation-api-docpage moo tlhahisoleseding ea motheo mabapi le mochine oa ts'ebetso ea tšebeletso ea Yandex.Locator e fanoa.

Ho hlahisa kopo ea XML ka mokhoa oa cURL litšebeletsong tsa Yandex.Locator, u tla hloka ho fumana lintlha tse mabapi le litora tsa lisele tse "bonahalang" ka mojule:

  • countrycode - khoutu ea naha
  • operatorid – khoutu ya netweke ya mohala
  • cellid - sekhetho sa sele
  • lac - khoutu ea sebaka

Lintlha tsena li ka fumanoa mojulung ka ho romella taelo ea 'AT+CNETSCAN'.

Tlhahisoleseding e fumanweng ho tswa mojulung

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>

Ho bohlokoa ho hlokomela hore hamorao o tla hloka ho fetolela data ho tsoa ho karabelo ea module ea Cellid le Lac ho tloha ho hexadecimal ho ea ho decimal.

Hona joale re hloka ho hlahisa data ea XML ho ikopanya le seva sa Yandex, seo hamorao se tla kopanngoa ho ba ntho e le 'ngoe.

Lethathamo la lintlha

ya data
ho hlahisa maikutlo

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

...
Sena se lokela ho ba le senotlolo sa linomoro tse 88 se fumanoeng ho tsoa ho Yandex

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

Khoutu ea Naha (MCC)

</countrycode><operatorid>
2

Khouto ya opareitara (MNC)

</operatorid><cellid>
8453

Cellid ea tora ea pele ho tsoa lethathamong le amohetsoeng ho tsoa ho module mme e fetotsoe ho tloha ho palo e nang le 16 ho ea ho palo e nang le base 10 (boleng bo fumanoeng ho tsoa ho module ke 2105)

</cellid><lac>
7838

Lac ea tora ea pele, e boetse e fetotsoe ho tloha palo ea 16 ho ea ho nomoro ea 10 (boleng bo fumanoang ho tloha mojuleng ke 1E9E)

</lac></cell>
...

Sehlopha se kopantsoeng ke tag ea sele se ka phetoa ka makhetlo a mangata kamoo ho hlokahalang ho eketsa botšepehi ba sebaka se itseng

</gsm_cells>
<ip><address_v4>
10.137.92.60

Aterese ea IP e abetsoeng module ke marang-rang ka mor'a ho bula moelelo oa GPRS e ka fumanoa ka ho romela taelo 'AT+SAPBR=2,1' ho module - sheba ka tlase

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

Sena se tla hlahisa molaetsa oa XML litlhaku tse 1304 ka tsela e latelang:

Molaetsa oa hau

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>

Molaetsa ona o hlahisoa motheong oa lintlha tse mabapi le litora tsa lisele tsa opareitara ea Megafon, o ka tlatselletsoa ka data, ho kenyelletsa: litora tse ling tse bonahalang ho mojulung o amohetse ho sebelisa taelo ea 'AT + CNETSCAN' ho eketsa ts'epahalo ea likhokahano tse fanoeng.

Ho sebetsa le mojule le ho fumana likhokahano tsa hajoale

AT-log ea mosebetsi le 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

Ka hona, re fumane lihokahanyo tsa hona joale tsa module: 60.0330963, 30.2484304.
Ha palo ea data e rometsoeng ka litora tsa lisele e ntse e eketseha, ho nepahala ha qeto ea sebaka ho tla eketseha ka ho lekana.

Lintlha tse ling mabapi le litaba tsa karabo ho tsoa ho tšebeletso ea Yandex.Locator le khetho ea lintlha tseo u li hlokang li ka baloa sehokelong: yandex.ru/dev/locator/doc/dg/api/xml-reply-docpage, karolong ea API-> XML-> Karabo

fihlela qeto e

Ke tšepa hore boitsebiso bona e tla ba thuso e ntle ho bahlahisi. Ke ikemiselitse ho araba lipotso tsa hau ho maikutlo.

Source: www.habr.com

Eketsa ka tlhaloso