SILICON LABS LOGO

SILICON LABS 21Q2 Bluetooth Features Lab

SILICON LABS 21Q2 Bluetooth Features Lab

Bluetooth 21Q2 Manual Features Lab

Wannan jagorar dakin gwaje-gwaje tana bibiyar ku ta wasu sabbin fasalolin SDK na Bluetooth waɗanda aka gabatar tsakanin sakin 20Q4 da 21Q2. A cikin wannan lab za mu ƙirƙiri NCP example kuma rubuta software mai masauki a cikin harshen Python. Yin amfani da sabon fasalin GATT mai ƙarfi kuma za mu gina bayanan GATT daga software mai ɗaukar nauyi maimakon amfani da Mai tsara GATT. A ƙarshe ana gabatar da fasalin sarrafa wutar lantarki ta hanyar haɓaka software mai masaukin baki.SILICON LABS 21Q2 Bluetooth Features Lab 1

Abubuwan da ake bukata

Don kammala wannan lab, kuna buƙatar waɗannan abubuwa:

  • Biyu Thunderboard BG22s ko biyu WSTKs tare da kowane EFR32BG/EFR32MG rediyo allon ko cakuda wadannan
  • An shigar da Sauƙi Studio 5, tare da Gecko SDK v3.2 gami da Bluetooth SDKv3.2
  • PC wanda aka shigar Python v3.6 ko kuma daga baya

Walƙiya na'urorin Target don Ayyukan NCP

  • Haɗa allunan rediyonku guda biyu kuma buɗe Sauƙi Studio 5
  • Zaɓi ɗaya daga cikin allunan rediyo akan shafin masu adaftar gyara kuskure
  • Saita SDK da aka fi so zuwa v3.2.0 akan Ƙarshenview tab na Launcher view
  • Bude Exampda Projects & Demos tab
  • Nemo sabuwar Bluetooth - NCP demo.
  • Danna Run don kunna hoton NCP na manufa zuwa allon.SILICON LABS 21Q2 Bluetooth Features Lab 2

(Lura: sabanin Bluetooth - NCP Empty, wannan aikin bai haɗa da bayanan GATT da aka riga aka gina ba, amma yana da ƙarfin GATT API mai ƙarfi, wanda shine buƙatu don sassan gaba)

  • Maimaita matakan guda ɗaya don sauran allon rediyo.

Ƙirƙirar Aikace-aikacen Sabar Bluetooth a Python

Farawa

  • Kunshin pybgapi yana ba da damar ba da umarnin BGAPI zuwa na'urar da aka yi niyya daga PC ta amfani da yaren shirye-shiryen Python. Don shigar da wannan fakitin a rubuta mai zuwa a cikin layin umarni: pip install pybgapi Don ƙarin bayani game da ziyarar kunshin https://pypi.org/project/pybgapi/
  • Nemo sabuwar ma'anar BGAPI file karkashin
  • C: \ SiliconLabs \ SimplicityStudio \ v5 \ developer \ sdks \ gecko_sdk_suite \ v3.2.0 \ protocol \ bluetooth \ api \ sl_bt.xapi kuma kwafa shi a cikin babban fayil aiki.
  • Bude Python bash (nau'in python a cikin CLI)
  • Shigo da ɗakin karatu na bgapi tare da umarni mai zuwa: >>> shigo da bgapi
  • Nemo lambar tashar tashar COM (misali COM49) na ɗayan allunan rediyon ku. Ya kamata ku nemi "JLink CDC UART Port" a cikin Manajan Na'ura ko a cikin ƙa'idar da kuka fi so.SILICON LABS 21Q2 Bluetooth Features Lab 3
  • Haɗa zuwa allon rediyon ku:
    • >>> haɗi = bgapi.SerialConnector('COM49')
  • Fara ɗakin karatu na pybgapi don wannan kumburi:
    • >>> kumburi = bgapi.BGLib(haɗin kai,'sl_bt.xapi')
  • Bude sadarwar BGAPI zuwa wannan kumburi:
    • >>> node.bude()
  • Bincika idan za ku iya sadarwa tare da hukumar, ta amfani da umurnin system_hello(). Ya kamata ku sami amsa system_hello:
    • >>> node.bt.system.hello()
      • bt_rsp_system_hello(sakamakon =0)
  • Sake saita kumburin ku tare da umarni mai zuwa:
    • node.bt.system.reset(0)
  • Yanzu yakamata ku sami taron system_boot. Don nemo sabon taron, yi amfani da umarni mai zuwa:
    • evt = node.get_events (max_events=1)
    • buga (evt)
      • [bt_evt_system_boot (babba = 3, ƙarami = 2, faci = 0, ginawa = 774, bootloader = 17563648, hw = 1, zanta = 1181938724)]

Gina bayanan GATT

  • Bluetooth – NCP manufa app bai ƙunshi bayanan GATT da aka riga aka gina ba. A nan za mu gina database daga code. Farko fara zama don gina bayanai:
    • >>> zaman = node.bt.gattdb.new_session().zama
  • Ƙara sabon sabis zuwa ga bayanan GATT. Anan za mu ƙara sabis ɗin Samun Ganewa ta hanyar Bluetooth SIG. Wannan sabis ɗin farko ne (0x0) ba tare da saita tutoci ba (0x0) kuma tare da UUID 16bit (0x1800).
    • service = node.bt.gattdb.add_service(zama, 0, 0, bytes.fromhex("0018")).sabis
  • Ƙara sabon hali zuwa sabis. Anan za mu ƙara halayen Sunan Na'ura zuwa sabis na Samun Ganewa tare da kayan READ (0x2), babu buƙatun tsaro (0x0), babu tutoci (0x0), 16bit UUID (0x2a00), tsayi mai canzawa (0x2), matsakaicin tsawon 20 da tare da ƙimar farko ta “PyBGAPI

Exampda":

  • >>> char = node.bt.gattdb.add_uuid16_hali (zama, sabis, 2, 0, 0, bytes.fromhex('002a'), 2,
    • 20, bytes ('PyBGAPI Example','utf-8")).halaye
    • 3.15 Kunna sabon sabis:
  • >>> node.bt.gattdb.start_service (zama, sabis)
    • bt_rsp_gattdb_start_service(sakamako =0)
  • Kunna sabuwar sifa:
    • >>> node.bt.gattdb.start_halayen (zama, char)
      • bt_rsp_gattdb_start_halayen (sakamako = 0)
  • Ajiye canje-canje kuma rufe zaman gyaran bayanai:
    • >>> node.bt.gattdb.commit(zama)
    • bt_rsp_gattdb_commit(sakamakon =0)

Haɗa zuwa uwar garken

  • 3.18 Yanzu da muke da sunan na'ura a cikin bayanan GATT, za mu iya fara talla. Tarin zai tallata na'urar ta atomatik tare da bayyana suna a cikin bayanan GATT:
    • >>> mai tallata_set = node.bt.advertiser.create_set().handle
    • >>> node.bt.advertiser.start(mai tallata_set, 2, 2)
      • bt_rsp_advertiser_start(sakamakon =0)
  • Fara Haɗin EFR akan wayarka, kuma nemo tallan na'urarka azaman "PyBGAPI Exampda ”
  • Kuna iya haɗawa da na'urar kuma gano bayananta na GATT wanda yanzu yana da halayen Sunan Na'ura

Lura: idan kuna son tsohon mai sauriampba tare da damuwa da bayanan GATT ba, har yanzu kuna iya kunna Bluetooth - NCP Empty exampzuwa ga hukumar ku, wanda ke da tushen bayanan GATT da aka riga aka gina. A wannan yanayin duk abin da za ku yi a bangaren mai masaukin baki shine:

  • >>> shigo da bgapi
  • >>> haɗi = bgapi.SerialConnector('COM49')
  • >>> kumburi = bgapi.BGLib(haɗin kai,'sl_bt.xapi')
  • >>> node.bude()
  • >>> mai tallata_set = node.bt.advertiser.create_set().handle
  • >>> node.bt.advertiser.start(mai tallata_set, 2, 2)
    • bt_rsp_advertiser_start(sakamakon =0)

Ƙirƙirar aikace-aikacen abokin ciniki na Bluetooth a cikin Python

  • Ƙirƙirar abokin ciniki ya fi rikitarwa fiye da aiwatar da uwar garken. Don haka za mu rubuta rubutun Python. Bude editan rubutu da kuka fi so kuma ƙirƙirar sabo file, bari mu kira shi abokin ciniki.py
  • Shigo da abubuwa masu zuwa:SILICON LABS 21Q2 Bluetooth Features Lab 4
  • Kamar dai a cikin yanayin uwar garken, za mu haɗa zuwa kumburi ta hanyar UART. Yi amfani da lambar tashar tashar COM na allo na biyu anan:SILICON LABS 21Q2 Bluetooth Features Lab 5
  • Daga nan, aikace-aikacen mu za a gudanar da taron. Duk lokacin da tari ya haifar da taron Bluetooth, za mu gudanar da taron kuma mu tura aikace-aikacen:SILICON LABS 21Q2 Bluetooth Features Lab 6
  • Bari mu ayyana aikin mai gudanar da taron kuma mu ƙara mai gudanarwa don taron system_boot, inda za mu fara bincika na'urorin da ke gefe. Lura, cewa ya kamata a ayyana wannan aikin kafin lokacin madauki (kuma bayan ma'anar canjin kumburi).SILICON LABS 21Q2 Bluetooth Features Lab 7.
  • Da zarar an fara na'urar daukar hotan takardu, kumburin zai kasance yana karɓar rahotannin dubawa. Bari mu ƙara mai kula da taron don duba rahotanni a cikin aikin sl_bt_on_event(). Idan an sami rahoton dubawa tare da sunan na'urar da aka tallata “PyBGAPI Example", abokin ciniki zai buɗe haɗi zuwa waccan na'urar: SILICON LABS 21Q2 Bluetooth Features Lab 7
  • Da zarar kun isa wannan batu yana da kyau a duba idan abokin ciniki ya sami uwar garken. Tabbatar cewa kun fara tallan akan wata na'ura, sannan ku ajiye client.py, sannan ku fara shi daga layin umarni. Ya kamata ku ga wani abu kamar haka: SILICON LABS 21Q2 Bluetooth Features Lab 8
  • Dole ne abokin ciniki ya gano ayyuka da halaye akan sabar. Anan za mu gano sabis ɗin Samun Ganewa da halayen Sunan Na'ura, kuma a ƙarshe za mu karanta ƙimar sifar Sunan Na'ura. Maye gurbin aikin sl_bt_on_event() na yanzu tare da lambar mai zuwa:SILICON LABS 21Q2 Bluetooth Features Lab 9 SILICON LABS 21Q2 Bluetooth Features Lab 10
  • Ajiye client.py kuma fara shi daga layin umarni. Ya kamata ku ga wani abu kamar haka:SILICON LABS 21Q2 Bluetooth Features Lab 11

Ƙara fasalin Kula da Wutar LE

Walƙiya na'urorin Target

Ba a kunna ikon ikon LE a cikin tsohon Bluetooth baample ayyukan ta tsohuwa. Don ƙara wannan fasalin, dole ne a shigar da kayan aikin Bluetooth > Feature > PowerControl software.

  • Bude mai ƙaddamarwa view Simplicity Studio 5.
  • Zaɓi ɗaya daga cikin na'urorin ku a cikin Debug Adapters tab. Tabbatar cewa SDK da aka fi so shine v3.2.
  • Bude Example Projects & Demos tab kuma nemo Bluetooth - NCP Empty example. Latsa [Ƙirƙiri] don ƙirƙirar aikin. (A wannan karon ba ma son gina bayanan GATT, don haka muna amfani da NCP Empty, wanda ke da tsoho.)
  • Buɗe GATT Configurator tab, zaɓi halayen Sunan Na'ura, sannan a sake rubutawa "Silabs Example" ƙimar farko tare da "PyBGAPI Example” (domin abokin ciniki zai gane uwar garken). Hakanan a sake rubuta tsawon ƙimar da 15.
  • Latsa ctrl-s don ajiye bayanai.
  • A cikin Project Configurator buɗe shafin Abubuwan Abubuwan Software.
  • Nemo Bluetooth> Feature> Bangaren software na PowerControl, sannan danna [Shigar]SILICON LABS 21Q2 Bluetooth Features Lab 12
  • Danna kan cogwheel kusa da bangaren PowerControlsoftware don bincika iyakar babba da ƙasa na kewayon zinare. Saita ƙananan iyaka don 1M
    • PHY zuwa -45 (maimakon -60). Kodayake a aikace wannan ƙimar ba ta da kyau, zai haifar da ƙarin gyare-gyaren wutar lantarki na Tx, wanda ke da kyau don dalilai na nunawa.
  • A cikin sigar SDK 3.2.0, ana buƙatar amfani da ɗan ƙaramin aiki don saita kewayon zinare da kyau: buɗe sl_bluetooth.c file samu a cikin /autogen babban fayil na aikin ku kuma motsa sl_bt_init_power_control(); kiran aikin KAFIN sl_bt_init_stack(&config);SILICON LABS 21Q2 Bluetooth Features Lab 13
  • Gina aikin kuma kunna shi zuwa allon ku.
  • Idan allunan ku guda biyu iri ɗaya ne, kunna hoto ɗaya zuwa ɗayan allon kuma. Idan allonku na biyu na daban ne, to ku maimaita matakan da ke sama don allo na biyu.

Fara Server da Client

  • Yanzu kuma, buɗe Python bash, haɗa zuwa allon farko, sannan fara tallaSILICON LABS 21Q2 Bluetooth Features Lab 14
  • Gyara aikace-aikacen abokin ciniki don kada ya fita bayan karanta sunan na'urar. Nemo wadannan layukan, kuma sanya su cikin sharhi:SILICON LABS 21Q2 Bluetooth Features Lab 15
  • Ajiye kuma gudanar da aikace-aikacen abokin ciniki
    • py .\abokin ciniki.py
  • Sanya allunan ku biyu nesa, sannan ku matsar da su a hankali kusa da juna. Yanzu ya kamata ku ga cewa tari ya fara rage ƙarfinsa daga tsoho 8dBm zuwa -3dBm (wanda shine mafi ƙarancin ikon Tx ta tsohuwa):SILICON LABS 21Q2 Bluetooth Features Lab 16

Takardu / Albarkatu

SILICON LABS 21Q2 Bluetooth Features Lab [pdf] Jagoran Jagora
21Q2, Lab ɗin Features na Bluetooth, 21Q2 Lab ɗin Fasalolin Bluetooth, Lab ɗin Fasaloli, Lab

Magana

Bar sharhi

Ba za a buga adireshin imel ɗin ku ba. Ana yiwa filayen da ake buƙata alama *