SIM800x ماڈیولز کی GSM لوکیشن سروس اور Yandex.Locator API کے ساتھ اس کا کام

SIM800x ماڈیولز کی GSM لوکیشن سروس اور Yandex.Locator API کے ساتھ اس کا کام

Google، بدقسمتی سے GSM ماڈیولز کے بہت سے صارفین کے لیے، 2-3 ماہ قبل ماڈیول کو نظر آنے والے سیل ٹاورز کے نقاط کی بنیاد پر مقام کا تعین کرنے کے لیے API کو بلاک کر کے ادائیگی کی بنیاد پر منتقل کر دیا گیا تھا۔ اس کی وجہ سے، SIM800 سیریز کے ماڈیولز پر تیار کیا سم کام وائرلیس سلوشنز، AT+CIPGSMLOC کمانڈ کی فعالیت نے کام کرنا چھوڑ دیا۔ اس آرٹیکل میں میں آپ کو بتاؤں گا کہ آپ Yandex کی فراہم کردہ اسی طرح کی سروس کا استعمال کرکے اس مسئلے کو کیسے حل کرسکتے ہیں۔ Yandex.Locator.

آئیے اس بات کو چھوڑتے ہیں کہ Yandex سیل ٹاورز کے نقاط کیسے حاصل کرتا ہے، اہم بات یہ ہے کہ ہم اس مفت سروس کو استعمال کر کے درج ذیل ڈیٹا حاصل کر سکتے ہیں: عرض البلد، طول البلد، اونچائی، نیز ہر پیرامیٹر کے لیے تخمینی غلطی۔ مضمون کا بنیادی مقصد گوگل کی جانب سے اب دستیاب سروس کے بجائے Yandex API پر فوری طور پر سوئچ کرنے پر ایک مختصر ٹیوٹوریل دینا ہے۔

ذیل میں، مثال کے طور پر، ہم ماڈیول کے مقام کا صرف عرض البلد اور طول البلد دکھائیں گے۔

تو آئیے شروع کرتے ہیں۔

سب سے پہلے آپ کو صارف کے معاہدے کو پڑھنے کی ضرورت ہے: yandex.ru/legal/locator_api. شق 3.6 پر خاص توجہ دی جانی چاہیے۔ یہ صارف معاہدہ، جو کہتا ہے۔ Yandex کسی بھی وقت، بغیر پیشگی اطلاع کے Yandex.Locator API کو تبدیل/درست یا اپ ڈیٹ کرنے کا حق محفوظ رکھتا ہے۔.

پتے پر جائیں۔ yandex.ru/dev/locator/keys/get اور اپنے پہلے سے بنائے گئے Yandex اکاؤنٹ کو ڈویلپمنٹ گروپ میں شامل کریں۔ یہ اقدامات آپ کو اس سروس تک رسائی کے لیے کلید حاصل کرنے کی اجازت دیں گے۔

SIM800x ماڈیولز کی GSM لوکیشن سروس اور Yandex.Locator API کے ساتھ اس کا کام
آپ کو موصول ہونے والی کلید کو لکھیں یا بصورت دیگر ذخیرہ کریں۔

ان مراحل کو مکمل کرنے کے بعد، آپ کو صفحہ تک رسائی حاصل ہوگی۔ yandex.ru/dev/locator/doc/dg/api/geolocation-api-docpage جہاں Yandex.Locator سروس کے آپریشن کے طریقہ کار کے بارے میں بنیادی معلومات فراہم کی جاتی ہیں۔

Yandex.Locator سروسز پر CURL فارمیٹ میں XML درخواست تیار کرنے کے لیے، آپ کو ماڈیول کے ذریعے سیل ٹاورز کے "مرئی" کے بارے میں معلومات حاصل کرنے کی ضرورت ہوگی:

  • ملک کا کوڈ - ملک کا کوڈ
  • operatorid - موبائل نیٹ ورک کوڈ
  • سیلڈ - سیل شناخت کنندہ
  • 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>

یہ مندرجہ ذیل کے طور پر ایک XML پیغام 1304 حروف پیدا کرے گا:

پیغام

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>

یہ پیغام میگافون آپریٹر کے سیل ٹاورز کے ڈیٹا کی بنیاد پر تیار کیا گیا ہے، اسے ڈیٹا کے ساتھ ضمیمہ کیا جا سکتا ہے، بشمول: جاری کردہ نقاط کی وشوسنییتا کو بڑھانے کے لیے 'AT+CNETSCAN' کمانڈ کا استعمال کرتے ہوئے موصول ہونے والے ماڈیول کو نظر آنے والے دوسرے ٹاورز پر۔

ماڈیول کے ساتھ کام کرنا اور موجودہ نقاط حاصل کرنا

ماڈیول کے ساتھ کام کا اے ٹی لاگ

>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 سروس سے جواب کے مواد اور آپ کو مطلوبہ ڈیٹا کے انتخاب کے بارے میں مزید تفصیلی معلومات لنک پر پڑھی جا سکتی ہیں: yandex.ru/dev/locator/doc/dg/api/xml-reply-docpage، API->XML->رسپانس سیکشن میں

حاصل يہ ہوا

مجھے امید ہے کہ یہ مواد ڈویلپرز کے لیے ایک اچھی مدد ثابت ہوگا۔ میں تبصروں میں آپ کے سوالات کا جواب دینے کے لیے تیار ہوں۔

ماخذ: www.habr.com

نیا تبصرہ شامل کریں