Google, దురదృష్టవశాత్తు GSM మాడ్యూల్లను ఉపయోగించే చాలా మంది వినియోగదారుల కోసం, 2-3 నెలల క్రితం మాడ్యూల్కు కనిపించే సెల్ టవర్ల కోఆర్డినేట్ల ఆధారంగా లొకేషన్ని నిర్ణయించడానికి APIని బ్లాక్ చేసి, చెల్లింపు ప్రాతిపదికన బదిలీ చేసింది. దీని కారణంగా, SIM800 సిరీస్ మాడ్యూల్స్ ఉత్పత్తి చేయబడ్డాయి
Yandex సెల్ టవర్ల కోఆర్డినేట్లను ఎలా స్వీకరిస్తుందో దాటవేద్దాం, ప్రధాన విషయం ఏమిటంటే మేము ఈ ఉచిత సేవను ఉపయోగించుకోవచ్చు మరియు క్రింది డేటాను పొందవచ్చు: అక్షాంశం, రేఖాంశం, ఎత్తు, అలాగే ప్రతి పరామితికి సుమారుగా లోపం. Google నుండి ఇకపై అందుబాటులో లేని సేవకు బదులుగా Yandex APIకి త్వరగా మారడంపై చిన్న ట్యుటోరియల్ ఇవ్వడం వ్యాసం యొక్క ముఖ్య ఉద్దేశ్యం.
దిగువన, ఉదాహరణగా, మేము మాడ్యూల్ స్థానం యొక్క అక్షాంశం మరియు రేఖాంశాన్ని మాత్రమే చూపుతాము.
కాబట్టి ప్రారంభిద్దాం
ముందుగా మీరు ఇక్కడ ఉన్న వినియోగదారు ఒప్పందాన్ని చదవాలి:
చిరునామాకు వెళ్లండి
మీరు అందుకున్న కీని వ్రాయండి లేదా నిల్వ చేయండి.
ఈ దశలను పూర్తి చేసిన తర్వాత, మీరు పేజీకి ప్రాప్యతను కలిగి ఉంటారు
Yandex.Locator సేవలకు CURL ఆకృతిలో XML అభ్యర్థనను రూపొందించడానికి, మీరు మాడ్యూల్ ద్వారా “కనిపించే” సెల్ టవర్లపై సమాచారాన్ని పొందాలి:
- కంట్రీ కోడ్ - కంట్రీ కోడ్
- ఆపరేటరిడ్ - మొబైల్ నెట్వర్క్ కోడ్
- cellid - సెల్ ఐడెంటిఫైయర్
- lac - స్థాన కోడ్
‘AT+CNETSCAN’ ఆదేశాన్ని పంపడం ద్వారా మాడ్యూల్ నుండి ఈ సమాచారాన్ని పొందవచ్చు.
మాడ్యూల్ నుండి సమాచారం అందింది
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>
తర్వాత మీరు మాడ్యూల్ యొక్క Cellid మరియు Lac ప్రతిస్పందన నుండి డేటాను హెక్సాడెసిమల్ నుండి దశాంశానికి మార్చవలసి ఉంటుందని గమనించడం ముఖ్యం.
ఇప్పుడు మేము Yandex సర్వర్ను సంప్రదించడానికి XML డేటాను రూపొందించాలి, అది తరువాత ఒక మూలకంలో కలపబడుతుంది.
డేటా పట్టిక
డేటా
వ్యాఖ్యను
xml=<ya_lbs_request><common><version>1.0</version><api_key>
...
ఇది Yandex నుండి అందుకున్న 88-అంకెల కీని కలిగి ఉండాలి
</api_key></common>
<gsm_cells>
<cell><countrycode>
250
దేశం కోడ్ (MCC)
</countrycode><operatorid>
2
ఆపరేటర్ కోడ్ (MNC)
</operatorid><cellid>
8453
మాడ్యూల్ నుండి స్వీకరించబడిన జాబితా నుండి మొదటి టవర్ యొక్క సెల్లిడ్ మరియు బేస్ 16 ఉన్న సంఖ్య నుండి బేస్ 10 ఉన్న సంఖ్యకు మార్చబడింది (మాడ్యూల్ నుండి అందుకున్న విలువ 2105)
</cellid><lac>
7838
మొదటి టవర్ యొక్క లాక్, బేస్ 16 నంబర్ నుండి బేస్ 10 నంబర్కి మార్చబడింది (మాడ్యూల్ నుండి అందుకున్న విలువ 1E9E)
</lac></cell>
...
సెల్ ట్యాగ్ ద్వారా ఏకం చేయబడిన సమూహం నిర్దిష్ట స్థానం యొక్క విశ్వసనీయతను పెంచడానికి అవసరమైనన్ని సార్లు పునరావృతమవుతుంది
</gsm_cells>
<ip><address_v4>
10.137.92.60
GPRS సందర్భాన్ని తెరిచిన తర్వాత నెట్వర్క్ ద్వారా మాడ్యూల్కు కేటాయించిన IP చిరునామాను మాడ్యూల్కు ‘AT+SAPBR=2,1’ కమాండ్ని పంపడం ద్వారా పొందవచ్చు - క్రింద చూడండి
</address_v4></ip></ya_lbs_request>
ఇది క్రింది విధంగా 1304 అక్షరాలతో XML సందేశాన్ని రూపొందిస్తుంది:
సందేశం
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>
ఈ సందేశం Megafon ఆపరేటర్ యొక్క సెల్ టవర్లపై డేటా ఆధారంగా రూపొందించబడింది, ఇది డేటాతో భర్తీ చేయబడుతుంది, వీటిలో: జారీ చేయబడిన కోఆర్డినేట్ల విశ్వసనీయతను పెంచడానికి 'AT+CNETSCAN' కమాండ్ ద్వారా స్వీకరించబడిన మాడ్యూల్కు కనిపించే ఇతర టవర్లపై.
మాడ్యూల్తో పని చేయడం మరియు ప్రస్తుత కోఆర్డినేట్లను పొందడం
మాడ్యూల్తో పని యొక్క AT-లాగ్
>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
ఈ విధంగా, మేము మాడ్యూల్ యొక్క ప్రస్తుత కోఆర్డినేట్లను అందుకున్నాము: 60.0330963, 30.2484304.
సెల్ టవర్ల ద్వారా పంపబడే డేటా సంఖ్య పెరుగుదలతో, స్థాన నిర్ధారణ యొక్క ఖచ్చితత్వం దామాషా ప్రకారం పెరుగుతుంది.
Yandex.Locator సేవ నుండి ప్రతిస్పందన యొక్క కంటెంట్ మరియు మీకు అవసరమైన డేటా ఎంపిక గురించి మరింత వివరణాత్మక సమాచారాన్ని లింక్లో చదవవచ్చు:
తీర్మానం
ఈ మెటీరియల్ డెవలపర్లకు మంచి సహాయంగా ఉంటుందని నేను ఆశిస్తున్నాను. వ్యాఖ్యలలో మీ ప్రశ్నలకు సమాధానం ఇవ్వడానికి నేను సిద్ధంగా ఉన్నాను.
మూలం: www.habr.com