Хадамоти ҷойгиршавии GSM модулҳои SIM800x ва кори он бо API Yandex.Locator

Хадамоти ҷойгиршавии GSM модулҳои SIM800x ва кори он бо API Yandex.Locator

Google, мутаассифона, барои бисёре аз корбарони модулҳои GSM, 2-3 моҳ пеш API-ро барои муайян кардани ҷойгиршавӣ дар асоси координатаҳои манораҳои мобилӣ, ки ба модул намоён аст, баста ва ба асоси пулакӣ интиқол доданд. Аз ин сабаб, модулҳои силсилаи SIM800 истеҳсол карда мешаванд Қарорҳои бесими SIMCom, функсияи фармони AT+CIPGSMLOC корашро қатъ кард. Дар ин мақола ман ба шумо мегӯям, ки чӣ тавр шумо метавонед ин мушкилотро бо истифода аз хидмати шабеҳи Яндекс ҳал кунед - Yandex.Locator.

Биёед гузаред, ки чӣ тавр Яндекс координатҳои манораҳои ҳуҷайраро қабул мекунад, чизи асосӣ ин аст, ки мо метавонем аз ин хидмати ройгон истифода барем ва маълумоти зеринро ба даст орем: Арзи ҷуғрофӣ, тӯлонӣ, баландӣ, инчунин хатои тахминии ҳар як параметр. Мақсади асосии мақола ин додани як дастури кӯтоҳ оид ба зуд гузаштан ба API API, ба ҷои хидмате, ки аз Google дастрас нест.

Дар зер, ҳамчун мисол, мо танҳо арзу тулии ҷойгиршавии модулро нишон медиҳем.

Пас биёед оғоз кунем

Аввал ба шумо лозим аст, ки шартномаи корбареро, ки дар он ҷойгир аст, хонед: yandex.ru/legal/locator_api. Диққати махсус бояд ба банди 3.6. ин шартномаи истифодабаранда, ки дар он гуфта мешавад Яндекс ҳуқуқ дорад, ки API-и Yandex.Locator-ро дар вақти дилхоҳ бе огоҳии пешакӣ тағир/тоҳ ё навсозӣ кунад..

Ба адрес равед yandex.ru/dev/locator/keys/get ва ҳисоби пештараи Yandex-и худро ба гурӯҳи рушд илова кунед. Ин қадамҳо ба шумо имкон медиҳанд, ки калиди дастрасӣ ба ин хидматро ба даст оред.

Хадамоти ҷойгиршавии GSM модулҳои SIM800x ва кори он бо API Yandex.Locator
Калиди гирифтаатонро нависед ё ба таври дигар нигоҳ доред.

Пас аз анҷоми ин қадамҳо, шумо ба саҳифа дастрасӣ пайдо мекунед yandex.ru/dev/locator/doc/dg/api/geolocation-api-docpage ки дар он маълумоти асосӣ дар бораи механизми кори хидмати Yandex.Locator пешниҳод карда мешавад.

Барои тавлиди дархости XML дар формати cURL ба хидматҳои Yandex.Locator, ба шумо лозим меояд, ки маълумотро дар бораи манораҳои мобилии "намоён"-и модул ба даст оред:

  • рамзи кишвар – рамзи кишвар
  • 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>

Қайд кардан муҳим аст, ки баъдтар ба шумо лозим меояд, ки маълумотро аз ҷавоби Cellid ва Lac модул аз шонздаҳӣ ба даҳӣ табдил диҳед.

Ҳоло мо бояд маълумоти XML-ро тавлид кунем, то бо сервери Яндекс тамос гирем, ки баъдан ба як элемент муттаҳид карда мешавад.

ҷадвали маълумот

маълумот
шарҳ

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

...
Ин бояд калиди 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-логи кор бо модул

>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-> Ҷавоб

хулоса

Ман умедворам, ки ин мавод барои таҳиягарон кӯмаки хуб хоҳад буд. Ман омодаам ба саволҳои шумо дар шарҳҳо ҷавоб диҳам.

Манбаъ: will.com

Илова Эзоҳ