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
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:
Je zuwa adireshin
Rubuta ko in ba haka ba adana maɓallin da kuka karɓa.
Bayan kammala waɗannan matakan, zaku sami damar shiga shafin
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:
ƙ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