BLE በአጉሊ መነጽር (ATTы GATTы…)

BLE በማይክሮስኮፕ (ATTы GATTы...)

BLE በአጉሊ መነጽር (ATTы GATTы…)

ክፍል 1፣ አጠቃላይ እይታ

የብሉቱዝ 4.0 የመጀመሪያ መግለጫ ከተለቀቀ በኋላ በጣም ረጅም ጊዜ አልፏል። እና ምንም እንኳን የ BLE ርዕስ በጣም አስደሳች ቢሆንም, ውስብስብነቱ ምክንያት አሁንም ብዙ ገንቢዎችን ያስቀራል. በቀደሙት ጽሑፎቼ፣ በዋናነት የተመለከትኩት ዝቅተኛውን ደረጃ፣ Link Layer እና Physical Layerን ነው። ይህም ውስብስብ እና ግራ የሚያጋቡ ፅንሰ ሀሳቦችን እንዳንጠቀም አስችሎናል እንደ የአመለካከት ፕሮቶኮል (ATT) እና አጠቃላይ የአመለካከት መገለጫ (GATT)። ሆኖም ግን, ምንም የሚሄዱበት ቦታ የለም, ሳይረዱዋቸው, ተስማሚ መሳሪያዎችን ማዘጋጀት አይቻልም. ዛሬ ይህን እውቀት ላካፍላችሁ ወደድኩ። በጽሑፌ ላይ እተማመናለሁ። የመማሪያ መጽሐፍ ከኖርዲክ ድር ጣቢያ ለጀማሪዎች። ስለዚህ እንጀምር።

ሁሉም ነገር በጣም አስቸጋሪ የሆነው ለምንድነው?

በእኔ አስተያየት መሣሪያዎችን በስማርትፎኖች ማስተዳደር በጣም ተስፋ ሰጭ እና ረጅም ጊዜ ያለው ርዕስ እንደሆነ ወዲያውኑ ግልጽ ነበር. ስለዚህ, ወዲያውኑ እና ከፍተኛውን ለማዋቀር ወሰኑ. ስለዚህ የተለያዩ መግብሮች አምራቾች የራሳቸውን ፕሮቶኮሎች አያመጡም, ከዚያ በኋላ የማይጣጣሙ ይሆናሉ. ስለዚህም አስቸጋሪው. ቀድሞውንም በመጀመሪያ ደረጃ፣ የተቻለውን ሁሉ ወደ BLE ፕሮቶኮል ለመጭመቅ ሞክረዋል። እና በኋላ ላይ ጠቃሚ ይሆናል ወይም አይጠቅምም ምንም አይደለም. በተጨማሪም, ለወደፊቱ የመሳሪያዎችን ዝርዝር ለማስፋፋት እድል ሰጥተዋል.

የ BLE ፕሮቶኮል ዲያግራም የተሳለበትን ሥዕል እንይ። በርካታ ንብርብሮችን ያካትታል. ዝቅተኛው፣ አካላዊ ንብርብር (PHY) ለመሣሪያው የሬዲዮ ጣቢያ ኃላፊ ነው። Link Layer (LL) በሚተላለፈው መልእክት ውስጥ ሙሉውን የባይት ቅደም ተከተል ይይዛል። በቀደሙት ጽሁፎች ይህንን በትክክል አጥንተናል. Host Controller Interface (HCI) ተቆጣጣሪው እና አስተናጋጁ በተለያዩ ቺፖች ላይ ከተተገበሩ በ BLE ንብርብሮች ወይም ቺፕስ መካከል የሚደረግ ልውውጥ ፕሮቶኮል ነው። አመክንዮአዊ አገናኝ ቁጥጥር እና ማስማማት ፕሮቶኮል (L2CAP) ለፓኬት ምስረታ፣ ክፈፍ፣ የስህተት ቁጥጥር እና ፓኬት መሰብሰብ ኃላፊነት አለበት። የጥበቃ አስተዳዳሪ ፕሮቶኮል (SMP) እሽጎችን የማመስጠር ኃላፊነት አለበት። የጄኔራል መዳረሻ ፕሮፋይል (ጂኤፒ) "ማን ማን ነው" የሚለውን ለመወሰን በመሳሪያዎች መካከል ለሚደረገው የመጀመሪያ የመረጃ ልውውጥ ኃላፊነት አለበት። ቅኝት እና ማስታወቂያንም ያካትታል። በዚህ ጽሑፍ ውስጥ በሁለቱ ቀሪ የፕሮቶኮሉ ክፍሎች ላይ አተኩራለሁ - GATT እና ATT። GATT የ ATT ልዕለ መዋቅር ነው፣ ስለዚህ እነሱ በቅርበት የተሳሰሩ ናቸው።

BLE በማይክሮስኮፕ (ATTы GATTы...)

ታሪኩን ለማቃለል ወደ ተመሳሳይነት ልዞር። የሆነ ቦታ ሰምቼዋለሁ እና ልደግፈው እፈልጋለሁ። የ BLE መሣሪያን ብዙ መደርደሪያዎች ያሉት እንደ መጽሐፍ መደርደሪያ ያስቡ። እያንዳንዱ መደርደሪያ የተለየ ጭብጥ ነው. ለምሳሌ፣ የሳይንስ ልብወለድ፣ ሒሳብ እና ኢንሳይክሎፔዲያ ያላቸው መደርደሪያዎች አሉን። በእያንዳንዱ መደርደሪያ ላይ የተወሰነ ርዕስ ያላቸው መጻሕፍት አሉ. እና አንዳንድ መጽሃፎች ከማስታወሻዎች ጋር የወረቀት ዕልባቶች እንኳን አላቸው። በተጨማሪም, የሁሉም መጽሐፍት ትንሽ የወረቀት ካታሎግ አለን. ካስታወሱ, የትምህርት ቤት ቤተ-መጻሕፍት የወረቀት ካርዶች ያለው ጠባብ ሳጥን ናቸው. በዚህ ተመሳሳይነት, ካቢኔው የመሳሪያችን መገለጫ ነው. መደርደሪያዎች አገልግሎቶች ናቸው, መጽሐፍት ባህሪያት ናቸው, እና ካታሎግ የባህሪ ሰንጠረዥ ነው. በመጻሕፍት ውስጥ ያሉ ዕልባቶች ገላጭዎች ናቸው, እኔ ደግሞ በኋላ ላይ በዝርዝር እናገራለሁ.

መሣሪያዎችን የሠራ ማንኛውም ሰው ብዙ ፕሮጀክቶች ተመሳሳይ የኮድ ቁርጥራጮች እንዳላቸው ያውቃል. እውነታው ግን ብዙ መሳሪያዎች ተመሳሳይ ተግባር አላቸው. ለምሳሌ, መሳሪያዎች በባትሪ የሚንቀሳቀሱ ከሆነ, የመሙላት እና ደረጃቸውን የመቆጣጠር ችግር ተመሳሳይ ይሆናል. ስለ ዳሳሾችም ተመሳሳይ ነው. በእውነቱ፣ ለፕሮግራም አወጣጥ ዓላማ-ተኮር አቀራረብ "ንብረትን እና ባህሪያትን የሚያጣምሩ ዕቃዎችን ወደ እራሱን ወደ ሚችል ህብረት የመፍጠር ችሎታን ይሰጣል ከዚያም እንደገና ጥቅም ላይ ሊውል ይችላል". በእኔ አስተያየት፣ BLE ተመሳሳይ አካሄድ ሞክሯል። መገለጫዎች የተዘጋጁት በብሉቱዝ ልዩ ፍላጎት ቡድን (SIG) ነው። ተመሳሳይ መገለጫዎች ያላቸው ከተለያዩ አምራቾች የመጡ መሳሪያዎች ያለምንም ችግር እርስ በርስ ሊሰሩ ይገባል. መገለጫዎች፣ በተራው፣ አገልግሎቶችን እና የባህሪ አገልግሎቶችን ያቀፉ፣ በገላጭዎች የተሟሉ ናቸው። በአጠቃላይ ይህ ሊመስል ይችላል-

BLE በማይክሮስኮፕ (ATTы GATTы...)

ለምሳሌ፣ የልብ ምት መቆጣጠሪያ (የአካል ብቃት አምባር) የመገለጫ ዲያግራምን አስቡበት። ሁለት አገልግሎቶችን እና በርካታ ባህሪያትን ያካትታል. ከእሱ የመገለጫ ተዋረድ ወዲያውኑ ግልጽ ይሆናል. የፍተሻ ነጥቡ ባህሪ አጠቃላይ የካሎሪ ወጪ ቆጠራን ወደ ዜሮ ያስጀምራል።

1. የልብ ምት አገልግሎት ሶስት ባህሪያትን ያካትታል (0x180D):
    áˆ€) የግዴታ የልብ ምት ባህሪ (0x2A37)
    áˆˆ) አማራጭ የሰውነት ዳሳሽ አቀማመጥ ባህሪ (0x2A38)
    áˆ) የልብ ምት መቆጣጠሪያ ነጥብ ሁኔታዊ ባህሪያት (0x2A39)
2. የባትሪ ጥገና አገልግሎት (0x180F):
    áˆ€) አስገዳጅ የባትሪ ክፍያ ደረጃ ባህሪ (0x2A19)

UUID

በልዩ ሁኔታ የመገለጫ ክፍሎችን (አገልግሎቶችን, ባህሪያትን እና ገላጭዎችን) ለመድረስ, ሁሉንም በሆነ መንገድ መቁጠር ያስፈልገናል. ለዚሁ ዓላማ፣ እንደ ሁለንተናዊ ልዩ መታወቂያ (UUID) ወይም ሁለንተናዊ ልዩ መለያ ያለ ጽንሰ-ሀሳብ ቀርቧል። UUID በእያንዳንዱ መስመር ቅንፎች ውስጥ ተጠቁሟል። እና እዚህ አንድ ልዩ ባህሪ አለ. ለ UUID፣ የ16 እና 128 ቢት ርዝመት ያለው ኮድ ለመጠቀም ወስነናል። ለምን ትጠይቃለህ? በ BLE ፕሮቶኮል ውስጥ ሁሉም ነገር ስለ ኢነርጂ ጥበቃ ነው። ስለዚህ, የ 16 ቢት መጠን በጣም ምክንያታዊ ነው. በቅርብ ጊዜ ውስጥ ከ 65 ሺህ በላይ ሊፈጠሩ አይችሉም. ልዩ አገልግሎቶች እና ባህሪያት. በአሁኑ ጊዜ ፣ ​​ሁሉም ነገር ሊቆጠር ይችል ነበር (ይህ ከየት እንደመጣ አስታውስ - “አንተንም ቆጥሯል” :-)) የተቆጠሩ አካላት መገለጫዎች, አገልግሎቶች።, ባህሪዎች и ገላጭ አገናኞችን መመልከት ይችላሉ.

ሆኖም ግን, እኔ እንደማስበው, ሁሉም ሰው ታሪኩን በበይነመረብ ላይ በ 4 ባይት የአይፒ አድራሻዎች ያስታውሰዋል. መጀመሪያ ላይ ይህ በቂ ነው ብለን እናስብ ነበር፣ አሁን ግን አሁንም ወደ ባለ 6-ባይት አድራሻ መቀየር አንችልም። ይህንን ስህተት ላለመድገም እና ለ DIYers ተጫዋች እጆች ነፃ ስልጣንን ለመስጠት SIG ወዲያውኑ ባለ 128-ቢት UUIDs ለማስተዋወቅ ወሰነ። ይህ በግሌ ከሬዲዮ ቻናሉ ለሁሉም ዓይነት ኩሊቢን የተሰጠ ፍቃድ የሌለውን 433 MHz ባንድ ያስታውሰኛል። በእኛ ሁኔታ፣ 128-ቢት የአገልግሎቶች እና ባህሪያት መለያ ተዘርቷል። ይህ ማለት እኛ ለአገልግሎቶቻችን እና መሳሪያዎቻችን ማንኛውንም ባለ 128-ቢት እሴት መጠቀም እንችላለን ማለት ነው። ሁሉም ተመሳሳይ፣ ከተመሳሳይ UUID ጋር የመምጣት እድሉ ወደ ዜሮ ይቀየራል።

በእርግጥ፣ አጭር ባለ 16-ቢት UUIDs ወደ 128-ቢት እሴት ማራዘሚያ አላቸው። በዝርዝሩ ውስጥ፣ ይህ ቅጥያ ብሉቱዝ ቤዝ UUID ይባላል እና ዋጋው 00000000-0000-1000-8000-00805F9B34FB ነው። ለምሳሌ, ባለ 16-ቢት አይነታ UUID ዋጋ 0x1234 ከሆነ, ተመጣጣኝ 128-ቢት UUID ዋጋ ይኖረዋል 00001234-0000-1000-8000-00805F9B34FB. እና ተጓዳኝ ቀመር እንኳን ተሰጥቷል-

                                128_bit_value = 16_bit_value * 2^96 + Bluetooth_Base_UUID

ይህ አስማት ቁጥር ከየት እንደመጣ አላውቅም። አንባቢዎቹ የሚያውቁት ከሆነ በአስተያየቶቹ ውስጥ እንዲጽፉ ያድርጉ ( Sinopteek ቅጽል ስም ያለው ተጠቃሚ ይህን አድርጓል. አስተያየቶቹን ይመልከቱ). ከ128-ቢት UUIDs ጋር መምጣትን በተመለከተ፣ በመርህ ደረጃ ልዩ መጠቀም ይችላሉ። ጀነሬተርማን ያደርግልሃል.

ATTy GATTy...

በእውነቱ ፣ ከዚያ ደስታው ይጀምራል። ATT በደንበኛና በአገልጋይ ግንኙነት ላይ የተመሰረተ መሆኑን ላስታውስህ። አሁን የአገልጋዩን መሳሪያ እየተመለከትን ነው። እንደ ዳሳሽ ዋጋዎች፣ የመብራት መቀየሪያ ሁኔታ፣ የአካባቢ ውሂብ፣ ወዘተ ያሉ መረጃዎችን ይዟል። አሁን ሁሉም "በእኛ ሰልፍ ውስጥ ያሉ ተሳታፊዎች" ተቆጥረዋል, በሆነ መንገድ በመሳሪያው ማህደረ ትውስታ ውስጥ ማስቀመጥ አለብን. ይህንን ለማድረግ, የባህሪ ሰንጠረዥ ተብሎ በሚጠራው ጠረጴዛ ውስጥ እናስቀምጣቸዋለን. ይህንን በደንብ አስታውሱ። ይህ የBLE ልብ ነው። ይህ የበለጠ እንመለከታለን. አሁን እያንዳንዱን መስመር ባህሪ ብለን እንጠራዋለን. ይህ ሠንጠረዥ በክምችቱ ውስጥ በጥልቅ ውስጥ ይገኛል, እና እንደ አንድ ደንብ, ወደ እሱ ቀጥተኛ መዳረሻ የለንም. አስጀመርነው እና ደረስንበት ነገር ግን በውስጣችን የሚሆነው ከሰባት ማህተሞች በስተጀርባ ተሰውሮናል።

ስዕሉን ከመግለጫው ውስጥ እንመልከተው, ነገር ግን ከዚያ በፊት, በአረፍተ ነገር ውስጥ በተደጋጋሚ ግራ መጋባት ላይ ትኩረትን ወዲያውኑ መሳል እፈልጋለሁ, ማለትም ገላጭዎች. የመግለጫው ሚና የባህሪውን መግለጫ ማሟላት ነው. ችሎታውን ለማስፋት አስፈላጊ በሚሆንበት ጊዜ ገላጭ ገላጭዎች ጥቅም ላይ ይውላሉ. እንዲሁም ባህሪያት ናቸው, እና ልክ እንደ አገልግሎቶች እና ባህሪያት, በባህሪው ሰንጠረዥ ውስጥ ይገኛሉ. በአንቀጹ ሁለተኛ ክፍል ውስጥ በዝርዝር እንመረምራለን. ሆኖም፣ አንዳንድ ጊዜ ገላጮች በባህሪ ሠንጠረዥ ውስጥ ያለውን የረድፍ ቁጥር ያመለክታሉ። ይህ መታወስ አለበት. ግራ መጋባትን ለማስወገድ፣ ለእነዚህ ዓላማዎች “የባህሪ ጠቋሚ” የሚለውን ቃል እንጠቀማለን።
BLE በማይክሮስኮፕ (ATTы GATTы...)

ስለዚህ ባህሪ የሚከተሉትን ባህሪያት ያለው ከሱ ጋር የተቆራኘ የተለየ እሴት ነው፡
1. የባህሪ መያዣ ከባህሪው ጋር የሚዛመደው የሠንጠረዥ መረጃ ጠቋሚ ነው
2. የባህሪ አይነት አይነቱን የሚገልጽ UUID ነው።
3. የባህሪ እሴት በባህሪው ጠቋሚ የተጠቆመው መረጃ ነው።
4. የባህሪ ፈቃዶች የባህሪ ፕሮቶኮሉን በመጠቀም ሊነበቡ ወይም ሊጻፉ የማይችሉ የባህሪዎች አካል ናቸው ፈቃዶች

ይህን ሁሉ እንዴት መረዳት ይቻላል? የባህሪው ጠቋሚ በአንፃራዊነት በሠንጠረዡ ውስጥ ያለው ቁጥር ነው.
አንድ ደንበኛ በንባብ ወይም በመጻፍ ጥያቄዎች ውስጥ ባህሪን እንዲያመለክት ያስችለዋል። ከ 0x0001 እስከ 0xFFFF የእኛን መስመሮች (ባህሪያት) መቁጠር እንችላለን. ከመጽሃፍ መደርደሪያው ጋር ባለን ግንኙነት ይህ በወረቀት ካታሎግ ውስጥ ያለው የካርድ ቁጥር ነው. በተመሳሳይ፣ በቤተ መፃህፍት ካታሎግ ውስጥ፣ ካርዶች በቁጥር ቅደም ተከተል ተደርድረዋል። የእያንዳንዱ ቀጣይ መስመር ቁጥር ከቀዳሚው የበለጠ መሆን አለበት. ልክ በቤተ መፃህፍት ውስጥ፣ አንዳንድ ጊዜ ካርዶች ጠፍተዋል፣ ስለዚህ ከእኛ ጋር፣ በመስመር ቁጥሮች ላይ ክፍተቶች ሊኖሩ ይችላሉ። ይህ ተፈቅዷል። ዋናው ነገር በሂደት መሄዳቸው ነው.

የባህሪው አይነት ባህሪው የሚወክለውን ይወስናል። ከ C ቋንቋ ጋር በማነጻጸር፣
ቡሊያን, የቁጥር ተለዋዋጮች እና ሕብረቁምፊዎች ባሉበት, ስለዚህ እዚህ አለ. በባህሪ አይነት እንገነዘባለን።
ምን እየተገናኘን እንዳለን እና ከዚህ ባህሪ ጋር መስራታችንን እንዴት መቀጠል እንደምንችል። ከዚህ በታች የተወሰኑ የተወሰኑ የባህሪ ዓይነቶችን እንመለከታለን። ለምሳሌ "የአገልግሎት መግለጫ" (0x2800), "የባህሪ መግለጫ" (0x2803), "ገላጭ መግለጫ" (0x2902).

የባህሪው ዋጋ ትክክለኛ ትርጉሙ ነው፣ ተውቶሎጂን ይቅር በል። የባህሪው አይነት ሕብረቁምፊ ከሆነ, የባህሪው እሴት ለምሳሌ "ሄሎ አለም !!!" መፈክር ሊሆን ይችላል. የባህሪው አይነት "የአገልግሎት መግለጫ" ከሆነ, ዋጋው ራሱ አገልግሎቱ ነው. እና አንዳንድ ጊዜ ይህ ሌሎች ባህሪያትን እና ንብረቶቻቸውን የት ማግኘት እንደሚችሉ መረጃ ነው።

የባህሪ ፈቃዶች አገልጋዩ የማንበብ ወይም የመፃፍ መዳረሻ መፈቀዱን እንዲረዳ ያስችለዋል።
እነዚህ ፈቃዶች የሚተገበሩት በጠቋሚው፣ በአይነት ወይም በፈቃድ መስክ ላይ ብቻ እንዳልሆነ ልብ ይበሉ። እነዚያ። የባህሪ ቀረጻ ከተፈቀደ ፣ ለምሳሌ ፣ “ሄሎ ዓለም !!!” የሚለውን መስመር መለወጥ እንችላለን ። ወደ "ደህና ጧት" መስመር. ነገር ግን አዲስ መስመር መፃፍ መከልከል ወይም የባህሪ አይነት መቀየር እና መስመሩን እንደ "አገልግሎት መግለጫ" መመደብ አንችልም. አንድ ደንበኛ አገልጋይን ሲያገኝ ደንበኛው ባህሪያቱን ይጠይቃል። ይህ ደንበኛው አገልጋዩ ምን መስጠት እንደሚችል እንዲያውቅ ያስችለዋል. ምንም እንኳን እሴቶቹን ማንበብ እና መጻፍ አስፈላጊ ባይሆንም.

ምን ይመስላል

የGATT ጽንሰ-ሀሳብ ባህሪያትን በባህሪ ሠንጠረዥ ውስጥ በጣም በተወሰነ እና ምክንያታዊ በሆነ ቅደም ተከተል መቧደን ነው። ከዚህ በታች ያለውን የልብ ምት መገለጫ በዝርዝር እንመልከት። የዚህ ሠንጠረዥ በግራ በኩል ያለው አምድ አማራጭ ነው። ይህ መስመር (ባህሪ) ምን እንደሆነ በቀላሉ ይገልጽልናል። ሁሉም ሌሎች ዓምዶች ለእኛ አስቀድመው ያውቁናል።

BLE በማይክሮስኮፕ (ATTы GATTы...)

በእያንዳንዱ ቡድን አናት ላይ ሁል ጊዜ የአገልግሎት መግለጫ ባህሪ አለን። የእሱ አይነት ሁልጊዜ 0x2800 ነው, እና ጠቋሚው በሠንጠረዡ ውስጥ ምን ያህል ባህሪያት እንዳሉ ይወሰናል. ፈቃዶቹ ሁል ጊዜ ተነባቢ-ብቻ ናቸው፣ ያለ ምንም ማረጋገጫ ወይም ፍቃድ። ስለ እነዚህ ጽንሰ-ሐሳቦች ትንሽ ቆይተው እንነጋገራለን. እሴቱ አገልግሎቱ ምን እንደሆነ የሚለይ ሌላ UUID ነው። በሰንጠረዡ ውስጥ ዋጋው 0x180D ነው, እሱም በብሉቱዝ SIG እንደ የልብ ምት አገልግሎት ይገለጻል.

የአገልግሎቱን ማስታወቂያ ተከትሎ, የባህሪው ማስታወቂያ ይመጣል. በቅጹ ከአገልግሎት መግለጫ ጋር ተመሳሳይ ነው። የእሱ UUID ሁልጊዜ 0x2803 ነው፣ እና ፈቃዶቹ ሁልጊዜ ያለማንም ማረጋገጫ ወይም ፍቃድ ተነባቢ ብቻ ናቸው። አንዳንድ መረጃዎችን ያካተተውን የባህሪ እሴት መስክን እንይ። ሁልጊዜ ጠቋሚ፣ UUID እና የንብረት ስብስብ ይይዛል። እነዚህ ሶስት አካላት የባህሪውን እሴት ቀጣይ መግለጫ ይገልጻሉ። ጠቋሚው በተፈጥሮ ሠንጠረዥ ውስጥ የባህሪ እሴት መግለጫ የሚገኝበትን ቦታ ያመለክታል። UUID ምን አይነት መረጃ ወይም እሴት መጠበቅ እንደምንችል ይገልጻል። ለምሳሌ፣ የሙቀት መጠኑ፣ የመብራት መቀየሪያው ሁኔታ ወይም ሌላ የዘፈቀደ እሴት። እና በመጨረሻም ባህሪያቱ እንዴት ከባህሪው ጋር መስተጋብር መፍጠር እንደሚቻል የሚገልጹ ንብረቶች።

ሌላ ወጥመድ እዚህ ይጠብቀናል። ከባህሪ ፍቃዶች እና ባህሪ ባህሪያት ጋር የተያያዘ ነው. የቢት የመስክ ንብረቶችን ምስል ከመግለጫው እንይ።

BLE በማይክሮስኮፕ (ATTы GATTы...)

እንደሚመለከቱት ፣ የማንበብ እና የመፃፍ ችሎታዎችን የሚያቀርቡ መስኮች እዚህም አሉ። ለባህሪ እና ለንብረት ፍቃድ ለምን አንብብ/ጻፍን እያሰብክ ሊሆን ይችላል።
ለባህሪ እሴት ማንበብ/መፃፍ? ሁልጊዜ አንድ ዓይነት መሆን የለባቸውም? እውነታው ግን የባህሪው እሴት ባህሪያት በ GATT እና በመተግበሪያ ንብርብሮች ውስጥ ጥቅም ላይ ለዋለ ደንበኛ ብቻ ምክሮች ናቸው. እነዚህ በቀላሉ ደንበኛው ከባህሪው መግለጫ ባህሪ ምን እንደሚጠብቀው ፍንጮች ናቸው። ይህንን በዝርዝር እንመልከተው። ባህሪው ምን አይነት ፈቃዶች አሉት?

1. የመዳረሻ ፈቃዶች፡-
     - ንባብ
     - መዝገብ
     - ማንበብ እና መፃፍ
2. የማረጋገጫ ፍቃድ፡-
     - ማረጋገጫ ያስፈልጋል
     - ምንም ማረጋገጫ አያስፈልግም
3. የፈቃድ ፍቃድ፡-
     - ፈቃድ ያስፈልጋል
     - ምንም ፈቃድ አያስፈልግም

በባህሪ መፍታት እና በባህሪያዊ ባህሪያት መካከል ያለው ዋናው ልዩነት ቀዳሚው በአገልጋዮች ላይ የሚተገበር ሲሆን ሁለተኛው ደግሞ ለደንበኞች ነው። አገልጋዩ የባህሪ እሴቱን እንዲያነብ ሊፈቀድለት ይችላል፣ነገር ግን ማረጋገጫ ወይም ፍቃድ ሊፈልግ ይችላል። ስለዚህ, ደንበኛው የባህሪውን ባህሪያት ሲጠይቅ, ማንበብ እንደተፈቀደ እንቀበላለን. ለማንበብ ስንሞክር ግን ስህተት ይደርስብናል። ስለዚህ፣ ከንብረቶች ይልቅ ስለ ፈቃዶች ቅድሚያ በጥንቃቄ መነጋገር እንችላለን። በደንበኛው በኩል፣ ባህሪ ስላለው ምን ፈቃዶች ማወቅ አንችልም።

ገላጭ

ወደ ጠረጴዛችን እንመለስ። የባህሪ ዋጋን ካወጁ በኋላ የሚከተሉት የባህሪ መግለጫዎች ሊኖሩ ይችላሉ፡
1. የባህሪዎች አዲስ መግለጫ (አገልግሎት ብዙ ባህሪያት ሊኖረው ይችላል)
2. አዲስ የአገልግሎት መግለጫ (በሠንጠረዡ ውስጥ ብዙዎቹ ሊኖሩ ይችላሉ)
3. እጀታ ማወጅ

የልብ ምት የመለኪያ ባህሪን በተመለከተ, በእኛ ሠንጠረዥ ውስጥ, የባህርይ እሴት መግለጫው ገላጭ መግለጫው አብሮ ይመጣል. ገላጭ ስለ አንድ ባህሪ ተጨማሪ መረጃ ያለው ባህሪ ነው። በርካታ አይነት ገላጭዎች አሉ። በዚህ ጽሑፍ ሁለተኛ ክፍል ውስጥ ስለ እነርሱ በዝርዝር እንነጋገራለን. ለአሁን፣ የደንበኛ ባህሪ ውቅር ገላጭ (CCCD) ላይ ብቻ እንነካለን። ከ0x2902 ጋር እኩል የሆነ UUID አለው። ይህንን ገላጭ በመጠቀም ደንበኛው በአገልጋዩ ላይ ማመላከቻን ወይም ማሳወቂያን የማንቃት ችሎታ አለው። በመካከላቸው ያለው ልዩነት ትንሽ ነው, ግን አሁንም አለ. ማሳወቂያ ከደንበኛው ደረሰኝ ማረጋገጫ አያስፈልገውም. ማመላከቻ ይህንን ይጠይቃል፣ ምንም እንኳን በGATT ደረጃ ቢከሰትም፣ የመተግበሪያ ደረጃ ላይ ባይደርስም። ለምን እንዲህ ትጠይቃለህ? ወዮ, ይህን አላውቅም. የኖርዲክ ኤክስፐርቶች ማሳወቂያዎችን እንዲጠቀሙ ይመክራሉ እላለሁ። ከዚህም በላይ የጥቅሉን ትክክለኛነት ማረጋገጥ (CRCን በመጠቀም) በሁለቱም ሁኔታዎች ይከሰታል.

መደምደሚያ

በጽሁፉ መጨረሻ ላይ ይህን ማለት እፈልጋለሁ. የመጨረሻው ጠረጴዛ ትንሽ ግራ የሚያጋባ ነው. ቢሆንም፣ ስለተሰጠ ነው የመረጥኩት ጽሑፍእኔ የምመካበት። በጽሁፌ ሁለተኛ ክፍል ውስጥ ወደ ብሉቱዝ 4.0 ዝርዝር ውስጥ በጥልቀት ለመፈተሽ አስባለሁ። የበለጠ ትክክለኛ ሥዕላዊ መግለጫዎች እና ሥዕሎች እዚያ ይጠብቁናል። በሶስተኛው ክፍል የ Wireshark ፕሮግራምን በመጠቀም የተገኘውን መዝገብ ከአንዱ መግብሮች ውስጥ መተንተን እና እኛ የምናጠናውን ሁሉንም ንድፈ ሃሳቦች "ቀጥታ" ማየት እፈልጋለሁ.

የኩባንያዎች ቡድን ሰራተኛ "የቄሳር ሳተላይት"
ፔቸርስኪክ ቭላድሚር

ምንጭ: hab.com

አስተያየት ያክሉ