د SIM800x ماډلونو GSM موقعیت خدمت او د Yandex.Locator API سره یې کار

د SIM800x ماډلونو GSM موقعیت خدمت او د Yandex.Locator API سره یې کار

ګوګل، له بده مرغه د GSM ماډلونو ډیری کاروونکو لپاره، 2-3 میاشتې دمخه بند شوی او د تادیې اساس API ته لیږدول شوی ترڅو ماډل ته د لیدل شوي سیل ټاورونو همغږي پراساس موقعیت ټاکلو لپاره. د دې له امله، د SIM800 لړۍ ماډلونه تولید شوي SIMCom بې سیم حلونه، د 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 - د ګرځنده شبکې کوډ
  • 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>

دا مهمه ده چې په یاد ولرئ چې وروسته به تاسو اړتیا ولرئ د ماډل سیلایډ او لاک ځواب څخه ډیټا د هیکساډیسیمل څخه ډیسیمال ته بدل کړئ.

اوس موږ د 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

د IP پته د شبکې لخوا ماډل ته ټاکل شوي د GPRS شرایطو له خلاصیدو وروسته ماډل ته د '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-log

>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

Add a comment