ໂລໂກ້ຂອງຫ້ອງທົດລອງຊິລິຄອນ

SILICON LABS 21Q2 Bluetooth Features Lab

SILICON LABS 21Q2 Bluetooth Features Lab

ຄູ່​ມື​ການ​ທົດ​ລອງ​ຄຸນ​ນະ​ສົມ​ບັດ Bluetooth 21Q2

ຄູ່ມືຫ້ອງທົດລອງນີ້ນໍາທ່ານຜ່ານບາງຄຸນສົມບັດ Bluetooth SDK ໃໝ່ທີ່ໄດ້ຖືກນໍາສະເຫນີລະຫວ່າງການປ່ອຍ 20Q4 ແລະ 21Q2. ໃນຫ້ອງທົດລອງນີ້ພວກເຮົາຈະສ້າງ NCP example ແລະຂຽນຊອບແວໂຮດໃນພາສາ Python. ການນໍາໃຊ້ຄຸນສົມບັດ GATT ແບບເຄື່ອນໄຫວໃຫມ່ພວກເຮົາຈະສ້າງຖານຂໍ້ມູນ GATT ຈາກຊອບແວໂຮດແທນທີ່ຈະໃຊ້ GATT Configurator. ສຸດທ້າຍ LE ຄຸນນະສົມບັດການຄວບຄຸມພະລັງງານໄດ້ຖືກນໍາສະເຫນີໂດຍການຂະຫຍາຍຊອບແວໂຮດ.SILICON LABS 21Q2 Bluetooth Features Lab 1

ເງື່ອນໄຂເບື້ອງຕົ້ນ

ເພື່ອເຮັດສໍາເລັດຫ້ອງທົດລອງນີ້, ທ່ານຈະຕ້ອງການດັ່ງຕໍ່ໄປນີ້:

  • ສອງ Thunderboard BG22s ຫຼືສອງ WSTKs ທີ່ມີກະດານວິທະຍຸ EFR32BG/EFR32MG ຫຼືການປະສົມຂອງສິ່ງເຫຼົ່ານີ້.
  • Simplicity Studio 5 ຕິດຕັ້ງ, ມີ Gecko SDK v3.2 ລວມທັງ Bluetooth SDKv3.2
  • PC ທີ່ຕິດຕັ້ງ Python v3.6 ຫຼືໃໝ່ກວ່ານັ້ນ

ການກະພິບອຸປະກອນເປົ້າໝາຍສຳລັບຟັງຊັນ NCP

  • ແນບສອງກະດານວິທະຍຸຂອງເຈົ້າແລະເປີດ Simplicity Studio 5
  • ເລືອກຫນຶ່ງໃນກະດານວິທະຍຸຢູ່ໃນແຖບ Debug Adapters
  • ຕັ້ງ SDK ທີ່ຕ້ອງການເປັນ v3.2.0 ໃນ Overview ແຖບຂອງ Launcher view
  • ເປີດ Example Projects & Demos tab
  • ຊອກຫາ Bluetooth ໃໝ່ – NCP demo.
  • ກົດແລ່ນເພື່ອກະພິບຮູບພາບເປົ້າໝາຍ NCP ໃສ່ກະດານ.SILICON LABS 21Q2 Bluetooth Features Lab 2

(ຫມາຍເຫດ: ກົງກັນຂ້າມກັບ Bluetooth – NCP ຫວ່າງເປົ່າ, ໂຄງການນີ້ບໍ່ລວມເອົາຖານຂໍ້ມູນ GATT ທີ່ສ້າງຂຶ້ນກ່ອນ, ແຕ່ມັນມີ GATT API ເຄື່ອນໄຫວ, ເຊິ່ງແມ່ນເງື່ອນໄຂເບື້ອງຕົ້ນສໍາລັບພາກສ່ວນຕໍ່ໄປ)

  • ເຮັດຊ້ໍາຂັ້ນຕອນດຽວກັນສໍາລັບກະດານວິທະຍຸອື່ນໆ.

ການສ້າງແອັບພລິເຄຊັນ Bluetooth Server ໃນ Python

ການເລີ່ມຕົ້ນ

  • ຊຸດ pybgapi ສະຫນອງຄວາມເປັນໄປໄດ້ໃນການອອກຄໍາສັ່ງ BGAPI ໄປຫາອຸປະກອນເປົ້າຫມາຍດັ່ງກ່າວຈາກ PC ໂດຍໃຊ້ພາສາການຂຽນໂປລແກລມ Python. ການຕິດຕັ້ງແພັກເກັດນີ້ໃຫ້ພິມຕໍ່ໄປນີ້ໃນແຖວຄໍາສັ່ງ: pip ຕິດຕັ້ງ pybgapi ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບການໄປຢ້ຽມຢາມແພັກເກັດ 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 (ພິມ python ໃນ CLI)
  • ນໍາເຂົ້າຫ້ອງສະຫມຸດ bgapi ດ້ວຍຄໍາສັ່ງຕໍ່ໄປນີ້: >>> ນໍາເຂົ້າ bgapi
  • ຊອກຫາໝາຍເລກຜອດ COM (ເຊັ່ນ: COM49) ຂອງໜຶ່ງໃນກະດານວິທະຍຸຂອງເຈົ້າ. ທ່ານຄວນຊອກຫາ “JLink CDC UART Port” ໃນ Device Manager ຫຼືໃນແອັບ Terminal ທີ່ທ່ານມັກ.SILICON LABS 21Q2 Bluetooth Features Lab 3
  • ເຊື່ອມຕໍ່ກັບກະດານວິທະຍຸຂອງທ່ານ:
    • >>> ການເຊື່ອມຕໍ່ = bgapi.SerialConnector('COM49')
  • ເລີ່ມຕົ້ນຫ້ອງສະຫມຸດ pybgapi ສໍາລັບ node ນີ້:
    • >>> node = bgapi.BGLib(ການເຊື່ອມຕໍ່,'sl_bt.xapi')
  • ເປີດການສື່ສານ BGAPI ໄປຫາ node ນີ້:
    • >>> node.open()
  • ກວດເບິ່ງວ່າທ່ານສາມາດສື່ສານກັບຄະນະໄດ້, ໂດຍໃຊ້ຄໍາສັ່ງ system_hello(). ທ່ານຄວນຈະໄດ້ຮັບການຕອບ system_hello:
    • >>> node.bt.system.hello()
      • bt_rsp_system_hello(ຜົນໄດ້ຮັບ=0)
  • ຣີເຊັດໂນດຂອງທ່ານດ້ວຍຄຳສັ່ງຕໍ່ໄປນີ້:
    • node.bt.system.reset(0)
  • ໃນປັດຈຸບັນທ່ານຄວນໄດ້ຮັບເຫດການ system_boot. ເພື່ອດຶງເອົາເຫດການຫຼ້າສຸດ, ໃຊ້ຄໍາສັ່ງຕໍ່ໄປນີ້:
    • evt = node.get_events(max_events=1)
    • ພິມ(evt)
      • [bt_evt_system_boot(major=3, minor=2, patch=0, build=774, bootloader=17563648, hw=1, hash=1181938724)]

ການສ້າງຖານຂໍ້ມູນ GATT

  • ແອັບຯເປົ້າໝາຍ Bluetooth – NCP ບໍ່ລວມເອົາຖານຂໍ້ມູນ GATT ທີ່ສ້າງມາກ່ອນ. ໃນທີ່ນີ້ພວກເຮົາຈະສ້າງຖານຂໍ້ມູນຈາກລະຫັດ. ທໍາອິດເລີ່ມຕົ້ນກອງປະຊຸມສໍາລັບການກໍ່ສ້າງຖານຂໍ້ມູນ:
    • >>> session = node.bt.gattdb.new_session().session
  • ເພີ່ມການບໍລິການໃຫມ່ໃສ່ຖານຂໍ້ມູນ GATT. ໃນທີ່ນີ້ພວກເຮົາຈະເພີ່ມການບໍລິການການເຂົ້າເຖິງທົ່ວໄປທີ່ຮັບຮອງເອົາໂດຍ Bluetooth SIG. ນີ້​ແມ່ນ​ການ​ບໍ​ລິ​ການ​ຕົ້ນ​ຕໍ (0x0​) ທີ່​ບໍ່​ມີ​ການ​ຕັ້ງ​ຄ່າ (0x0​) ແລະ​ມີ 16bit UUID (0x1800​)​.
    • service = node.bt.gattdb.add_service(session, 0, 0, bytes.fromhex(“0018”)).service
  • ເພີ່ມລັກສະນະໃຫມ່ໃຫ້ກັບການບໍລິການ. ໃນທີ່ນີ້ພວກເຮົາຈະເພີ່ມລັກສະນະຊື່ອຸປະກອນໃຫ້ກັບບໍລິການການເຂົ້າເຖິງທົ່ວໄປທີ່ມີຄຸນສົມບັດ READ (0x2), ບໍ່ມີຄວາມຕ້ອງການຄວາມປອດໄພ (0x0), ບໍ່ມີທຸງ (0x0), 16bit UUID (0x2a00), ຄວາມຍາວຕົວແປ (0x2), ຄວາມຍາວສູງສຸດຂອງ 20 ແລະ ດ້ວຍຄ່າເບື້ອງຕົ້ນຂອງ “PyBGAPI

Example”:

  • >>> char = node.bt.gattdb.add_uuid16_characteristic(session, service, 2, 0, 0, bytes.fromhex('002a'), 2,
    • 20, bytes('PyBGAPI Example','utf-8′)).ລັກສະນະ
    • 3.15 ເປີດໃຊ້ບໍລິການໃໝ່:
  • >>> node.bt.gattdb.start_service(session,service)
    • bt_rsp_gattdb_start_service(ຜົນໄດ້ຮັບ=0)
  • ເປີດໃຊ້ຄຸນສົມບັດໃໝ່:
    • >>> node.bt.gattdb.start_characteristic(session, char)
      • bt_rsp_gattdb_start_characteristic(ຜົນໄດ້ຮັບ=0)
  • ບັນທຶກການປ່ຽນແປງ ແລະປິດເຊດຊັນການແກ້ໄຂຖານຂໍ້ມູນ:
    • >>> node.bt.gattdb.commit(session)
    • bt_rsp_gattdb_commit(ຜົນໄດ້ຮັບ=0)

ກຳລັງເຊື່ອມຕໍ່ກັບເຊີບເວີ

  • 3.18 ໃນປັດຈຸບັນທີ່ພວກເຮົາມີຊື່ອຸປະກອນໃນຖານຂໍ້ມູນ GATT, ພວກເຮົາສາມາດເລີ່ມຕົ້ນການໂຄສະນາ. stack ອັດຕະໂນມັດຈະໂຄສະນາອຸປະກອນທີ່ມີຊື່ທີ່ກໍານົດໄວ້ໃນຖານຂໍ້ມູນ GATT ຂອງຕົນ:
    • >>> advertiser_set = node.bt.advertiser.create_set().handle
    • >>> node.bt.advertiser.start(advertiser_set, 2, 2)
      • bt_rsp_advertiser_start(ຜົນໄດ້ຮັບ=0)
  • ເລີ່ມ EFR Connect ໃນໂທລະສັບຂອງທ່ານ, ແລະຊອກຫາການໂຄສະນາອຸປະກອນຂອງທ່ານເປັນ “PyBGAPI Example”
  • ທ່ານສາມາດເຊື່ອມຕໍ່ກັບອຸປະກອນແລະຄົ້ນພົບຖານຂໍ້ມູນ GATT ຂອງມັນເຊິ່ງປະຈຸບັນມີລັກສະນະຊື່ອຸປະກອນ

ຫມາຍ​ເຫດ​: ຖ້າ​ຫາກ​ວ່າ​ທ່ານ​ຕ້ອງ​ການ ex ໄວ​ຫຼາຍ​ample ໂດຍບໍ່ມີການລົບກວນກັບຖານຂໍ້ມູນ GATT, ທ່ານຍັງສາມາດ flash Bluetooth ໄດ້ - NCP Empty exampໄປທີ່ກະດານຂອງທ່ານ, ເຊິ່ງມີຖານຂໍ້ມູນ GATT ທີ່ສ້າງຂຶ້ນກ່ອນ. ໃນກໍລະນີນີ້ທັງຫມົດທີ່ທ່ານຕ້ອງເຮັດຢູ່ໃນຝ່າຍເຈົ້າພາບແມ່ນ:

  • >>> ນໍາເຂົ້າ bgapi
  • >>> ການເຊື່ອມຕໍ່ = bgapi.SerialConnector('COM49')
  • >>> node = bgapi.BGLib(ການເຊື່ອມຕໍ່,'sl_bt.xapi')
  • >>> node.open()
  • >>> advertiser_set = node.bt.advertiser.create_set().handle
  • >>> node.bt.advertiser.start(advertiser_set, 2, 2)
    • bt_rsp_advertiser_start(ຜົນໄດ້ຮັບ=0)

ການສ້າງແອັບພລິເຄຊັນລູກຄ້າ Bluetooth ໃນ Python

  • ການສ້າງລູກຄ້າແມ່ນສັບສົນຫຼາຍກ່ວາການປະຕິບັດເຄື່ອງແມ່ຂ່າຍ. ດັ່ງນັ້ນພວກເຮົາຈະຂຽນ script python. ເປີດຕົວແກ້ໄຂຂໍ້ຄວາມທີ່ທ່ານມັກ ແລະສ້າງອັນໃໝ່ file, ໃຫ້ໂທຫາມັນ client.py
  • ນໍາເຂົ້າດັ່ງຕໍ່ໄປນີ້:SILICON LABS 21Q2 Bluetooth Features Lab 4
  • ຄືກັນກັບໃນກໍລະນີຂອງເຄື່ອງແມ່ຂ່າຍ, ພວກເຮົາຈະເຊື່ອມຕໍ່ກັບ node ຜ່ານ UART. ໃຊ້ໝາຍເລກພອດ COM ຂອງກະດານທີສອງຂອງເຈົ້າຢູ່ທີ່ນີ້:SILICON LABS 21Q2 Bluetooth Features Lab 5
  • ຈາກທີ່ນີ້, ຄໍາຮ້ອງສະຫມັກຂອງພວກເຮົາຈະຖືກຂັບເຄື່ອນເຫດການ. ເມື່ອໃດກໍ່ຕາມເຫດການ Bluetooth ຖືກສ້າງຂຶ້ນໂດຍ stack, ພວກເຮົາຈະຈັດການເຫດການແລະສົ່ງຕໍ່ແອັບພລິເຄຊັນ:SILICON LABS 21Q2 Bluetooth Features Lab 6
  • ໃຫ້ກໍານົດຟັງຊັນຕົວຈັດການເຫດການແລະເພີ່ມຕົວຈັດການສໍາລັບເຫດການ system_boot, ບ່ອນທີ່ພວກເຮົາຈະເລີ່ມຕົ້ນການສະແກນສໍາລັບອຸປະກອນຕໍ່ຂ້າງ. ໝາຍເຫດ, ຟັງຊັນນີ້ຄວນຈະຖືກກຳນົດກ່ອນ while loop (ແລະຫຼັງຈາກຄຳນິຍາມຂອງຕົວແປຂອງ node).SILICON LABS 21Q2 Bluetooth Features Lab 7.
  • ເມື່ອເຄື່ອງສະແກນເລີ່ມຕົ້ນ, node ຈະໄດ້ຮັບລາຍງານການສະແກນ. ໃຫ້ເພີ່ມຕົວຈັດການເຫດການສໍາລັບການສະແກນລາຍງານພາຍໃນຟັງຊັນ sl_bt_on_event(). ຖ້າພົບລາຍງານການສະແກນດ້ວຍຊື່ອຸປະກອນທີ່ໂຄສະນາ “PyBGAPI Example”, ລູກຄ້າຈະເປີດການເຊື່ອມຕໍ່ໄປຫາອຸປະກອນນັ້ນ: SILICON LABS 21Q2 Bluetooth Features Lab 7
  • ເມື່ອທ່ານມາຮອດຈຸດນີ້, ມັນເປັນມູນຄ່າການກວດສອບວ່າລູກຄ້າຂອງທ່ານພົບເຄື່ອງແມ່ຂ່າຍ. ໃຫ້ແນ່ໃຈວ່າ, ວ່າທ່ານໄດ້ເລີ່ມຕົ້ນການໂຄສະນາໃນອຸປະກອນອື່ນ, ຫຼັງຈາກນັ້ນບັນທຶກ client.py, ແລະເລີ່ມຕົ້ນມັນຈາກເສັ້ນຄໍາສັ່ງ. ທ່ານຄວນເບິ່ງບາງສິ່ງບາງຢ່າງເຊັ່ນນີ້: SILICON LABS 21Q2 Bluetooth Features Lab 8
  • ລູກຄ້າຕ້ອງຄົ້ນພົບການບໍລິການ ແລະຄຸນລັກສະນະຕ່າງໆໃນເຊີບເວີ. ໃນທີ່ນີ້ພວກເຮົາຈະຄົ້ນພົບການບໍລິການ Generic Access ແລະລັກສະນະຊື່ອຸປະກອນ, ແລະສຸດທ້າຍໄດ້ອ່ານອອກມູນຄ່າຂອງລັກສະນະຂອງຊື່ອຸປະກອນ. ແທນທີ່ຟັງຊັນ sl_bt_on_event() ປັດຈຸບັນຂອງທ່ານດ້ວຍລະຫັດຕໍ່ໄປນີ້:SILICON LABS 21Q2 Bluetooth Features Lab 9 SILICON LABS 21Q2 Bluetooth Features Lab 10
  • ບັນທຶກ client.py ແລະເລີ່ມຕົ້ນມັນຈາກແຖວຄໍາສັ່ງ. ທ່ານຄວນເບິ່ງບາງສິ່ງບາງຢ່າງເຊັ່ນນີ້:SILICON LABS 21Q2 Bluetooth Features Lab 11

ເພີ່ມຄຸນສົມບັດການຄວບຄຸມພະລັງງານ LE

ກະພິບອຸປະກອນເປົ້າໝາຍ

LE Power Control ບໍ່ໄດ້ເປີດໃຊ້ໃນ Bluetooth example ໂຄງການໂດຍຄ່າເລີ່ມຕົ້ນ. ເພື່ອເພີ່ມຄຸນສົມບັດນີ້, ຕ້ອງຕິດຕັ້ງ Bluetooth > ຄຸນສົມບັດ > ອົງປະກອບຊອບແວ PowerControl.

  • ເປີດ launcher ໄດ້ view ຂອງ Simplicity Studio 5.
  • ເລືອກໜຶ່ງໃນອຸປະກອນຂອງທ່ານຢູ່ໃນແຖບ Debug Adapters. ໃຫ້ແນ່ໃຈວ່າ SDK ທີ່ຕ້ອງການແມ່ນ v3.2.
  • ເປີດ Example Projects & Demos tab ແລະຊອກຫາ Bluetooth – NCP Empty exampເລ. ກົດ [Create] ເພື່ອສ້າງໂຄງການ. (ເວລານີ້ພວກເຮົາບໍ່ຕ້ອງການສ້າງຖານຂໍ້ມູນ GATT, ດັ່ງນັ້ນພວກເຮົາໃຊ້ NCP Empty, ເຊິ່ງມີຄ່າເລີ່ມຕົ້ນ.)
  • ເປີດແຖບ GATT Configurator, ເລືອກລັກສະນະຊື່ອຸປະກອນ, ແລະຂຽນທັບ “Silabs Example” ຄ່າເບື້ອງຕົ້ນກັບ “PyBGAPI Example” (ດັ່ງນັ້ນລູກຄ້າຈະຮັບຮູ້ເຄື່ອງແມ່ຂ່າຍ). ຂຽນທັບຄວາມຍາວຄ່າດ້ວຍ 15.
  • ກົດ ctrl-s ເພື່ອບັນທຶກຖານຂໍ້ມູນ.
  • ໃນໂປແກມ Configurator ເປີດແຖບອົງປະກອບຊອບແວ.
  • ຊອກຫາ Bluetooth > ຄຸນສົມບັດ > ອົງປະກອບຊອບແວ PowerControl, ແລະຄລິກ [ຕິດຕັ້ງ]SILICON LABS 21Q2 Bluetooth Features Lab 12
  • ໃຫ້ຄລິກໃສ່ cogwheel ຖັດຈາກອົງປະກອບ PowerControlsoftware ເພື່ອກວດເບິ່ງຂອບເຂດຈໍາກັດເທິງແລະຕ່ໍາຂອງລະດັບທອງ. ກໍານົດຂອບເຂດຈໍາກັດຕ່ໍາສໍາລັບ 1M
    • PHY ຫາ -45 (ແທນ -60). ເຖິງແມ່ນວ່າໃນການປະຕິບັດຄ່ານີ້ແມ່ນບໍ່ເຫມາະສົມ, ມັນຈະສົ່ງຜົນໃຫ້ມີການປັບພະລັງງານ Tx ຫຼາຍຂຶ້ນ, ເຊິ່ງເປັນສິ່ງທີ່ດີສໍາລັບຈຸດປະສົງການສາທິດ.
  • ໃນ SDK ເວີຊັ່ນ 3.2.0, ຈໍາເປັນຕ້ອງໄດ້ໃຊ້ວິທີການແກ້ໄຂເລັກນ້ອຍເພື່ອກໍານົດຂອບເຂດທອງໃຫ້ຖືກຕ້ອງ: ເປີດ sl_bluetooth.c file ພົບຢູ່ໃນໂຟນເດີ /autogen ຂອງໂຄງການຂອງທ່ານແລະຍ້າຍ sl_bt_init_power_control(); ເອີ້ນຟັງຊັນກ່ອນ sl_bt_init_stack(&config);SILICON LABS 21Q2 Bluetooth Features Lab 13
  • ສ້າງໂຄງການແລະກະພິບໃສ່ກະດານຂອງທ່ານ.
  • ຖ້າສອງກະດານຂອງເຈົ້າເປັນປະເພດດຽວກັນ, ກະພິບຮູບດຽວກັນໄປໃສ່ກະດານອື່ນເຊັ່ນກັນ. ຖ້າກະດານທີສອງຂອງທ່ານແມ່ນກະດານທີ່ແຕກຕ່າງກັນ, ຫຼັງຈາກນັ້ນເຮັດຊ້ໍາຂັ້ນຕອນຂ້າງເທິງສໍາລັບກະດານທີສອງ.

ເລີ່ມຕົ້ນເຄື່ອງແມ່ຂ່າຍແລະລູກຄ້າ

  • ໃນປັດຈຸບັນອີກເທື່ອຫນຶ່ງ, ເປີດ Python bash, ເຊື່ອມຕໍ່ກັບກະດານທໍາອິດຂອງທ່ານແລະເລີ່ມຕົ້ນການໂຄສະນາSILICON LABS 21Q2 Bluetooth Features Lab 14
  • ແກ້ໄຂແອັບພລິເຄຊັນລູກຄ້າຂອງເຈົ້າເພື່ອບໍ່ໃຫ້ມັນອອກໄປຫຼັງຈາກອ່ານຊື່ອຸປະກອນ. ຊອກຫາເສັ້ນຕໍ່ໄປນີ້, ແລະໃສ່ໃນຄໍາເຫັນ:SILICON LABS 21Q2 Bluetooth Features Lab 15
  • ບັນທຶກແລະດໍາເນີນການຄໍາຮ້ອງສະຫມັກລູກຄ້າຂອງທ່ານ
    • py .\client.py
  • ວາງກະດານສອງອັນຂອງເຈົ້າໄວ້ໄກໆ, ຈາກນັ້ນຄ່ອຍໆເລື່ອນພວກມັນເຂົ້າໃກ້ກັນ. ໃນປັດຈຸບັນທ່ານຄວນເຫັນວ່າ stack ເລີ່ມຫຼຸດລົງລະດັບພະລັງງານຂອງມັນຈາກຄ່າເລີ່ມຕົ້ນ 8dBm ລົງເປັນ -3dBm (ເຊິ່ງເປັນພະລັງງານ Tx ຫນ້ອຍທີ່ສຸດຕາມຄ່າເລີ່ມຕົ້ນ):SILICON LABS 21Q2 Bluetooth Features Lab 16

ເອກະສານ / ຊັບພະຍາກອນ

SILICON LABS 21Q2 Bluetooth Features Lab [pdf] ຄູ່ມືການສອນ
21Q2, ຫ້ອງທົດລອງຄຸນສົມບັດ Bluetooth, ຫ້ອງທົດລອງຄຸນສົມບັດ Bluetooth 21Q2, ຫ້ອງທົດລອງຄຸນສົມບັດ, ຫ້ອງທົດລອງ

ເອກະສານອ້າງອີງ

ອອກຄໍາເຫັນ

ທີ່ຢູ່ອີເມວຂອງເຈົ້າຈະບໍ່ຖືກເຜີຍແຜ່. ຊ່ອງຂໍ້ມູນທີ່ຕ້ອງການຖືກໝາຍໄວ້ *