የሲሊኮን ላብስ ሎጎ

SILICON LABS 21Q2 ብሉቱዝ ባህሪያት ቤተ ሙከራ

SILICON LABS 21Q2 ብሉቱዝ ባህሪያት ቤተ ሙከራ

ብሉቱዝ 21Q2 ባህሪያት የላብራቶሪ መመሪያ

ይህ የላብራቶሪ ማኑዋል በ20Q4 እና 21Q2 ልቀት መካከል በተዋወቁት አንዳንድ የብሉቱዝ ኤስዲኬ ባህሪያት ውስጥ ያሳልፍዎታል። በዚህ ላብራቶሪ ውስጥ NCP example እና የአስተናጋጅ ሶፍትዌር በ Python ቋንቋ ይጻፉ። አዲሱን ተለዋዋጭ የGATT ባህሪ በመጠቀም የGATT ውቅረትን ከመጠቀም ይልቅ የGATT ዳታቤዝ ከአስተናጋጅ ሶፍትዌር እንገነባለን። በመጨረሻም የ LE ፓወር መቆጣጠሪያ ባህሪ የአስተናጋጁን ሶፍትዌር በማራዘም ቀርቧል።SILICON LABS 21Q2 የብሉቱዝ ባህሪያት ቤተ ሙከራ 1

ቅድመ-ሁኔታዎች

ይህንን ቤተ ሙከራ ለማጠናቀቅ የሚከተሉትን ያስፈልግዎታል

  • ሁለት ተንደርበርድ BG22s ወይም ሁለት WSTK ከማንኛውም EFR32BG/EFR32MG የሬዲዮ ሰሌዳ ወይም የእነዚህ ድብልቅ
  • ቀላልነት ስቱዲዮ 5 ተጭኗል፣ ከ Gecko SDK v3.2 ጋር ብሉቱዝ ኤስዲኬv3.2ን ጨምሮ
  • Python v3.6 ወይም ከዚያ በኋላ የተጫነበት ፒሲ

ለኤንሲፒ ተግባራዊነት የዒላማ መሣሪያዎችን ማብረቅ

  • የእርስዎን ሁለት የሬዲዮ ሰሌዳዎች ያያይዙ እና ሲምፕሊቲቲ ስቱዲዮ 5 ን ይክፈቱ
  • በአራሚ አስማሚዎች ትር ላይ ካሉት የሬዲዮ ሰሌዳዎች አንዱን ይምረጡ
  • ተመራጭ ኤስዲኬን በኦቨር ላይ ወደ v3.2.0 ያዘጋጁview የማስጀመሪያው ትር view
  • Ex. ክፈትample ፕሮጀክቶች እና ማሳያዎች ትር
  • አዲሱን ብሉቱዝ ያግኙ - NCP ማሳያ።
  • የ NCP ኢላማውን ምስል ወደ ሰሌዳው ለማብረቅ አሂድ የሚለውን ጠቅ ያድርጉ።SILICON LABS 21Q2 የብሉቱዝ ባህሪያት ቤተ ሙከራ 2

(ማስታወሻ፡ ከብሉቱዝ በተቃራኒ - NCP ባዶ፣ ይህ ፕሮጀክት አስቀድሞ የተሰራ GATT የውሂብ ጎታ አያካትትም፣ ነገር ግን ተለዋዋጭ GATT API የነቃ ነው፣ ይህም ለሚቀጥሉት ክፍሎች ቅድመ ሁኔታ ነው)

  • ለሌላው የሬዲዮ ሰሌዳ ተመሳሳይ እርምጃዎችን ይድገሙ።

በ Python ውስጥ የብሉቱዝ አገልጋይ መተግበሪያ መፍጠር

እንደ መጀመር

  • የፒብጋፒ ፓኬጅ የPython ፕሮግራሚንግ ቋንቋን በመጠቀም የBGAPI ትዕዛዞችን ወደ ኢላማው መሳሪያ ከፒሲ የማውጣት እድል ይሰጣል። ይህንን ፓኬጅ ለመጫን በትእዛዝ መስመሩ ውስጥ የሚከተለውን ይተይቡ፡ ፒፕ ፕይብጋፒን ይጫኑ ስለ ጥቅሉ ጉብኝት ለበለጠ መረጃ https://pypi.org/project/pybgapi/
  • የቅርብ ጊዜውን የBGAPI ትርጉም አግኝ file ስር
  • C:\SiliconLabs\SimplicityStudio\v5\developer\sdks\gecko_sdk_suite\v3.2.0\protocol\bluetooth\api\sl_bt.xapi እና ወደ የስራ ማህደርህ ገልብጠው።
  • የ python bashን ይክፈቱ (በ CLI ውስጥ python ይተይቡ)
  • bgapi ላይብረሪውን በሚከተለው ትእዛዝ አስመጣ፡ >>> bgapi አስመጣ
  • ከአንዱ የራዲዮ ሰሌዳዎችዎ የ COM ወደብ ቁጥር (ለምሳሌ COM49) ያግኙ። በመሣሪያ አስተዳዳሪው ውስጥ ወይም በሚወዱት ተርሚናል መተግበሪያ ውስጥ “JLink CDC UART Port”ን መፈለግ አለብዎት።SILICON LABS 21Q2 የብሉቱዝ ባህሪያት ቤተ ሙከራ 3
  • ከሬዲዮ ሰሌዳዎ ጋር ይገናኙ፡
    • >>> ግንኙነት = bgapi.SerialConnector('COM49')
  • ለዚህ መስቀለኛ መንገድ የpybgapi ቤተ-መጽሐፍትን ያስጀምሩ፡-
    • >>> መስቀለኛ መንገድ = bgapi.BGLib(ግንኙነት፣'sl_bt.xapi')
  • ወደዚህ መስቀለኛ መንገድ የBGAPI ግንኙነትን ይክፈቱ፡-
    • >>> node.open()
  • የስርዓት_ሄሎ() ትዕዛዝን በመጠቀም ከቦርዱ ጋር መገናኘት መቻልዎን ያረጋግጡ። የስርዓት_ሠላም ምላሽ ማግኘት አለቦት፡-
    • >>> node.bt.system.ሠላም()
      • bt_rsp_system_ሠላም(ውጤት=0)
  • መስቀለኛ መንገድዎን በሚከተለው ትዕዛዝ ዳግም ያስጀምሩ፡
    • node.bt.system.reset(0)
  • አሁን የስርዓት_ቡት ክስተት ማግኘት አለቦት። የቅርብ ጊዜውን ክስተት ለማምጣት የሚከተለውን ትዕዛዝ ይጠቀሙ፡-
    • evt = node.get_events(max_events=1)
    • ማተም (ኢ.ቪ.)
      • [bt_evt_system_boot(ዋና=3፣ ጥቃቅን=2፣ patch=0፣ build=774፣ bootloader=17563648፣ hw=1፣ hash=1181938724)]

GATT የውሂብ ጎታ መገንባት

  • የብሉቱዝ - የኤንሲፒ ኢላማ መተግበሪያ አስቀድሞ የተሰራ GATT የውሂብ ጎታ አያካትትም። እዚህ የውሂብ ጎታውን ከኮድ እንገነባለን. በመጀመሪያ የውሂብ ጎታ ግንባታ ክፍለ ጊዜ ይጀምሩ፡-
    • >>> ክፍለ ጊዜ = node.bt.gattdb.new_session () ክፍለ ጊዜ
  • ወደ GATT የውሂብ ጎታ አዲስ አገልግሎት ያክሉ። እዚህ በብሉቱዝ SIG የተቀበለውን አጠቃላይ ተደራሽነት አገልግሎት እንጨምራለን ። ይህ የመጀመሪያ ደረጃ አገልግሎት (0x0) ምንም ባንዲራ ያልተዘጋጀ (0x0) እና 16 ቢት UUID (0x1800) ያለው ነው።
    • አገልግሎት = node.bt.gattdb.add_አገልግሎት (ክፍለ ጊዜ, 0, 0, ባይት.fromhex ("0018")).አገልግሎት.
  • ለአገልግሎቱ አዲስ ባህሪ ያክሉ። እዚህ የመሣሪያ ስም ባህሪን ወደ አጠቃላይ ተደራሽነት አገልግሎት ከ READ ንብረት (0x2) ጋር እንጨምራለን ፣ ምንም የደህንነት መስፈርቶች (0x0) ፣ ምንም ባንዲራዎች (0x0) ፣ 16 ቢት UUID (0x2a00) ፣ ተለዋዋጭ ርዝመት (0x2) ፣ ከፍተኛው 20 እና ከ “PyBGAPI የመጀመሪያ እሴት ጋር

Example":

  • >>> ቻር = node.bt.gattdb.add_uuid16_ባህሪ(ክፍለ-ጊዜ፣ አገልግሎት፣ 2፣ 0፣ 0፣ ባይትስ.fromhex('002a')፣ 2፣
    • 20፣ ባይት('PyBGAPI Example','utf-8′))) ባህሪ
    • 3.15 አዲሱን አገልግሎት ያግብሩ፡-
  • >>> node.bt.gattdb.start_አገልግሎት (ክፍለ ጊዜ፣ አገልግሎት)
    • bt_rsp_gattdb_start_አገልግሎት(ውጤት=0)
  • አዲሱን ባህሪ ያግብሩ፡-
    • >>> node.bt.gattdb.start_ባህሪ(ክፍለ-ጊዜ፣ ቻር)
      • bt_rsp_gattdb_ጀምር_ባህሪ(ውጤት=0)
  • ለውጦችን ያስቀምጡ እና የውሂብ ጎታ አርትዖት ክፍለ ጊዜን ይዝጉ፡
    • >>> node.bt.gattdb.commit(ክፍለ ጊዜ)
    • bt_rsp_gattdb_commit(ውጤት=0)

ከአገልጋዩ ጋር በመገናኘት ላይ

  • 3.18 አሁን በ GATT ዳታቤዝ ውስጥ የመሳሪያ ስም ስላለን ማስታወቂያ መጀመር እንችላለን። ቁልል መሳሪያውን በGATT የውሂብ ጎታ ውስጥ በተገለጸው ስም በራስ-ሰር ያስተዋውቃል፡-
    • >>> አስተዋዋቂ_ስብስብ = node.bt.advertiser.create_set().handle
    • >>> node.bt.advertiser.start(አስተዋዋቂ_ስብስብ፣2፣2)
      • bt_rsp_advertiser_start(ውጤት=0)
  • በስልክዎ ላይ EFR Connect ን ያስጀምሩ እና የመሣሪያዎን ማስታወቂያ እንደ «PyBGAPI Exampለ ”
  • ከመሳሪያው ጋር መገናኘት እና የ GATT የውሂብ ጎታውን አሁን የመሣሪያ ስም ባህሪ ያለው ማግኘት ይችላሉ።

ማስታወሻ: በጣም ፈጣን የቀድሞ ከፈለጉample GATT ዳታቤዝ ጋር ሳይጨነቁ አሁንም ብሉቱዝ ብልጭታ ይችላሉ - NCP ባዶ exampመሰረታዊ አስቀድሞ የተሰራ GATT ዳታቤዝ ያለው ለቦርድዎ። በዚህ ሁኔታ በአስተናጋጁ በኩል ማድረግ ያለብዎት-

  • >>> bgapi አስመጣ
  • >>> ግንኙነት = bgapi.SerialConnector('COM49')
  • >>> መስቀለኛ መንገድ = bgapi.BGLib(ግንኙነት፣'sl_bt.xapi')
  • >>> node.open()
  • >>> አስተዋዋቂ_ስብስብ = node.bt.advertiser.create_set().handle
  • >>> node.bt.advertiser.start(አስተዋዋቂ_ስብስብ፣2፣2)
    • bt_rsp_advertiser_start(ውጤት=0)

በ Python ውስጥ የብሉቱዝ ደንበኛ መተግበሪያ መፍጠር

  • ደንበኛን መፍጠር አገልጋይን ከመተግበር የበለጠ የተወሳሰበ ነው። ስለዚህ የፓይቶን ስክሪፕት እንጽፋለን። የእርስዎን ተወዳጅ የጽሑፍ አርታዒ ይክፈቱ እና አዲስ ይፍጠሩ file, ደንበኛ እንበለው.py
  • የሚከተሉትን አስገባ፡SILICON LABS 21Q2 የብሉቱዝ ባህሪያት ቤተ ሙከራ 4
  • ልክ እንደ አገልጋዩ ሁኔታ, በ UART በኩል ወደ መስቀለኛ መንገድ እንገናኛለን. የሁለተኛ ሰሌዳዎን የ COM ወደብ ቁጥር እዚህ ይጠቀሙ፡-SILICON LABS 21Q2 የብሉቱዝ ባህሪያት ቤተ ሙከራ 5
  • ከዚህ በመነሳት የእኛ መተግበሪያ በክስተት ይመራል። በቁልል የብሉቱዝ ክስተት በተፈጠረ ቁጥር ክስተቱን እንይዛለን እና መተግበሪያውን እናስተላልፋለን።SILICON LABS 21Q2 የብሉቱዝ ባህሪያት ቤተ ሙከራ 6
  • የክስተት ተቆጣጣሪውን ተግባር እንገልፀው እና ለስርዓት_ቡት ክስተት ተቆጣጣሪ እንጨምር፣ እዚያም ለዳር ዳር መሳሪያዎች መቃኘት የምንጀምርበት። ልብ ይበሉ, ይህ ተግባር ከሂደቱ ዑደት በፊት (እና የመስቀለኛ ተለዋዋጭ ፍቺ ከተሰጠ በኋላ) መገለጽ አለበት.SILICON LABS 21Q2 ብሉቱዝ ባህሪያት ቤተ ሙከራ 7.
  • ስካነሩ አንዴ ከተጀመረ መስቀለኛ መንገዱ የስካን ሪፖርቶችን ይቀበላል። በsl_bt_on_event() ተግባር ውስጥ የክስተት ተቆጣጣሪን ለቃኝ ሪፖርቶች እንጨምር። የፍተሻ ዘገባ ከተገኘ በማስታወቂያ መሳሪያው ስም «PyBGAPI Example”፣ ደንበኛው ከዚያ መሣሪያ ጋር ግንኙነት ይከፍታል፡- SILICON LABS 21Q2 የብሉቱዝ ባህሪያት ቤተ ሙከራ 7
  • አንዴ እዚህ ደረጃ ላይ ከደረሱ ደንበኛዎ አገልጋዩን እንዳገኘ ማረጋገጥ ተገቢ ነው። ማስታወቂያውን በሌላኛው መሳሪያ ላይ መጀመራችሁን አረጋግጡ እና ከዛ client.pyን አስቀምጡ እና ከትዕዛዝ መስመሩ ጀምር። እንደዚህ ያለ ነገር ማየት አለብዎት: SILICON LABS 21Q2 የብሉቱዝ ባህሪያት ቤተ ሙከራ 8
  • ደንበኛው በአገልጋዩ ላይ አገልግሎቶችን እና ባህሪያትን ማግኘት አለበት። እዚህ የአጠቃላይ መዳረሻ አገልግሎትን እና የመሳሪያውን ስም ባህሪ እናገኛለን እና በመጨረሻም የመሳሪያውን ስም ባህሪ ዋጋ እናነባለን። የአሁኑን sl_bt_on_event() ተግባር በሚከተለው ኮድ ይተኩ፡SILICON LABS 21Q2 የብሉቱዝ ባህሪያት ቤተ ሙከራ 9 SILICON LABS 21Q2 የብሉቱዝ ባህሪያት ቤተ ሙከራ 10
  • ደንበኛን ያስቀምጡ እና ከትእዛዝ መስመሩ ይጀምሩ። እንደዚህ ያለ ነገር ማየት አለብዎት:SILICON LABS 21Q2 የብሉቱዝ ባህሪያት ቤተ ሙከራ 11

የLE ኃይል መቆጣጠሪያ ባህሪን ማከል

የዒላማ መሳሪያዎች ብልጭ ድርግም

የLE ኃይል መቆጣጠሪያ በብሉቱዝ ውስጥ አልነቃም።ample ፕሮጀክቶች በነባሪ. ይህንን ባህሪ ለመጨመር ብሉቱዝ > ባህሪ > PowerControl ሶፍትዌር አካል መጫን አለበት።

  • አስጀማሪውን ይክፈቱ view ቀላልነት ስቱዲዮ 5.
  • በአራሚ አስማሚዎች ትር ውስጥ ካሉ መሳሪያዎችዎ ውስጥ አንዱን ይምረጡ። የሚመረጠው ኤስዲኬ v3.2 መሆኑን ያረጋግጡ።
  • Ex. ክፈትampየፕሮጀክቶች እና ማሳያዎች ትር እና ብሉቱዝ ያግኙ - NCP ባዶ exampለ. ፕሮጀክቱን ለመፍጠር [ፍጠር]ን ይጫኑ። (በዚህ ጊዜ የGATT ዳታቤዝ መገንባት አንፈልግም፣ ስለዚህ NCP Emptyን እንጠቀማለን፣ እሱም ነባሪ አለው።)
  • የGATT ኮንፊገሬተር ትሩን ይክፈቱ፣የመሳሪያውን ስም ባህሪ ይምረጡ እና “Silabs Example" የመጀመሪያ እሴት ከ"PyBGAPI Example” (ደንበኛው አገልጋዩን እንዲያውቅ)። እንዲሁም የእሴቱን ርዝመት በ15 ይፃፉ።
  • የውሂብ ጎታውን ለማስቀመጥ ctrl-s ን ይጫኑ።
  • በፕሮጀክት አዋቅር ውስጥ የሶፍትዌር አካላት ትርን ይክፈቱ።
  • ብሉቱዝ > ባህሪ > የPowerControl ሶፍትዌር አካልን ያግኙ እና [ጫን]ን ጠቅ ያድርጉ።SILICON LABS 21Q2 የብሉቱዝ ባህሪያት ቤተ ሙከራ 12
  • የወርቅ ክልልን የላይኛው እና የታችኛውን ወሰን ለመፈተሽ ከፓወር ኮንትሮልሶፍትዌር ክፍል ቀጥሎ ባለው ኮግዊል ላይ ጠቅ ያድርጉ። ዝቅተኛውን ገደብ ለ 1 ሚ
    • PHY እስከ -45 (ከ -60 ይልቅ)። ምንም እንኳን በተግባር ይህ ዋጋ በጣም ጥሩ ባይሆንም, ተጨማሪ የ Tx የኃይል ማስተካከያዎችን ያመጣል, ይህም ለዕይታ ዓላማዎች ጥሩ ነው.
  • በኤስዲኬ ስሪት 3.2.0፣ ወርቃማውን ክልል በትክክል ለማዘጋጀት ትንሽ መፍትሄ መተግበር አለበት፡ sl_bluetooth.cን ይክፈቱ። file በፕሮጀክትዎ / autogen አቃፊ ውስጥ ተገኝቷል እና sl_bt_init_power_control () ያንቀሳቅሱ; የተግባር ጥሪ BEFORE sl_bt_init_stack (&config);SILICON LABS 21Q2 የብሉቱዝ ባህሪያት ቤተ ሙከራ 13
  • ፕሮጀክቱን ይገንቡ እና ወደ ሰሌዳዎ ያብሩት።
  • ሁለቱ ቦርዶችዎ አንድ አይነት ከሆኑ ተመሳሳይ ምስል ወደ ሌላኛው ሰሌዳ ያብሩት። ሁለተኛው ሰሌዳዎ የተለየ ሰሌዳ ከሆነ, ከዚያም ከላይ ያሉትን ደረጃዎች ለሁለተኛው ሰሌዳ ይድገሙት.

አገልጋዩን እና ደንበኛው በመጀመር ላይ

  • አሁን እንደገና የ Python bashን ይክፈቱ፣ ከመጀመሪያው ሰሌዳዎ ጋር ይገናኙ እና ማስታወቂያ ይጀምሩSILICON LABS 21Q2 የብሉቱዝ ባህሪያት ቤተ ሙከራ 14
  • የመሳሪያውን ስም ካነበቡ በኋላ እንዳይወጣ የደንበኛ መተግበሪያዎን ይቀይሩት። የሚከተሉትን መስመሮች ይፈልጉ እና በአስተያየት ውስጥ ያስገቡ።SILICON LABS 21Q2 የብሉቱዝ ባህሪያት ቤተ ሙከራ 15
  • የደንበኛ መተግበሪያዎን ያስቀምጡ እና ያሂዱ
    • py .\ደንበኛ.py
  • Place your two boards far away, then slowly move them closer to each other. Now you should see that the stack starts decreasing its power level from the default 8dBm down to -3dBm (which isthe minimal Tx power by default):SILICON LABS 21Q2 የብሉቱዝ ባህሪያት ቤተ ሙከራ 16

ሰነዶች / መርጃዎች

SILICON LABS 21Q2 ብሉቱዝ ባህሪያት ቤተ ሙከራ [pdf] መመሪያ መመሪያ
21Q2፣ የብሉቱዝ ባህሪያት ቤተ-ሙከራ፣ 21Q2 የብሉቱዝ ባህሪያት ቤተ-ሙከራ፣ የባህሪዎች ቤተ-ሙከራ፣ ቤተ-ሙከራ

ዋቢዎች

አስተያየት ይስጡ

የኢሜል አድራሻዎ አይታተምም። አስፈላጊ መስኮች ምልክት ተደርጎባቸዋል *