{"id":84024,"date":"2020-06-04T19:42:32","date_gmt":"2020-06-04T17:42:32","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/ble-pod-mikroskopom-atty-gatty"},"modified":"2020-06-04T19:42:32","modified_gmt":"2020-06-04T17:42:32","slug":"ble-pod-mikroskopom-atty-gatty","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/ble-pod-mikroskopom-atty-gatty","title":{"rendered":"BLE n\u00ebn mikroskop (ATT dhe GATT&#8230;)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"BLE n\u00ebn mikroskop (ATT-t\u00eb GATT-t\u00eb...)\" src=\"\/wp-content\/uploads\/2020\/06\/d8587bf897b27457b354549b99399bcc.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h2>BLE n\u00ebn mikroskop (ATT dhe GATT&#8230;)<\/h2>\n<p> <b>Pjesa 1, p\u00ebrmbledhje<\/b><\/p>\n<p>Ka kaluar nj\u00eb koh\u00eb e konsiderueshme q\u00eb nga publikimi i specifikimit t\u00eb par\u00eb p\u00ebr Bluetooth 4.0. Edhe pse tema BLE \u00ebsht\u00eb shum\u00eb interesante, ajo ende pengon shum\u00eb zhvillues, p\u00ebr shkak t\u00eb kompleksitetit t\u00eb saj. N\u00eb artikujt e mi t\u00eb m\u00ebparsh\u00ebm kam shqyrtuar kryesisht nivelin m\u00eb t\u00eb ul\u00ebt, Link Layer dhe Physical Layer. Kjo m\u00eb lejonte t\u00eb shmangja koncepte kaq t\u00eb komplikuara dhe t\u00eb ngat\u00ebrruara si protokolli i atributeve (ATT) dhe profili i p\u00ebrgjithsh\u00ebm i atributeve (GATT). Megjithat\u00eb, nuk ka rrug\u00ebdalje; pa i kuptuar ato, \u00ebsht\u00eb e pamundur t\u00eb zhvillosh pajisje t\u00eb pajtueshme. Sot do t\u00eb doja t\u00eb ndaja k\u00ebto njohuri me ju. N\u00eb artikullin tim do t\u00eb mb\u00ebshtetem n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/devzone.nordicsemi.com\/nordic\/short-range-guides\/b\/bluetooth-low-energy\/posts\/ble-characteristics-a-beginners-tutorial\">nj\u00eb udh\u00ebzues<\/a><\/noindex> p\u00ebr fillestar\u00ebt nga faqja e Nordic. Le t\u00eb fillojm\u00eb.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Pse \u00ebsht\u00eb kaq e komplikuar?<\/h3>\n<p>\nSipas mendimit tim, ishte e qart\u00eb menj\u00ebher\u00eb se menaxhimi i pajisjeve p\u00ebrmes smartphone-ve \u00ebsht\u00eb nj\u00eb tem\u00eb shum\u00eb premtuese dhe me q\u00ebndrueshm\u00ebri afatgjat\u00eb. Prandaj, vendos\u00ebm ta strukturojm\u00eb at\u00eb menj\u00ebher\u00eb dhe n\u00eb maksimum. Q\u00eb prodhuesit e pajisjeve t\u00eb ndryshme t\u00eb mos shpiknin protokolle t\u00eb veta, t\u00eb cilat m\u00eb pas do t\u00eb ishin t\u00eb pap\u00ebrputhshme. K\u00ebtu lind e gjith\u00eb kompleksiteti. Q\u00eb n\u00eb faz\u00ebn e par\u00eb, n\u00eb protokollin BLE u p\u00ebrpoq\u00ebm t\u00eb p\u00ebrfshijm\u00eb gjith\u00e7ka q\u00eb ishte e mundur. Dhe nuk ka r\u00ebnd\u00ebsi n\u00ebse do t\u00eb nevojitet m\u00eb von\u00eb apo jo. P\u00ebrve\u00e7 k\u00ebsaj, ne parashikuam mund\u00ebsin\u00eb e zgjerimit t\u00eb list\u00ebs s\u00eb pajisjeve p\u00ebr t\u00eb ardhmen.<\/p>\n<p>Le t\u00eb hedhim nj\u00eb v\u00ebshtrim n\u00eb imazhin ku \u00ebsht\u00eb vizatuar nj\u00eb diagram i protokollit BLE. Ai p\u00ebrb\u00ebhet nga disa nivele. Niveli m\u00eb i ul\u00ebt, niveli fizikal (PHY) \u00ebsht\u00eb p\u00ebrgjegj\u00ebs p\u00ebr kanalin radio t\u00eb pajisjes. Link Layer (LL) p\u00ebrmban t\u00eb gjith\u00eb radhitjen e byte-ve n\u00eb mesazhin e d\u00ebrguar. N\u00eb artikujt e kaluar, ne e studiojm\u00eb at\u00eb. Host Controller Interface (HCI) \u00ebsht\u00eb protokolli i shk\u00ebmbimit midis niveleve ose \u00e7ipeve BLE, n\u00ebse Controller dhe Host jan\u00eb realizuar n\u00eb \u00e7ipa t\u00eb ndrysh\u00ebm. Formimin e pakove, ndarjen n\u00eb korniza, kontrollin e gabimeve dhe mbledhjen e pakove e menaxhon Protokolli i Kontrollit t\u00eb Lidhjes Logjike dhe Adaptimit (L2CAP). P\u00ebr enkriptimin e pakove kujdeset Protokolli i Menaxhimit t\u00eb Siguris\u00eb (SMP). Profili i qasjes s\u00eb p\u00ebrgjithshme (GAP) \u00ebsht\u00eb p\u00ebrgjegj\u00ebs p\u00ebr shk\u00ebmbimin fillestar t\u00eb t\u00eb dh\u00ebnave midis pajisjeve, p\u00ebr t\u00eb p\u00ebrcaktuar \"Kush \u00ebsht\u00eb kush\". Ai p\u00ebrfshin gjithashtu skanimin dhe reklamimin. N\u00eb k\u00ebt\u00eb artikull do t\u00eb ndalem n\u00eb dy pjes\u00ebt e mbetura t\u00eb protokollit \u2014 GATT dhe ATT. GATT \u00ebsht\u00eb nj\u00eb shtres\u00eb mbi ATT, ndaj ata jan\u00eb shum\u00eb t\u00eb nd\u00ebrthurrur.<\/p>\n<p><img decoding=\"async\" alt=\"BLE n\u00ebn mikroskop (ATT-t\u00eb GATT-t\u00eb...)\" src=\"\/wp-content\/uploads\/2020\/06\/8060076152cfe3ae648eca362889e571.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nP\u00ebr t\u00eb thjeshtuar narrativ\u00ebn, do t\u00eb doja t\u00eb p\u00ebrdor nj\u00eb analogji. E kam d\u00ebgjuar diku dhe do t\u00eb doja ta mb\u00ebshtes k\u00ebt\u00eb. Imagjinoni nj\u00eb pajisje BLE si nj\u00eb dollap libri me disa rafte. \u00c7do raft \u00ebsht\u00eb nj\u00eb tematik\u00eb e ve\u00e7ant\u00eb. P\u00ebr shembull, kemi rafte p\u00ebr fantastik\u00ebn, matematik\u00ebn, enciklopedit\u00eb. N\u00eb \u00e7do raft q\u00ebndrojn\u00eb libra me tem\u00ebn p\u00ebrkat\u00ebse. N\u00eb disa prej librave ka madje edhe sh\u00ebnime t\u00eb printuara. Gjithashtu, kemi nj\u00eb katalog t\u00eb vog\u00ebl n\u00eb let\u00ebr t\u00eb t\u00eb gjith\u00eb librave. N\u00ebse e kujtoni bibliotekat shkollore \u2014 \u00ebsht\u00eb nj\u00eb kuti e ngusht\u00eb me karta letre. Duke p\u00ebrdorur k\u00ebt\u00eb analogji, dollapi \u00ebsht\u00eb profili i pajisjes son\u00eb. Rafte jan\u00eb sh\u00ebrbimet, librat jan\u00eb karakteristikat, dhe katalogu \u00ebsht\u00eb tabela e atributeve. Sh\u00ebnimet n\u00eb libra jan\u00eb deskriptuesit, p\u00ebr t\u00eb cil\u00ebt do flas m\u00eb von\u00eb, m\u00eb n\u00eb detaje.<\/p>\n<p>T\u00eb gjith\u00eb ata q\u00eb kan\u00eb zhvilluar pajisje e din\u00eb se n\u00eb shum\u00eb projekte ka pjes\u00eb kodesh t\u00eb ngjashme. N\u00eb fakt, shum\u00eb pajisje kan\u00eb funksione t\u00eb ngjashme. P\u00ebr shembull, n\u00ebse pajisjet punojn\u00eb nga baterit\u00eb, problemi i karikimit dhe kontrollit t\u00eb nivelit t\u00eb tyre do t\u00eb jet\u00eb i nj\u00ebjt\u00eb. E nj\u00ebjta vlen edhe p\u00ebr sensor\u00ebt. N\u00eb thelb, qasja orientuar n\u00eb objekte n\u00eb programim <i>ofron mund\u00ebsin\u00eb p\u00ebr t\u00eb krijuar objekte q\u00eb lidhin ve\u00e7orit\u00eb dhe sjelljet n\u00eb nj\u00eb bashkim t\u00eb pavarur, i cili mund t\u00eb p\u00ebrdoret shpeshher\u00eb<\/i>. Sipas mendimit tim, n\u00eb BLE u nd\u00ebrmor nj\u00eb p\u00ebrpjekje p\u00ebr nj\u00eb qasje t\u00eb ngjashme. Grupi i Bluetooth Special Interest Group (SIG) ka zhvilluar profile. Pajisjet nga prodhues t\u00eb ndrysh\u00ebm, q\u00eb kan\u00eb profile t\u00eb nj\u00ebjta, duhet t\u00eb punojn\u00eb pa mundim me nj\u00ebra-tjetr\u00ebn. Profilet, nga ana tjet\u00ebr, p\u00ebrb\u00ebhen nga sh\u00ebrbime, dhe sh\u00ebrbimet nga karakteristika, t\u00eb plot\u00ebsuara me deskriptor\u00eb. N\u00eb nj\u00eb rast t\u00eb p\u00ebrgjithsh\u00ebm, kjo mund t\u00eb duket k\u00ebshtu:<\/p>\n<p><img decoding=\"async\" alt=\"BLE n\u00ebn mikroskop (ATT-t\u00eb GATT-t\u00eb...)\" src=\"\/wp-content\/uploads\/2020\/06\/34cbbeee142d40e56dff7626ef752d42.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nP\u00ebr shembull, le t\u00eb shqyrtojm\u00eb skem\u00ebn e profilit t\u00eb monitorit t\u00eb ritmit t\u00eb zemr\u00ebs (pajisja p\u00ebr ndjekjen e aktivitetit fizik). Ai p\u00ebrb\u00ebhet nga dy sh\u00ebrbime dhe disa karakteristika. Nga kjo, menj\u00ebher\u00eb kuptohet hierarkia e profilit. Karakteristika e pik\u00ebs s\u00eb kontrollit e reseton num\u00ebrimin e p\u00ebrgjithsh\u00ebm t\u00eb shpenzimeve t\u00eb kalorive n\u00eb zero. <\/p>\n<p>1. Sh\u00ebrbimi i ritmit t\u00eb zemr\u00ebs p\u00ebrfshin tre karakteristika (0x180D):<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;a) Karakteristika obligative e frekuenc\u00ebs s\u00eb ritmit t\u00eb zemr\u00ebs (0x2A37)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;b) Karakteristika opsionale e pozicionit t\u00eb sensorit t\u00eb trupit (0x2A38)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;c) Karakteristika kushtore e pik\u00ebs s\u00eb kontrollit t\u00eb ritmit t\u00eb zemr\u00ebs (0x2A39)<br \/>\n2. Sh\u00ebrbimi i menaxhimit t\u00eb batteris\u00eb (0x180F):<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;a) Karakteristika obligative e nivelit t\u00eb ngarkes\u00ebs s\u00eb bateris\u00eb (0x2A19)<\/p>\n<h3>UUID<\/h3>\n<p>\nP\u00ebr t\u00eb qen\u00eb n\u00eb gjendje t\u00eb referohemi qart\u00eb ndaj elementeve t\u00eb profilit (sh\u00ebrbimeve, karakteristikave dhe descriptor\u00ebve), \u00ebsht\u00eb e nevojshme t'i num\u00ebrojm\u00eb ato. P\u00ebr k\u00ebt\u00eb q\u00ebllim, \u00ebsht\u00eb futur koncepti i Identifikuesit Unik Universal (UUID) ose Identifikuesi Unik Universal. N\u00eb kllapin e \u00e7do rreshti \u00ebsht\u00eb pik\u00ebrisht UUID. Dhe k\u00ebtu ka nj\u00eb ve\u00e7anti. P\u00ebr UUID \u00ebsht\u00eb vendosur t\u00eb p\u00ebrdoret nj\u00eb kod me gjat\u00ebsi 16 dhe 128 bit. Pse, mund t\u00eb pyesni? N\u00eb protokollin BLE gjith\u00e7ka \u00ebsht\u00eb n\u00ebnshtruar ruajtjes s\u00eb energjis\u00eb. Prandaj, dimensioni prej 16 bit \u00ebsht\u00eb mjaft i arsyesh\u00ebm. \u00cbsht\u00eb e v\u00ebshtir\u00eb q\u00eb n\u00eb t\u00eb ardhmen e af\u00ebrt t\u00eb krijohen m\u00eb shum\u00eb se 65 mij\u00eb sh\u00ebrbime dhe karakteristika unike. N\u00eb k\u00ebt\u00eb moment, gjith\u00e7ka q\u00eb mund\u00ebm, e kemi llogaritur (kujtoni nga e kuptoni k\u00ebt\u00eb \u2014 \"ai e llogariti edhe juve\" :-)) Elementet e num\u00ebruara <noindex><a rel=\"nofollow\" href=\"https:\/\/www.bluetooth.com\/specifications\/gatt\/\">profili<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.bluetooth.com\/specifications\/gatt\/services\/\">sh\u00ebrbimet<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.bluetooth.com\/specifications\/gatt\/characteristics\/\">karakteristikat<\/a><\/noindex> dhe <noindex><a rel=\"nofollow\" href=\"https:\/\/www.bluetooth.com\/specifications\/gatt\/descriptors\/\">descriptor\u00ebt<\/a><\/noindex> mund t'i shihni p\u00ebrmes lidhjeve.<\/p>\n<p>Megjithat\u00eb, mendoj se t\u00eb gjith\u00eb e kujtojn\u00eb historin\u00eb me 4 byte t\u00eb adres\u00ebs IP n\u00eb internet. Fillimisht menduam se do t\u00eb mjaftonte, por tani asnj\u00ebher\u00eb nuk kalojm\u00eb n\u00eb adres\u00ebn me 6 byte. Q\u00eb t\u00eb mos e p\u00ebrs\u00ebrisim k\u00ebt\u00eb gabim dhe t\u00eb japim mund\u00ebsi p\u00ebr duar t\u00eb prishura t\u00eb amator\u00ebve, SIG vendosi q\u00eb menj\u00ebher\u00eb t\u00eb prezantoj\u00eb edhe UUID 128-bit. Kjo m\u00eb sjell n\u00eb mendje band\u00ebn e paautorizuar 433MHz, e cila iu besua \u00e7do lloj Kuli b\u00e5 nj\u00ebsh nga kanali radio. N\u00eb rastin ton\u00eb, u besua identifikuesi 128-bit t\u00eb sh\u00ebrbimeve dhe karakteristikave. Kjo do t\u00eb thot\u00eb se p\u00ebr sh\u00ebrbimet dhe pajisjet tona, mund t\u00eb p\u00ebrdorim praktikiisht \u00e7do vler\u00eb 128-bit. Ndoshta probabiliteti p\u00ebr t\u00eb nd\u00ebrtuar nj\u00eb UUID identik \u00ebsht\u00eb af\u00ebrsisht zero.<\/p>\n<p>N\u00eb t\u00eb v\u00ebrtet\u00eb, UUID t\u00eb shkurt\u00ebr 16-bit kan\u00eb nj\u00eb zgjerim n\u00eb nj\u00eb vler\u00eb 128-bit. N\u00eb specifikim, ky zgjerim quhet Bluetooth Base UUID dhe ka vler\u00ebn 00000000-0000-1000-8000-00805F9B34FB. N\u00ebse, p\u00ebr shembull, UUID i atributit 16-bit ka vler\u00ebn 0x1234, UUID i barabart\u00eb 128-bit do t\u00eb ket\u00eb vler\u00ebn 00001234-0000-1000-8000-00805F9B34FB. Dhe madje jepet formula p\u00ebrkat\u00ebse:<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;128_bit_value = 16_bit_value * 2^96 + Bluetooth_Base_UUID<\/p>\n<p>Nga erdhi ky num\u00ebr magjik, nuk e di. N\u00ebse ndonj\u00eb nga lexuesit e di - le t\u00eb na shkruaj\u00eb n\u00eb komentet (P\u00ebrdoruesi me emrin Sinopteek e ka b\u00ebr\u00eb k\u00ebt\u00eb. Shikoni komentet). Sa i p\u00ebrket krijimit t\u00eb UUID-ve 128-bit\u00ebsh, mund t\u00eb p\u00ebrdorni nj\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/www.famkruithof.net\/uuid\/uuidgen\">generator<\/a><\/noindex>, i cili do ta b\u00ebj\u00eb k\u00ebt\u00eb p\u00ebr ju.<\/p>\n<h3>ATT \u0438 GATT\u2026<\/h3>\n<p>\n Tani m\u00eb n\u00eb fund fillon gj\u00ebja m\u00eb interesante. Ju rikujtoj se ATT \u00ebsht\u00eb i bazuar n\u00eb marr\u00ebdh\u00ebnien klient-server. Tani po shqyrtojm\u00eb pajisjen e serverit. Ajo p\u00ebrmban informacione t\u00eb tilla si vlerat e sensor\u00ebve, statusin e \u00e7el\u00ebsit t\u00eb ndri\u00e7imit, t\u00eb dh\u00ebna mbi lokacionin etj. Tani, kur t\u00eb gjith\u00eb \"pjes\u00ebmarr\u00ebsit e parad\u00ebs son\u00eb\" jan\u00eb num\u00ebruar, duhet t'i vendosim ndryshe n\u00eb memorien e pajisjes. P\u00ebr k\u00ebt\u00eb, i vendosim n\u00eb nj\u00eb tabel\u00eb, e cila quhet tabela e atributeve. Mbani mend mir\u00eb k\u00ebt\u00eb. Kjo \u00ebsht\u00eb zemra e BLE. K\u00ebt\u00eb ne do ta shqyrtojm\u00eb m\u00eb tej. Tani \u00e7do rresht ne do ta quajm\u00eb atribut. Kjo tabel\u00eb ndodhet thell\u00eb n\u00eb stack dhe, n\u00eb p\u00ebrgjith\u00ebsi, ne nuk kemi qasje direkte n\u00eb t\u00eb. Ne e inicizojm\u00eb dhe i drejtohemi, por \u00e7far\u00eb ndodh brenda saj, \u00ebsht\u00eb e fsheht\u00eb p\u00ebr ne. <\/p>\n<p>Lehtojm\u00eb nj\u00eb pamje nga specifikimi, por para se t\u00eb fillojm\u00eb, dua t\u00eb theksoj nj\u00eb confuzion t\u00eb zakonsh\u00ebm n\u00eb terma, ve\u00e7an\u00ebrisht n\u00eb lidhje me descriptor\u00ebt. Loja e descriptorit \u00ebsht\u00eb t\u00eb plot\u00ebsoj\u00eb p\u00ebrshkrimin e karakteristikave. Kur \u00ebsht\u00eb e nevojshme t\u00eb zgjeroni mund\u00ebsit\u00eb e saj, p\u00ebrdoren descriptor\u00ebt. Ata jan\u00eb gjithashtu atribute dhe, nj\u00ebsoj si sh\u00ebrbimet dhe karakteristikat, shfaqen n\u00eb tabel\u00ebn e atributeve. Ne do t'i shqyrtojm\u00eb ato me detaje n\u00eb pjes\u00ebn e dyt\u00eb t\u00eb artikullit. Megjithat\u00eb, ndonj\u00ebher\u00eb descriptor\u00ebt quhen numri i rreshtit n\u00eb tabel\u00ebn e atributeve. K\u00ebt\u00eb duhet ta kemi parasysh. Ne, p\u00ebr t\u00eb mos u ngat\u00ebrruar, do t\u00eb p\u00ebrdorim termin 'tregues atribute' p\u00ebr k\u00ebto q\u00ebllime.<br \/>\n<img decoding=\"async\" alt=\"BLE n\u00ebn mikroskop (ATT-t\u00eb GATT-t\u00eb...)\" src=\"\/wp-content\/uploads\/2020\/06\/6df836477b153c396bdba9068129bb6f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPra, atributes \u00ebsht\u00eb nj\u00eb vler\u00eb discrete, e cila ka k\u00ebtij pronar\u00ebve t\u00eb lidhura me t\u00eb:<br \/>\n1. Treguesi i atributit (Attribute Handle) - Ky \u00ebsht\u00eb indeksi i tabel\u00ebs, q\u00eb i p\u00ebrket atributit <br \/>\n2. Tipi i atributit (Attribute Type) - Ky \u00ebsht\u00eb UUID i cili p\u00ebrshkruan tipin e tij <br \/>\n3. Vlera e atributit (Attribute Value) - K\u00ebto jan\u00eb t\u00eb dh\u00ebna, t\u00eb indekshuara nga treguesi i atributit <br \/>\n4. Lejet e Atributeve (Attribute Permissions) \u2014 jan\u00eb nj\u00eb pjes\u00eb e atributit, lejet q\u00eb nuk mund t\u00eb lexohen ose shkruhen duke p\u00ebrdorur protokollin e atributeve<\/p>\n<p>Si e gjith\u00eb kjo kuptohet? Referenca e atributit \u00ebsht\u00eb, n\u00eb kuptimin e zakonsh\u00ebm, numri i tij n\u00eb tabel\u00ebn ton\u00eb.<br \/>\nAjo i lejon klientit t\u00eb referohet n\u00eb atribut n\u00eb k\u00ebrkesat e leximit ose shkruarjes. Ne mund t\u00eb num\u00ebrojm\u00eb rreshtat tan\u00eb (atributet) nga 0x0001 deri n\u00eb 0xFFFF. N\u00eb asociacionin ton\u00eb me nj\u00eb raft librash \u2014 ky \u00ebsht\u00eb numri i kartel\u00ebs n\u00eb katalogun \u00e7ek. Po ashtu, si n\u00eb katalogun e bibliotek\u00ebs, kartelat vendosen n\u00eb rendin n\u00eb rritje t\u00eb numrit. Numri i \u00e7do rreshti t\u00eb ardhsh\u00ebm duhet t\u00eb jet\u00eb m\u00eb i madh se ai i m\u00ebparshmi. Ashtu si n\u00eb bibliotek\u00eb, ndonj\u00ebher\u00eb humbasin disa kartela, k\u00ebshtu q\u00eb edhe ne \u2014 n\u00eb num\u00ebrimin e rreshtave mund t\u00eb ket\u00eb boshll\u00ebqe. Kjo pranohet. E r\u00ebnd\u00ebsishme \u00ebsht\u00eb q\u00eb ata t\u00eb shkojn\u00eb n\u00eb m\u00ebnyr\u00eb rrit\u00ebse.<\/p>\n<p>Lloji i atributit p\u00ebrcakton se \u00e7far\u00eb paraqet ky atribut. N\u00eb analogji me gjuh\u00ebn C,<br \/>\nku ka variabla boolean, numerik dhe fjal\u00eb, ashtu \u00ebsht\u00eb edhe k\u00ebtu. N\u00ebp\u00ebrmjet llojit t\u00eb atributit ne kuptojm\u00eb <br \/>\nme \u00e7far\u00eb kemi t\u00eb b\u00ebjm\u00eb dhe si duhet t\u00eb punojm\u00eb m\u00ebtej me k\u00ebt\u00eb atribut. M\u00eb posht\u00eb do t\u00eb shqyrtojm\u00eb disa lloje specifike t\u00eb atributit. P\u00ebr shembull, \"deklarata e sh\u00ebrbimit\" (0x2800), \"deklarata e karakteristik\u00ebs\" (0x2803), \"deklarata e p\u00ebrshkruesit\" (0x2902).<\/p>\n<p>Zb\u00ebn\u00eb nj\u00eb atribut \u00ebsht\u00eb vet\u00eb vlera e tij, falni p\u00ebr tautologjin\u00eb. N\u00ebse tipi i atributit \u00ebsht\u00eb nj\u00eb varg, at\u00ebher\u00eb vlera e atributit mund t\u00eb jet\u00eb p\u00ebr shembull slogani \u00abHello World !!!\u00bb. N\u00ebse tipi i atributit \u00ebsht\u00eb \u00abdeklarata e sh\u00ebrbimit\u00bb, at\u00ebher\u00eb vlera e tij \u00ebsht\u00eb vet\u00eb sh\u00ebrbimi. Disa her\u00eb, kjo \u00ebsht\u00eb informacion mbi vendin ku mund t\u00eb gjenden atributet e tjera dhe pronat e tyre.<\/p>\n<p>Lejet e atributit i lejojn\u00eb serverit t\u00eb kuptoj\u00eb n\u00ebse lejohet akses p\u00ebr lexim ose shkruarje. <br \/>\nKujdesi, k\u00ebto leje zbatohen vet\u00ebm n\u00eb vler\u00ebn e atributit, e jo n\u00eb treguesin, tipin dhe fush\u00ebn e lejeve. Pra, n\u00ebse lejohet shkruarja e atributit, ne mund ta ndryshojm\u00eb p\u00ebr shembull vargun \u00abHello World !!!\u00bb n\u00eb vargun \u00abGood morning\u00bb. Por nuk mund ta ndalim shkruarjen e vargut t\u00eb ri, ose t\u00eb ndryshojm\u00eb tipin e atributit dhe ta sh\u00ebnojm\u00eb vargun si \u00abdeklarat\u00eb sh\u00ebrbimi\u00bb. Kur klienti i drejtohet serverit, ai k\u00ebrkon atributet e tij. Kjo i lejon klientit t\u00eb kuptoj\u00eb \u00e7far\u00eb mund t\u00eb ofroj\u00eb serveri. Megjithat\u00eb, nuk \u00ebsht\u00eb e nevojshme t\u00eb lexosh dhe shkruash vlerat.<\/p>\n<h3>Si duket kjo<\/h3>\n<p>\nKoncepcioni i GATT-i ka t\u00eb b\u00ebj\u00eb me grupimin e atributeve n\u00eb tabel\u00ebn e atributeve n\u00eb nj\u00eb rend t\u00eb shum\u00eb specifik dhe t\u00eb arsyesh\u00ebm. Le t\u00eb shqyrtojm\u00eb m\u00eb me kujdes profilin e frekuenc\u00ebs s\u00eb rrahjeve t\u00eb zemr\u00ebs t\u00eb dh\u00ebn\u00eb m\u00eb posht\u00eb. Kolona m\u00eb e majt\u00eb e k\u00ebsaj tabele nuk \u00ebsht\u00eb e obligueshme. Ajo thjesht na tregon se \u00e7far\u00eb p\u00ebrfaq\u00ebson kjo rresht (atribut). T\u00eb gjitha kolonat e tjera na jan\u00eb tashm\u00eb t\u00eb njohura.<\/p>\n<p><img decoding=\"async\" alt=\"BLE n\u00ebn mikroskop (ATT-t\u00eb GATT-t\u00eb...)\" src=\"\/wp-content\/uploads\/2020\/06\/110813482dacb0f19cb49e735f4a9e34.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nN\u00eb pjes\u00ebn e sip\u00ebrme t\u00eb \u00e7do grupi, ne gjithmon\u00eb kemi atributin e shpalljes s\u00eb sh\u00ebrbimit. Lloji i tij gjithmon\u00eb \u00ebsht\u00eb 0x2800, nd\u00ebrsa treguesi varet nga sa atribute jan\u00eb tashm\u00eb t\u00eb pranishme n\u00eb tabel\u00eb. K\u00ebto jan\u00eb gjithmon\u00eb t\u00eb disponueshme vet\u00ebm p\u00ebr lexim, pa ndonj\u00eb verifikim apo autorizim. P\u00ebr k\u00ebto koncepte do t\u00eb flasim m\u00eb von\u00eb. Vlera \u00ebsht\u00eb nj\u00eb UUID tjet\u00ebr, q\u00eb p\u00ebrcakton se \u00e7far\u00eb sh\u00ebrbimi \u00ebsht\u00eb. N\u00eb Tabel\u00eb, vlera \u00ebsht\u00eb 0x180D, e cila \u00ebsht\u00eb e p\u00ebrcaktuar nga Bluetooth SIG si sh\u00ebrbimi i frekuenc\u00ebs s\u00eb rrahjeve t\u00eb zemr\u00ebs. <\/p>\n<p>Pas njoftimit t\u00eb sh\u00ebrbimit, vjen njoftimi i karakteristikave. Forma e tij \u00ebsht\u00eb e ngjashme me njoftimin e sh\u00ebrbimit. UUID-i i tij gjithmon\u00eb ka vler\u00ebn 0x2803, dhe lejet gjithashtu jan\u00eb gjithmon\u00eb t\u00eb disponueshme vet\u00ebm p\u00ebr lexim pa ndonj\u00eb verifikim ose autorizim. Le t\u00eb shohim n\u00eb fush\u00ebn e Vler\u00ebs s\u00eb Atributit, e cila p\u00ebrfshin disa t\u00eb dh\u00ebna. Ajo gjithmon\u00eb p\u00ebrmban nj\u00eb tregues, UUID dhe nj\u00eb grup pronash. K\u00ebto tre elemente p\u00ebrshkruajn\u00eb njoftimin e vler\u00ebs s\u00eb karakteristik\u00ebs m\u00eb pas. Treguesi natyrsh\u00ebm tregon vendin e njoftimit t\u00eb vler\u00ebs s\u00eb karakteristik\u00ebs n\u00eb tabel\u00ebn e atributeve. UUID p\u00ebrshkruan se \u00e7far\u00eb lloj informacioni ose vlerash mund t\u00eb presim. P\u00ebr shembull, vlera e temperatur\u00ebs, gjendja e nd\u00ebrprer\u00ebsit t\u00eb drit\u00ebs ose ndonj\u00eb vler\u00eb tjet\u00ebr t\u00eb rast\u00ebsishme. Dhe p\u00ebrfundimisht, pronat q\u00eb p\u00ebrshkruajn\u00eb se si mund t\u00eb nd\u00ebrveprojm\u00eb me vler\u00ebn e karakteristik\u00ebs. <\/p>\n<p>K\u00ebtu na pret nj\u00eb tjet\u00ebr penges\u00eb. Ajo lidhet me lejet e atributeve dhe pronat e karakteristikave. Le t\u00eb shohim nj\u00eb imazh t\u00eb pronave t\u00eb fush\u00ebs s\u00eb bitit nga specifikimi.<\/p>\n<p><img decoding=\"async\" alt=\"BLE n\u00ebn mikroskop (ATT-t\u00eb GATT-t\u00eb...)\" src=\"\/wp-content\/uploads\/2020\/06\/7397f7f69e573ae3084cbacdcd318829.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSi e shihni, k\u00ebtu gjithashtu ka fusha q\u00eb ofrojn\u00eb mund\u00ebsi p\u00ebr lexim dhe shkrim. Mund t\u00eb pyesni veten, p\u00ebrse kemi lejet p\u00ebr lexim\/shkrim p\u00ebr atributin dhe pron\u00ebn <br \/>\nlexim\/shkrim p\u00ebr vler\u00ebn e karakteristik\u00ebs? Mos mendoni se ato duhet t\u00eb jen\u00eb gjithmon\u00eb t\u00eb nj\u00ebjta? E v\u00ebrteta \u00ebsht\u00eb se pronat p\u00ebr vler\u00ebn e karakteristik\u00ebs, n\u00eb fakt, jan\u00eb vet\u00ebm rekomandime p\u00ebr klientin, t\u00eb p\u00ebrdorura n\u00eb GATT dhe katet aplikative. K\u00ebto jan\u00eb thjesht sugjerime se \u00e7far\u00eb klienti mund t\u00eb pret nga atributi i shpalljes s\u00eb karakteristik\u00ebs. Le t\u00eb e shqyrtojm\u00eb k\u00ebt\u00eb m\u00eb n\u00eb holl\u00ebsi. \u00c7far\u00eb lloj lejesh ekzistojn\u00eb p\u00ebr atributin? <\/p>\n<p>1. Lejet e aksesit:<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp; \u2014 lexim<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp; \u2014 shkrim<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp; \u2014 lexim dhe shkrim<br \/>\n2. Leja e autentifikimit:<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp; \u2014 autentifikimi k\u00ebrkohet<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp; \u2014 autentifikimi nuk k\u00ebrkohet<br \/>\n3. Leja e autorizimit:<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp; \u2014 autorizimi k\u00ebrkohet<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp; \u2014 autorizimi nuk k\u00ebrkohet<\/p>\n<p>Dallimi kryesor midis lejeve dhe pronave t\u00eb karakteristikave \u00ebsht\u00eb se t\u00eb parat i p\u00ebrkasin server\u00ebve, nd\u00ebrsa t\u00eb dytat klient\u00ebve. Nj\u00eb server mund t\u00eb ket\u00eb leje p\u00ebr t\u00eb lexuar vler\u00ebn e karakteristik\u00ebs, por mund t\u00eb ket\u00eb k\u00ebrkes\u00eb p\u00ebr autentikim ose autorizim. Prandaj, kur klienti b\u00ebn nj\u00eb k\u00ebrkes\u00eb p\u00ebr pronat e karakteristik\u00ebs, ne do t\u00eb gjejm\u00eb se leximin e ka t\u00eb lejuar. Por, kur p\u00ebrpiqemi t\u00eb lexojm\u00eb, do t\u00eb marrim nj\u00eb gabim. Prandaj, mund t\u00eb themi me siguri se lejet kan\u00eb prioritet mbi pronat. Njohuria p\u00ebr lejet q\u00eb ka nj\u00eb atribut nuk mund t\u00eb merret nga ana e klientit.<\/p>\n<h3>D\u00ebshkrimi<\/h3>\n<p>\nKthehemi n\u00eb tabel\u00ebn ton\u00eb. Pas shpalljes s\u00eb vler\u00ebs s\u00eb karakteristik\u00ebs, mund t\u00eb ket\u00eb shpallje t\u00eb tjera p\u00ebr lejet: <br \/>\n1. Shpallje e re e karakteristik\u00ebs (n\u00eb sh\u00ebrbim mund t\u00eb ket\u00eb shum\u00eb karakteristika)<br \/>\n2. Shpallje e re sh\u00ebrbimi (n\u00eb tabel\u00eb mund t\u00eb ket\u00eb shum\u00eb t\u00eb tilla)<br \/>\n3. Shpallje e d\u00ebshkruesit <\/p>\n<p>N\u00eb rastin e karakteristik\u00ebs s\u00eb matjes s\u00eb frekuenc\u00ebs s\u00eb rrahjeve t\u00eb zemr\u00ebs, n\u00eb tabel\u00ebn ton\u00eb, shpallja e vler\u00ebs s\u00eb karakteristik\u00ebs shoq\u00ebrohet me shpalljen e deskriptorit. Deskriptor \u00ebsht\u00eb nj\u00eb atribut me informacion shtes\u00eb rreth karakteristik\u00ebs. Ekzistojn\u00eb disa lloje deskriptor\u00ebsh. P\u00ebr ta, do t\u00eb flasim n\u00eb detaje n\u00eb pjes\u00ebn e dyt\u00eb t\u00eb k\u00ebtij artikulli. Tani, do t\u00eb prekim vet\u00ebm deskriptorin e konfigurimit t\u00eb karakteristikave t\u00eb klientit (Client Characteristic Configuration Descriptor \u2014 CCCD). Ai ka UUID t\u00eb barabart\u00eb me 0x2902. Me an\u00eb t\u00eb k\u00ebtij deskriptorit, klienti ka mund\u00ebsin\u00eb t\u00eb aktivizoj\u00eb n\u00eb server indikimin ose njoftimin. Dallimi mes tyre \u00ebsht\u00eb i vog\u00ebl, por gjithsesi ekziston. Njoftimi nuk k\u00ebrkon konfirmimin e marrjes nga ana e klientit. Indikimi, nga ana tjet\u00ebr, e k\u00ebrkon k\u00ebt\u00eb konfirmim, megjith\u00ebse ndodh n\u00eb nivelin GATT, pa arritur n\u00eb nivelin e aplikacionit. Pse k\u00ebshtu, do t\u00eb pyesni? Fatkeq\u00ebsisht, kjo nuk m\u00eb \u00ebsht\u00eb e njohur. Thjesht do t\u00eb them q\u00eb specialist\u00ebt e Nordic rekomandojn\u00eb p\u00ebrdorimin e njoftimit. M\u00eb shum\u00eb se kaq, kontrolli i integritetit t\u00eb paket\u00ebs (n\u00ebp\u00ebrmjet CRC) ndodh n\u00eb t\u00eb dy rastet.<\/p>\n<h3>P\u00ebrfundimi<\/h3>\n<p>\nN\u00eb fund t\u00eb artikullit, do t\u00eb doja t\u00eb theksoja di\u00e7ka. Tabela e fundit \u00ebsht\u00eb disi e ngat\u00ebrruar. Sidoqoft\u00eb, u ndala tek ajo p\u00ebr shkak se ajo p\u00ebrmendet n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/devzone.nordicsemi.com\/nordic\/short-range-guides\/b\/bluetooth-low-energy\/posts\/ble-characteristics-a-beginners-tutorial\">artikullin<\/a><\/noindex>, n\u00eb t\u00eb cil\u00ebn mb\u00ebshtetem. N\u00eb pjes\u00ebn e dyt\u00eb t\u00eb artikullit tim kam p\u00ebr q\u00ebllim t\u00eb thellohem n\u00eb specifikimin e BlueTooth 4.0. Atje na presin skemat dhe vizatimet m\u00eb t\u00eb sakta. N\u00eb pjes\u00ebn e tret\u00eb, do t\u00eb doja t\u00eb analizoj log-un e marr\u00eb me programin Wireshark nga nj\u00eb nga pajisjet dhe t\u00eb shoh \"n\u00eb gjall\u00eb\" t\u00eb gjith\u00eb at\u00eb teori q\u00eb ne po studiojm\u00eb.<\/p>\n<p>P\u00ebrfaq\u00ebsuesi i Grupit t\u00eb Kompanive <noindex><a rel=\"nofollow\" href=\"https:\/\/www.csat.ru\/\">\u00abCezar Satellite\u00bb<\/a><\/noindex><br \/>\nPecherski Vladimir<br \/>\n<br \/>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/505078\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>BLE \u043f\u043e\u0434 \u043c\u0438\u043a\u0440\u043e\u0441\u043a\u043e\u043f\u043e\u043c (ATT\u044b GATT\u044b&#8230;) \u0427\u0430\u0441\u0442\u044c 1, \u043e\u0431\u0437\u043e\u0440\u043d\u0430\u044f \u0423\u0436\u0435 \u043f\u0440\u043e\u0448\u043b\u043e \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u0432\u0440\u0435\u043c\u044f, \u0441 \u0442\u0435\u0445 \u043f\u043e\u0440, \u043a\u043e\u0433\u0434\u0430 \u0432\u044b\u0448\u043b\u0430 \u043f\u0435\u0440\u0432\u0430\u044f \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u043d\u0430 Bluetooth 4.0. \u0418, \u0445\u043e\u0442\u044f \u0442\u0435\u043c\u0430 BLE \u043e\u0447\u0435\u043d\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430, \u043e\u043d\u0430 \u0434\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u043e\u0442\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0435\u0442 \u043c\u043d\u043e\u0433\u0438\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432, \u0438\u0437-\u0437\u0430 \u0441\u0432\u043e\u0435\u0439 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438. \u0412 \u0441\u0432\u043e\u0438\u0445 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0441\u0442\u0430\u0442\u044c\u044f\u0445 \u044f \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u043b \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0441\u0430\u043c\u044b\u0439 \u043d\u0438\u0436\u043d\u0438\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c Link Layer \u0438 Physical Layer. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":84025,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-84024","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"BLE \u043f\u043e\u0434 \u043c\u0438\u043a\u0440\u043e\u0441\u043a\u043e\u043f\u043e\u043c (ATT\u044b GATT\u044b...) \u0427\u0430\u0441\u0442\u044c 1.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/ble-pod-mikroskopom-atty-gatty\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47BLE \u043f\u043e\u0434 \u043c\u0438\u043a\u0440\u043e\u0441\u043a\u043e\u043f\u043e\u043c (ATT\u044b GATT\u044b\u2026) | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"BLE \u043f\u043e\u0434 \u043c\u0438\u043a\u0440\u043e\u0441\u043a\u043e\u043f\u043e\u043c (ATT\u044b GATT\u044b...) \u0427\u0430\u0441\u0442\u044c 1.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/ble-pod-mikroskopom-atty-gatty\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-06-04T17:42:32+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-06-04T17:42:32+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47BLE n\u00ebn mikroskop (ATT-t\u00eb GATT-t\u00eb\u2026) | ProHoster","description":"BLE n\u00ebn mikroskop (ATT dhe GATT...) Pjesa 1.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/ble-pod-mikroskopom-atty-gatty","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47BLE \u043f\u043e\u0434 \u043c\u0438\u043a\u0440\u043e\u0441\u043a\u043e\u043f\u043e\u043c (ATT\u044b GATT\u044b\u2026) | ProHoster","og:description":"BLE \u043f\u043e\u0434 \u043c\u0438\u043a\u0440\u043e\u0441\u043a\u043e\u043f\u043e\u043c (ATT\u044b GATT\u044b...) \u0427\u0430\u0441\u0442\u044c 1.","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/ble-pod-mikroskopom-atty-gatty","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-06-04T17:42:32+00:00","article:modified_time":"2020-06-04T17:42:32+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"84024","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 15:06:38","updated":"2022-09-28 11:11:59","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/84024","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=84024"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/84024\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/84025"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=84024"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=84024"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=84024"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}