BLE i lalo ole microscope (ATTы GATTы…)

BLE i lalo ole microscope (ATTы GATTы...)

BLE i lalo ole microscope (ATTы GATTы…)

Vaega 1, aotelega

Ua umi se taimi ua mavae talu mai le faʻamatalaga muamua mo le Bluetooth 4.0 na faʻasaʻolotoina. Ma, e ui lava e manaia tele le autu o le BLE, ae o loʻo tuʻu ese le tele o atinaʻe ona o lona lavelave. I aʻu tala talu ai, sa masani ona ou vaʻavaʻai i le tulaga maualalo, Link Layer ma Physical Layer. O lenei mea na mafai ai ona matou aloese mai le faʻaogaina o manatu lavelave ma fenumiai e pei o le Attribute Protocol (ATT) ma le General Attribute Profile (GATT). Ae ui i lea, e leai se mea e alu i ai, e aunoa ma le malamalama ia i latou, e le mafai ona atiaʻe ni masini talafeagai. O le asō ou te fia faasoa atu ai lenei malamalama ia te outou. I laʻu tusiga o le a ou faʻalagolago i ai le tusi mo tagata amata mai le upega tafaʻilagi a Nordic. Ia tatou amata la.

Aisea e matua faigata ai mea uma?

I loʻu manatu, na vave ona manino o le puleaina o masini e ala i telefoni feaveaʻi o se autu e sili ona folafola ma umi. O le mea lea, na latou filifili e faʻatulagaina vave ma i le maualuga. Ina ia aua neʻi oʻo mai a latou lava faʻamaumauga a le au gaosi oloa eseese, lea o le a le fetaui. O le mea lea ua faigata ai. Ua i ai i le laasaga muamua, na latou taumafai e faʻapipiʻi mea uma e mafai i le BLE protocol. Ma e le afaina pe o le a aoga mulimuli ane pe leai. E le gata i lea, na latou saunia mo le avanoa e faʻalauteleina ai le lisi o masini mo le lumanaʻi.

Se'i o tatou va'ai i le ata o lo'o tusia ai le ata o le BLE protocol. E aofia ai le tele o laulau. Ole vaega pito i lalo ole tino (PHY) e nafa ma le alaleo ole masini. Link Layer(LL) o lo'o iai le fa'asologa atoa o bytes i le fe'au fa'asalalau. I tala ua mavae sa matou suʻesuʻeina tonu lenei mea. Host Controller Interface (HCI) ose fefa'ataua'iga i le va o BLE layers po'o tupe meataalo pe a fa'atino le Pule ma le Host i tupe meataalo eseese. Logical Link Control and Adaptation Protocol (L2CAP) e nafa ma le faʻatulagaina o pusa, faʻapipiʻi, faʻatonutonu mea sese ma le faʻapipiʻiina o pusa. Puipuiga Pulea Puipuiga (SMP) e nafa ma le fa'ailogaina o pepa. O le General Access Profile (GAP) e nafa ma le uluai fesuiaiga o faʻamatalaga i le va o masini e iloa ai "O ai o ai". E aofia ai fo'i su'esu'ega ma fa'asalalauga. I lenei tusiga o le a ou taulai atu i vaega e lua o totoe o le protocol - GATT ma ATT. O le GATT o se fa'atonuga o le ATT, o lea e vavalalata vavalalata.

BLE i lalo ole microscope (ATTы GATTы...)

Ina ia faafaigofie le tala, ou te fia liliu atu i se tala faatusa. Sa ou faalogo i ai i se mea ma ou te fia lagolagoina. Mafaufau i se masini BLE o se fata tusi ma ni fata. O fata taitasi e ese le autu. Mo se faʻataʻitaʻiga, e iai a matou fata e iai tala faʻasaienisi, numera, ma encyclopedias. I luga o fata taitasi o loʻo i ai tusi ma se autu faʻapitoa. Ma o nisi tusi e iai fo'i fa'ailoga tusi ma fa'amatalaga. E le gata i lea, o loʻo i ai se matou pepa faʻamaumauga o tusi uma. Afai e te manatua, o faletusi a le aoga o se pusa vaapiapi ma pepa pepa. Faatasi ai ma lenei faʻatusa, o le kapeneta o le talaaga o la tatou masini. O fata o auaunaga, tusi o uiga, ma o le lisi o se laulau uiga. Faailoga tusi i tusi o faʻamatalaga, lea o le a ou talanoa atili ai i se taimi mulimuli ane.

Soʻo se tasi na faʻatupuina masini e iloa o le tele o galuega faatino e tutusa vaega o tulafono laiti. O le mea moni o le tele o masini e tutusa galuega. Mo se faʻataʻitaʻiga, afai o masini e faʻamalosia e maʻa, o le faʻafitauli o le faʻatonuina ma le mataʻituina o latou tulaga o le a tutusa. E faapena foi mo masini. O le mea moni, o se faiga fa'atatau ile polokalame "e maua ai le tomai e fatu ai mea faitino e tuʻufaʻatasia meatotino ma amioga i totonu o se faʻatasiga e mafai ona toe faʻaaogaina". I loʻu manatu, na taumafai le BLE i se auala faapena. Tala'aga na fausia e le Bluetooth Special Interest Group (SIG). O masini mai fale gaosi eseese e tutusa faʻamatalaga e tatau ona galulue le tasi ma le isi e aunoa ma se faʻalavelave. O talaaga, i le isi itu, e aofia ai auaunaga, ma auaunaga o uiga, faʻaopoopoina e faʻamatalaga. I se tulaga lautele atonu e foliga faapenei:

BLE i lalo ole microscope (ATTы GATTы...)

Mo se faʻataʻitaʻiga, mafaufau i le ata faʻataʻitaʻiga o le mataʻituina o le fatu (taulima malosi). E aofia ai auaunaga e lua ma le tele o uiga. Mai lea mea e vave ona manino ai le fa'asologa o fa'amatalaga. Ole uiga ole siaki e toe fa'afo'i le aofa'i ole aofa'i ole fa'aalu ole kalori ile zero.

1. O le auaunaga tau fatu e aofia ai uiga e tolu (0x180D):
    a) Fa'atonuina le tātā o le fatu (0x2A37)
    e) Fa'atonu le tulaga o le tino (0x2A38)
    i) Uiga fa'atu'utu'uga o le fa'atonuga ole fatu (0x2A39)
2. Au'aunaga tausiga ma'a (0x180F):
    a) Fa'atonuina le tulaga o le tau o le maa (0x2A19)

UIID

Ina ia mafai ona tatou maua tulaga ese elemene faʻamatalaga (auaunaga, uiga ma faʻamatalaga), e manaʻomia ona tatou faanumera uma i se auala. Mo lea fa'amoemoe, ua fa'ailoa mai ai se manatu e pei ole Universally Unique ID (UUID) po'o le Universally Unique Identifier. O loʻo faʻaalia le UUID i puipui o laina taʻitasi. Ma e tasi lava le tulaga ese iinei. Mo UUID, na matou filifili e faʻaoga se code o 16 ma 128 bits le umi. Aisea, e te fesili ai? I le BLE protocol, o mea uma e uiga i le faʻasaoina o le malosi. O le mea lea, o le tele o 16 bits e talafeagai lelei. E le taumate e sili atu i le 65 afe o le a faia i se taimi lata mai. auaunaga tulaga ese ma uiga. I le taimi nei, o mea uma na mafai ona latou faitauina (manatua pe o fea na sau mai ai - "na ia faitauina foi oe" :-)) Elemene numera talaaga, auaunaga, uiga и fa'amatala e mafai ona e va'ai i so'oga.

Ae ui i lea, ou te manatu e manatua e tagata uma le tala ma 4 bytes o tuatusi IP ile Initaneti. I le taimi muamua sa matou manatu ua lava lena, ae o lea e le mafai lava ona matou sui i se tuatusi 6-byte. Ina ia aua neʻi toe faia lenei mea sese ma tuʻuina atu le saolotoga i lima taʻaloga a DIYers, na vave lava ona filifili le SIG e faʻafeiloaʻi le 128-bit UUID. O lenei mea e faamanatu mai ai ia te au le le laiseneina 433 MHz band, lea na tuuina atu i ituaiga uma o Kulibins mai le leitio. I la matou tulaga, o se faʻamatalaga 128-bit o auaunaga ma uiga na faʻatoʻaina. O lona uiga o matou, mo a matou 'au'aunaga ma masini, e mafai ona fa'aogaina toetoe lava o so'o se tau 128-bit. E tutusa uma lava, o le avanoa e sau ai ma le UUID tutusa e foliga mai e leai.

O le mea moni, puupuu 16-bit UUID o loʻo i ai lo latou faʻaopoopoga i se tau 128-bit. I le faʻamatalaga, o lenei faʻaopoopoga e taʻua o le Bluetooth Base UUID ma o loʻo i ai le tau 00000000-0000-1000-8000-00805F9B34FB. Afai, mo se faʻataʻitaʻiga, o le 16-bit attribute UUID o loʻo i ai le tau 0x1234, o le tutusa 128-bit UUID o le ai ai le tau 00001234-0000-1000-8000-00805F9B34FB. Ma e oʻo lava i le fua faʻatatau e tuʻuina atu:

                                128_bit_value = 16_bit_value * 2^96 + Bluetooth_Base_UUID

Ou te le iloa po o fea na sau ai lenei numera faʻailoga. Afai e iloa e se tasi o le au faitau, tuʻu i latou e tusi i faʻamatalaga (O se tagata faʻaoga ma le igoa ole igoa Sinopteek ua uma ona faia lenei mea. Vaʻai i faʻamatalaga). Ae mo le sau i luga o le 128-bit UUIDs, i le mataupu faavae e mafai ona e faʻaogaina se faʻapitoa afio ai na te faia mo oe.

ATty GATTy...

O le mea moni, ona amata lea o le fiafia. Se'i ou faamanatu atu ia te oe o le ATT e fa'avae i luga ole so'otaga a le tagata fa'atau ma le tautua. O lea o loʻo matou vaʻavaʻai i le masini server. O loʻo i ai faʻamatalaga e pei o le faʻaogaina o mea taua, tulaga sui moli, faʻamatalaga nofoaga, ma isi. I le taimi nei ua faanumera uma "tagata auai i la tatou solo", e tatau ona tatou tuʻuina i latou i le mafaufau o le masini. Ina ia faia lenei mea, matou te tuʻuina i latou i se laulau e taʻua o se laulau uiga. Manatua lelei lenei mea. Ole fatu tonu lea ole BLE. O le mea lea o le a tatou iloiloina atili. O lea la o le a tatou ta'ua laina taitasi o se uiga. O lenei laulau o loʻo tu loloto i totonu o le faʻaputu ma, o se tulafono, matou te le maua saʻo i ai. Matou te amataina ma maua, ae o le mea e tupu i totonu o loʻo natia mai ia i matou i tua o faʻamaufaʻailoga e fitu.

Sei o tatou vaʻavaʻai i le ata mai le faʻamatalaga, ae i luma o lena, ou te manaʻo e vave faʻalogo i le fenumiai masani i faaupuga, e pei o faʻamatalaga. O le matafaioi a le faʻamatalaga o le faʻapipiʻiina lea o le faʻamatalaga o uiga. A tatau ona faʻalauteleina ona gafatia, ona faʻaaogaina lea o faʻamatalaga. O uiga fo'i, ma e pei lava o 'au'aunaga ma uiga, o lo'o i totonu o le laulau uiga. O le a tatou iloiloina auiliili i latou i le vaega lona lua o le mataupu. Ae ui i lea, o nisi taimi o faʻamatalaga e faasino i le numera o le laina i le laulau uiga. E tatau ona manatua lenei mea. Ina ia aloese mai le fenumiai, o le a matou faʻaogaina le faaupuga "faʻailoga uiga" mo nei faʻamoemoega.
BLE i lalo ole microscope (ATTы GATTы...)

O le uiga la o se tau tu'ufa'atasi o lo'o iai mea nei e feso'ota'i ma ia:
1. U'u Uiga o le fa'ailoga o le laulau e fetaui ma le uiga
2. Ituaiga Uiga o se UUID e faʻamatalaina lona ituaiga
3. Attribute Value o faʻamaumauga faʻasinoina e le faʻailoga uiga
4. Fa'atagaga Uiga o se vaega o se uiga, o fa'atagaga, e le mafai ona faitau pe tusia e fa'aaoga ai le fa'asologa o uiga.

E faapefea ona e malamalama i nei mea uma? O le fa'asinoga uiga, o lona numera i la tatou laulau.
E fa'atagaina ai le tagata o tausia e fa'asino se uiga i talosaga faitau pe tusi. E mafai ona faanumera a matou laina (uiga) mai le 0x0001 i le 0xFFFF. I la matou mafutaga ma le fata tusi, o le numera kata lea i le faʻamaumauga pepa. E fa'apena fo'i, e pei o le fa'amaumauga o le faletusi, e fa'atulaga kata i le fa'aopoopoina o le fa'asologa o numera. Ole numera o laina ta'itasi mulimuli ane e tatau ona sili atu nai lo le laina muamua. E pei lava o le faletusi, o nisi taimi e leiloa nisi kata, e faapena foi ia i tatou, atonu e i ai avanoa i le faanumera o laina. E faataga lea. O le mea autu o le latou alu faasolosolo.

O le ituaiga uiga e fuafua ai le uiga o le uiga. E tusa ai ma le gagana C,
o lo'o i ai le boolean, numera ma manoa, o lea e i ai iinei. E ala i le ituaiga uiga tatou te iloa
mea o loo tatou feagai ma pe faapefea ona faaauau pea ona tatou galulue faatasi ma lenei uiga. I lalo o le a tatou vaʻavaʻai i nisi o ituaiga faʻapitoa o uiga. Mo se faʻataʻitaʻiga, "taʻutinoga o auaunaga" (0x2800), "faʻaaliga faʻapitoa" (0x2803), "faʻamatalaga faʻamatalaga" (0x2902).

O le taua o se uiga o lona uiga moni, faamagalo le tautology. Afai o le ituaiga uiga o se manoa, ona mafai lea ona avea le tau o uiga, mo se faʻataʻitaʻiga, o le faʻaupuga "Hello World !!!". Afai o le ituaiga uiga o se "ta'utinoga o auaunaga", o lona tau o le auaunaga lava ia. Ma o nisi taimi o faʻamatalaga lea e uiga i le mea e maua ai isi uiga ma a latou meatotino.

O fa'atagaga uiga e mafai ai e le 'au'aunaga ona malamalama pe fa'atagaina le faitau pe tusitusi.
Manatua o nei faʻatagaga e faʻaoga naʻo le tau o uiga, ae le o le faʻailoga, ituaiga, poʻo le faʻatagaga lava ia. O na. afai e faatagaina le pueina o uiga, ona mafai lea ona tatou suia, mo se faataitaiga, le laina "Talofa Lalolagi !!!" i le laina “Toe taeao”. Ae e le mafai ona tatou faʻasaina le tusiaina o se laina fou pe suia le ituaiga uiga ma faʻailogaina le laina o se "taʻutinoga o auaunaga". A fa'afeso'ota'i e le kalani se 'au'aunaga, e talosagaina e le kalani ona uiga. Ole mea lea e mafai ai e le kalani ona iloa mea e mafai e le server ona tu'uina atu. E ui lava e le manaʻomia le faitau ma tusi faʻatatau.

E faape'ī foliga

O le manatu o le GATT o le fa'avasegaina o uiga i totonu o se laulau uiga fa'atasi i se fa'atonuga ma'oti ma talafeagai. Se'i o tatou va'ava'ai toto'a ile talafa'asolopito ole fatu i lalo. O le koluma pito agavale o lenei laulau e filifili. Na'o le fa'amatala mai ia i tatou o le a lenei laina (uiga). O isi koluma uma ua masani ia i tatou.

BLE i lalo ole microscope (ATTы GATTы...)

I le pito i luga o vaega taitasi e i ai lava le uiga o le tautinoga o auaunaga. O lona ituaiga e masani lava 0x2800, ma o le faʻailoga e faʻalagolago i le tele o uiga o loʻo i ai i le laulau. O ana fa'atagaga e masani lava ona faitau-na'o, e aunoa ma se fa'amaoniga po'o se fa'atagaga. O le a tatou talanoa e uiga i nei manatu i se taimi mulimuli ane. O le tau o le isi UUID e iloagofie ai le auaunaga. I le Laulau, o le tau o le 0x180D, o loʻo faʻamatalaina e le Bluetooth SIG o se tautua fatu.

A mae'a le fa'asalalauga o le sauniga, ona fa'ailoa mai lea o uiga. E taitutusa le faiga ma se tautinoga o auaunaga. O lona UUID e masani lava 0x2803, ma o ana faʻatagaga e masani ona faitau-naʻo e aunoa ma se faʻamaoniga poʻo se faʻatagaga. Se'i o tatou va'ai ile Attribute Value field, lea e aofia ai nisi fa'amaumauga. E i ai i taimi uma se faʻailoga, se UUID, ma se seti o meatotino. O elemene nei e tolu o loʻo faʻamatalaina ai le taʻutinoga mulimuli ane o le uiga taua. O le fa'ailoga e fa'asino tonu lava le nofoaga o le ta'utinoga tau uiga i le laulau uiga. O loʻo faʻamatalaina e le UUID le ituaiga faʻamatalaga poʻo le tau e mafai ona tatou faʻamoemoeina. Mo se faʻataʻitaʻiga, o le tau o le vevela, tulaga o le ki molī, poʻo se isi tau faʻatatau. Ma mulimuli ane meatotino, lea e faamatalaina ai le auala e mafai ona fegalegaleai ai le uiga taua.

O loo faatali mai se isi mailei ia i tatou iinei. E feso'ota'i ma fa'atagaga o uiga ma meatotino fa'apitoa. Se'i o tatou va'ava'ai i le ata ole vaega ole fanua mai le fa'amatalaga.

BLE i lalo ole microscope (ATTы GATTы...)

E pei ona e vaʻaia, e iai foʻi fanua iinei e maua ai le faitau ma le tusitusi. Atonu o lo'o e mafaufau pe aisea ua matou faitau/tusi ai fa'atagaga mo uiga ma meatotino
faitau/tusi mo uiga taua? Pe le tatau ea ona tutusa i taimi uma? O le mea moni o meatotino mo le tau faʻapitoa e naʻo fautuaga mo le kalani o loʻo faʻaaogaina i le GATT ma faʻapipiʻi talosaga. Ua na'o ni fa'ailoga e uiga i mea e ono fa'amoemoeina e le tagata o tausia mai le uiga fa'aaliga ta'utinoga. Se'i o tatou va'ai atili i lenei mea. O a ituaiga fa'atagaga o iai i se uiga?

1. Fa'atagaga avanoa:
     - faitauga
     — faamaumauga
     - faitau ma tusitusi
2. Fa'atagaga fa'amaoni:
     - mana'omia le fa'amaoni
     - leai se fa'amaoniga e mana'omia
3. Fa'atagaga fa'atagaina:
     - mana'omia le faatagaga
     - leai se faatagaga e mana'omia

O le ese'esega tele i le va o le fa'ai'uga o uiga ma meatotino fa'apitoa o le mea muamua e fa'aoga i 'au'aunaga, ma le mea mulimuli i tagata fa'atau. E mafai ona fa'atagaina le 'au'aunaga e faitau le uiga taua, ae atonu e mana'omia le fa'amaoni po'o le fa'atagaga. O le mea lea, pe a talosagaina e le kalani ia meatotino o le uiga, o le a matou mauaina e faʻatagaina le faitau. Ae a tatou taumafai e faitau, tatou te maua se mea sese. O le mea lea, e mafai ona tatou talanoa saogalemu e uiga i le faʻamuamua o faʻatagaga nai lo meatotino. I le itu o tagata o tausia, e le mafai ona matou maua le malamalama i faʻatagaga o loʻo i ai i se uiga.

Fa'amatala

Tatou toe foi i la tatou laulau. A maeʻa ona faʻaalia le taua o se uiga, e mafai ona faʻaalia uiga nei:
1. Ta'utinoga fou o uiga (se auaunaga e mafai ona tele uiga)
2. Ta'utinoga o auaunaga fou (atonu e tele i latou i le laulau)
3. Ta'utinoina o se au

I le tulaga o le fua o le fatu fua uiga, i la tatou laulau, o le taʻutinoga o le uiga taua o loʻo faʻatasi ma le taʻutinoga a le faʻamatalaga. O se fa'amatalaga o se uiga ma fa'amatalaga fa'aopoopo e uiga i se uiga. E tele ituaiga o fa'amatalaga. O le a tatou talanoa auiliili e uiga ia i latou i le vaega lona lua o lenei tusiga. Mo le taimi nei, o le a matou pa'i atu i le Client Characteristic Configuration Descriptor (CCCD). E iai le UUID e tutusa ma le 0x2902. I le fa'aaogaina o lenei fa'amatalaga, o lo'o i ai i le kalani le malosi e mafai ai ona fa'aalia po'o fa'amatalaga i luga o le 'au'aunaga. O le eseesega i le va oi latou e laʻititi, ae o loʻo i ai pea. Fa'asilasilaga e le mana'omia se fa'amaoniga o le lisiti mai le kalani. O faʻamatalaga e manaʻomia ai lenei mea, e ui lava e tupu i le GATT tulaga, ae le oʻo i le tulaga talosaga. Aisea ua e fesili ai? Aue, ou te le iloa lenei mea. Sei ou fai atu e fautuaina e le au atamamai Nordic le faʻaaogaina o faʻamatalaga. E le gata i lea, o le siakiina o le faʻamaoni o le afifi (faʻaaogaina CRC) e tupu i tulaga uma e lua.

iʻuga

I le faaiuga o le tusiga ou te fia fai atu lenei mea. O le laulau mulimuli e fai si fenumiai. Ae ui i lea, na ou filifilia ona o le tuʻuina atu i totonu tusiga, lea ou te faalagolago i ai. I le vaega lona lua o laʻu tusiga, ou te faʻamoemoe e suʻesuʻe loloto i le BlueTooth 4.0 faʻamatalaga. E tele atu ata ma ata sa'o o lo'o fa'atali mai ia i tatou iina. I le vaega lona tolu, ou te manaʻo e faʻasalalau le ogalaau na maua mai le Wireshark polokalame mai se tasi o gadgets ma vaʻai "ola" uma aʻoaʻoga o loʻo matou suʻesuʻeina.

Tagata faigaluega a le Vaega o Kamupani "Kaisara Satelite"
Pecherskikh Vladimir

puna: www.habr.com

Faaopoopo i ai se faamatalaga