د سیلیکون لابراتوار لوګو

د سیلیکون لابراتوار 21Q2 بلوتوټ ځانګړتیاوې لابراتوار

د سیلیکون لابراتوار 21Q2 بلوتوټ ځانګړتیاوې لابراتوار

د بلوتوټ 21Q2 ځانګړتیاوې لابراتوار لارښود

دا لابراتوار لارښود تاسو ته د بلوتوټ SDK ځینې نوي ب featuresو له لارې پرمخ وړي چې د 20Q4 او 21Q2 خوشې کیدو ترمینځ معرفي شوي. پدې لابراتوار کې به موږ د NCP پخوانی جوړ کړوample او په Python ژبه کې کوربه سافټویر ولیکئ. د نوي متحرک GATT ځانګړتیا په کارولو سره موږ به د GATT ترتیب کونکي کارولو پرځای د کوربه سافټویر څخه د GATT ډیټابیس هم جوړ کړو. په نهایت کې د LE بریښنا کنټرول ځانګړتیا د کوربه سافټویر غزولو سره وړاندې کیږي.د سیلیکون لابراتوار 21Q2 بلوتوټ ځانګړتیاوې لابراتوار 1

شرطونه

د دې لابراتوار بشپړولو لپاره، تاسو به لاندې ته اړتیا ولرئ:

  • دوه تندربورډ BG22s یا دوه WSTKs د هر EFR32BG/EFR32MG راډیو بورډ سره یا د دې ترکیب سره
  • د ساده سټوډیو 5 نصب شوی، د بلوتوټ SDKv3.2 په شمول د Gecko SDK v3.2 سره
  • یو کمپیوټر چې Python v3.6 یا وروسته نصب شوی وي

د NCP فعالیت لپاره د هدف وسیلو فلش کول

  • خپل دوه راډیو بورډونه ضمیمه کړئ او د ساده سټوډیو 5 خلاص کړئ
  • د ډیبګ اډاپټر ټب کې د راډیو بورډونو څخه یو غوره کړئ
  • غوره شوی SDK په اوور کې v3.2.0 ته تنظیم کړئview د لانچر ټب view
  • Ex خلاص کړئampد پروژې او ډیمو ټب
  • نوی بلوتوټ ومومئ - NCP ډیمو.
  • بورډ ته د NCP هدف عکس فلش کولو لپاره په چلول کلیک وکړئ.د سیلیکون لابراتوار 21Q2 بلوتوټ ځانګړتیاوې لابراتوار 2

(یادونه: د بلوتوت - NCP خالي په مقابل کې، دا پروژه د مخکې جوړ شوي GATT ډیټابیس نه لري، مګر دا د متحرک GATT API فعال شوی، کوم چې د راتلونکو برخو لپاره یو شرط دی)

  • د نورو راډیو بورډ لپاره ورته ګامونه تکرار کړئ.

په Python کې د بلوتوټ سرور غوښتنلیک رامینځته کول

پیل کول

  • د pybgapi بسته د Python برنامې ژبې په کارولو سره د PC څخه د هدف وسیلې په لور د BGAPI کمانډونو صادرولو امکان چمتو کوي. د دې کڅوړې د نصبولو لپاره لاندې کمانډ لاین کې ولیکئ: pip install 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 خلاص کړئ (په CLI کې python ټایپ کړئ)
  • د لاندې کمانډ سره د bgapi کتابتون وارد کړئ: >>> bgapi وارد کړئ
  • ستاسو د راډیو بورډونو څخه د COM پورټ شمیره (د بیلګې په توګه COM49) ومومئ. تاسو باید د وسیلې مدیر یا ستاسو د غوره ټرمینل ایپ کې "JLink CDC UART پورټ" وګورئ.د سیلیکون لابراتوار 21Q2 بلوتوټ ځانګړتیاوې لابراتوار 3
  • خپل د راډیو بورډ سره وصل کړئ:
    • >>> پیوستون = bgapi.SerialConnector('COM49')
  • د دې نوډ لپاره د pybgapi کتابتون پیل کړئ:
    • >>> نوډ = bgapi.BGLib(کنکشن،'sl_bt.xapi')
  • د دې نوډ په لور د BGAPI ارتباط خلاص کړئ:
    • >>> node.open()
  • وګورئ چې تاسو کولی شئ د بورډ سره اړیکه ونیسئ، د system_hello() کمانډ په کارولو سره. تاسو باید د سیسټم_ هیلو ځواب ترلاسه کړئ:
    • >>> node.bt.system.hello()
      • bt_rsp_system_hello(نتیجه=0)
  • خپل نوډ د لاندې کمانډ سره تنظیم کړئ:
    • node.bt.system.reset(0)
  • اوس تاسو باید د سیسټم_بوټ پیښه ترلاسه کړئ. د وروستي پیښې ترلاسه کولو لپاره ، لاندې کمانډ وکاروئ:
    • 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 ډیټابیس جوړول

  • بلوتوث – د NCP هدف ایپ کې د GATT ډیټابیس دمخه جوړ شوی نه دی. دلته به موږ د کوډ څخه ډیټابیس جوړ کړو. لومړی د ډیټابیس جوړولو لپاره ناسته پیل کړئ:
    • >>> غونډه = node.bt.gattdb.new_session().session
  • د GATT ډیټابیس ته نوی خدمت اضافه کړئ. دلته به موږ د بلوتوټ SIG لخوا منل شوي عمومي لاسرسي خدمت اضافه کړو. دا یو لومړنی خدمت (0x0) دی چې هیڅ بیرغ نلري (0x0) او د 16bit UUID (0x1800) سره.
    • خدمت = node.bt.gattdb.add_service(سیشن، 0, 0, bytes.fromhex("0018")).خدمت
  • خدمت ته یو نوی ځانګړتیا اضافه کړئ. دلته به موږ د READ ملکیت (0x2) سره د عمومي لاسرسي خدمت کې د وسیلې نوم ځانګړتیا اضافه کړو ، هیڅ امنیت اړتیاوې (0x0) ، بېرغونه (0x0) ، 16bit UUID (0x2a00) ، متغیر اوږدوالی (0x2) ، اعظمي اوږدوالی 20 او د "PyBGAPI لومړني ارزښت سره

Example":

  • >>> char = node.bt.gattdb.add_uuid16_characteristic(غونډه، خدمت، 2, 0, 0, bytes.fromhex('002a'), 2,
    • 20، بایټ ('PyBGAPI Example','utf-8′)) ځانګړنه
    • 3.15 نوی خدمت فعال کړئ:
  • >>> node.bt.gattdb.start_service(غونډه، خدمت)
    • bt_rsp_gattdb_start_service(نتیجه=0)
  • نوې ځانګړتیا فعاله کړئ:
    • >>> node.bt.gattdb.start_characteristic(غونډه، چار)
      • bt_rsp_gattdb_start_ځانګړتیا(نتیجه=0)
  • بدلونونه خوندي کړئ او د ډیټابیس ترمیم سیشن بند کړئ:
    • >>> node.bt.gattdb.commit(غونډه)
    • bt_rsp_gattdb_commit(نتیجه=0)

د سرور سره نښلول

  • 3.18 اوس چې موږ د GATT ډیټابیس کې د وسیلې نوم لرو، موږ کولی شو اعلان پیل کړو. سټیک به په اوتومات ډول وسیله د هغه نوم سره اعلان کړي چې د دې GATT ډیټابیس کې تعریف شوي:
    • >>> advertiser_set = node.bt.advertiser.create_set().handle
    • >>> node.bt.advertiser.start(advertiser_set, 2, 2)
      • bt_rsp_advertiser_start(نتیجه=0)
  • په خپل تلیفون کې EFR نښلول پیل کړئ، او د خپل وسیله اعلانات د "PyBGAPI Exampلی "
  • تاسو کولی شئ وسیله سره وصل شئ او د دې GATT ډیټابیس ومومئ کوم چې اوس د وسیلې نوم ځانګړتیا لري

یادونه: که تاسو ډیر ګړندي سابقه غواړئampد GATT ډیټابیس سره د زحمت پرته ، تاسو لاهم کولی شئ بلوتوټ فلش کړئ - د NCP خالي پخوانیampستاسو بورډ ته لاړ شئ، کوم چې د GATT لومړنی جوړ شوی ډیټابیس لري. په دې حالت کې ټول هغه څه چې تاسو یې باید په کوربه اړخ کې وکړئ دا دي:

  • >>> bgapi وارد کړئ
  • >>> پیوستون = bgapi.SerialConnector('COM49')
  • >>> نوډ = 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)

په Python کې د بلوتوټ پیرودونکي غوښتنلیک رامینځته کول

  • د پیرودونکي رامینځته کول د سرور پلي کولو په پرتله خورا پیچلي دي. نو موږ به د پیتون سکریپټ ولیکو. خپل د خوښې متن ایډیټر خلاص کړئ او یو نوی جوړ کړئ file، راځئ چې دې ته client.py ووایو
  • لاندې وارد کړئ:د سیلیکون لابراتوار 21Q2 بلوتوټ ځانګړتیاوې لابراتوار 4
  • لکه څنګه چې د سرور په قضیه کې، موږ به د UART له لارې نوډ سره وصل کړو. دلته د خپل دوهم بورډ COM پورټ نمبر وکاروئ:د سیلیکون لابراتوار 21Q2 بلوتوټ ځانګړتیاوې لابراتوار 5
  • له دې ځایه، زموږ غوښتنلیک به د پیښې پرمخ وړل کیږي. هرکله چې د سټیک لخوا د بلوتوټ پیښه رامینځته کیږي ، موږ به پیښه اداره کړو او غوښتنلیک به پرمخ بوځو:د سیلیکون لابراتوار 21Q2 بلوتوټ ځانګړتیاوې لابراتوار 6
  • راځئ چې د پیښې هینډلر فنکشن تعریف کړو او د سیسټم_بوټ پیښې لپاره هینډلر اضافه کړو ، چیرې چې موږ به د پردیو وسیلو سکین کول پیل کړو. په یاد ولرئ چې دا فنکشن باید د وخت لوپ څخه مخکې تعریف شي (او د نوډ متغیر تعریف وروسته).د سیلیکون لابراتوار 21Q2 بلوتوټ ځانګړتیاوې لابراتوار 7.
  • یوځل چې سکینر پیل شي، نوډ به د سکین راپورونه ترلاسه کړي. راځئ چې د sl_bt_on_event() فنکشن کې د سکین راپورونو لپاره د پیښې اداره کونکی اضافه کړو. که چیرې د سکین راپور د اعلان شوي وسیلې نوم سره وموندل شي "PyBGAPI Example"، پیرودونکي به د دې وسیلې په لور اړیکه پرانیزي: د سیلیکون لابراتوار 21Q2 بلوتوټ ځانګړتیاوې لابراتوار 7
  • یوځل چې تاسو دې ټکي ته ورسیږئ دا د چیک کولو ارزښت لري که ستاسو پیرودونکي سرور ومومي. ډاډ ترلاسه کړئ چې تاسو په بل وسیله اعلان پیل کړی، بیا client.py خوندي کړئ، او د کمانډ لاین څخه یې پیل کړئ. تاسو باید د دې په څیر یو څه وګورئ: د سیلیکون لابراتوار 21Q2 بلوتوټ ځانګړتیاوې لابراتوار 8
  • پیرودونکي باید په سرور کې خدمات او ځانګړتیاوې ومومي. دلته به موږ د عمومي لاسرسي خدمت او د وسیلې نوم ځانګړتیا ومومئ ، او په پای کې به د وسیلې نوم ځانګړتیا ارزښت ولولئ. خپل اوسنی sl_bt_on_event() فنکشن د لاندې کوډ سره بدل کړئ:د سیلیکون لابراتوار 21Q2 بلوتوټ ځانګړتیاوې لابراتوار 9 د سیلیکون لابراتوار 21Q2 بلوتوټ ځانګړتیاوې لابراتوار 10
  • client.py خوندي کړئ او د کمانډ لاین څخه یې پیل کړئ. تاسو باید د دې په څیر یو څه وګورئ:د سیلیکون لابراتوار 21Q2 بلوتوټ ځانګړتیاوې لابراتوار 11

د LE بریښنا کنټرول ځانګړتیا اضافه کول

د هدف وسیلو فلش کول

د بلوتوټ ایکس کې د LE بریښنا کنټرول فعال ندیampد ډیفالټ لخوا پروژې. د دې فیچر اضافه کولو لپاره، د بلوتوټ> فیچر> پاور کنټرول سافټویر برخه باید نصب شي.

  • لانچر خلاص کړئ view د سادگي سټوډیو 5.
  • د ډیبګ اډاپټر ټب کې خپل یو وسیله غوره کړئ. ډاډ ترلاسه کړئ چې غوره SDK v3.2 دی.
  • Ex خلاص کړئampد پروژې او ډیمو ټب ومومئ او بلوتوث ومومئ - NCP خالي example. د پروژې د جوړولو لپاره [جوړول] فشار ورکړئ. (دا ځل موږ نه غواړو د GATT ډیټابیس جوړ کړو، نو موږ د NCP خالي کاروو، کوم چې یو ډیفالټ لري.)
  • د GATT ترتیب کوونکی ټب پرانیزئ، د وسیلې نوم ځانګړتیا غوره کړئ، او د "Silab Ex" په اړه بیالیکئ.ample" ابتدايي ارزښت د "PyBGAPI Example" (د دې لپاره چې پیرودونکي سرور پیژني). همدارنګه د ارزښت اوږدوالی د 15 سره بیا ولیکئ.
  • د ډیټابیس خوندي کولو لپاره ctrl-s فشار ورکړئ.
  • د پروژې تنظیم کونکي کې د سافټویر اجزاو ټب خلاص کړئ.
  • د بلوتوټ> فیچر> پاور کنټرول سافټویر برخې ومومئ او کلیک وکړئ [نصب]د سیلیکون لابراتوار 21Q2 بلوتوټ ځانګړتیاوې لابراتوار 12
  • د پاورکنټرول سافټویر برخې ته نږدې کوګ ویل باندې کلیک وکړئ ترڅو د سرو زرو پورتنۍ او ښکته حدونه چیک کړئ. د 1M لپاره ټیټ حد وټاکئ
    • PHY تر -45 پورې (د -60 پرځای). که څه هم په عمل کې دا ارزښت غوره نه دی، دا به د Tx بریښنا د ډیرو سمونونو پایله ولري، کوم چې د مظاهرې موخو لپاره ښه دی.
  • د SDK په 3.2.0 نسخه کې، د سرو زرو سلسله په سمه توګه تنظیم کولو لپاره یو کوچنی کار ته اړتیا ده: sl_bluetooth.c خلاص کړئ file ستاسو د پروژې /autogen فولډر کې ومومئ او sl_bt_init_power_control() ته حرکت ورکړئ؛ فنکشن زنګ مخکې له دې چې sl_bt_init_stack(&config);د سیلیکون لابراتوار 21Q2 بلوتوټ ځانګړتیاوې لابراتوار 13
  • پروژه جوړه کړئ او خپل بورډ ته یې فلش کړئ.
  • که ستاسو دوه تختې یو ډول وي، ورته انځور بل بورډ ته هم فلش کړئ. که ستاسو دوهم تخته مختلف بورډ وي، نو د دویم بورډ لپاره پورته ګامونه تکرار کړئ.

د سرور او پیرودونکي پیل کول

  • اوس بیا، د Python bash خلاص کړئ، خپل لومړي بورډ سره وصل کړئ، او اعلانونه پیل کړئد سیلیکون لابراتوار 21Q2 بلوتوټ ځانګړتیاوې لابراتوار 14
  • د خپل پیرودونکي غوښتنلیک بدل کړئ ترڅو دا د وسیلې نوم لوستلو وروسته نه وځي. لاندې کرښې ومومئ، او په تبصره کې یې واچوئ:د سیلیکون لابراتوار 21Q2 بلوتوټ ځانګړتیاوې لابراتوار 15
  • د خپل پیرودونکي غوښتنلیک خوندي او پرمخ وړئ
    • py.\client.py
  • خپل دوه تختې لرې وساتئ، بیا ورو ورو یو بل ته نږدې کړئ. اوس تاسو باید وګورئ چې سټیک د خپل بریښنا کچه له ډیفالټ 8dBm څخه -3dBm ته کمولو پیل کوي (کوم چې د ډیفالټ لخوا لږترلږه Tx ځواک دی):د سیلیکون لابراتوار 21Q2 بلوتوټ ځانګړتیاوې لابراتوار 16

اسناد / سرچینې

د سیلیکون لابراتوار 21Q2 بلوتوټ ځانګړتیاوې لابراتوار [pdf] د لارښوونې لارښود
21Q2، د بلوتوټ ځانګړتیاوو لابراتوار، د 21Q2 بلوتوټ ځانګړتیاوو لابراتوار، د ځانګړتیاوو لابراتوار، لابراتوار

حوالې

یو نظر پریږدئ

ستاسو بریښنالیک پته به خپره نشي. اړین ساحې په نښه شوي *