SILICON LABS Lab 3B – Spremenite uporabniški priročnik za vklop/izklop
Ta praktična vaja bo pokazala, kako narediti spremembo enega od sample aplikacij, ki so na voljo kot del Z-Wave SDK.
Ta vaja je del serije "Z-Wave 1-Day Course".
- Vključuje uporabo SmartStart
- Dešifrirajte Z-Wave RF okvirje z uporabo Znifferja
- 3A: Prevajanje vklopite/izklopite in omogočite odpravljanje napak
3B: Spremenite vklop/izklop - Razumeti naprave FLiRS
KLJUČNE LASTNOSTI
- Spremeni GPIO
- Izvedite PWM
- Uporabite vgrajeno RGB LED
1. Uvod
Ta vaja temelji na prejšnji vaji »3A: Prevedi vklop/izklop in omogoči odpravljanje napak«, ki je pokazala, kako prevesti in uporabiti vklop/izklop sample aplikacija.
V tej vaji bomo spremenili sample aplikacijo, tako da spremenite GPIO, ki nadzoruje LED. Poleg tega bomo uporabljali RGB LED in se naučili uporabljati PWM za spreminjanje barv.
1.1 Zahteve glede strojne opreme
- 1 Glavni razvojni odbor WSTK
- 1 Z-Wave radijska razvojna plošča: ZGM130S SiP modul
- 1 UZB krmilnik
- 1 USB Zniffer
1.2 Zahteve za programsko opremo
- Simplicity Studio v4
- Z-Wave 7 SDK
- Z-Wave PC krmilnik
- Z-Wave Zniffer
Slika 1: Glavna razvojna plošča z Z-Wave SiP modulom
1.3 Predpogoji
Prejšnje praktične vaje so pokrivale, kako uporabljati PC Controller in aplikacijo Zniffer za izgradnjo omrežja Z-Wave in zajemanje RF komunikacije za razvojne namene. Ta vaja predpostavlja, da ste seznanjeni s temi orodji.
Prejšnje praktične vaje so zajele tudi, kako uporabljati sample aplikacij, ki so priložene Z-Wave SDK. Ta vaja predpostavlja, da ste seznanjeni z uporabo in prevajanjem enega od sample aplikacije.
Okvir Z-Wave ima plast abstrakcije strojne opreme (HAL), ki jo definirata board.h in board.c, kar zagotavlja možnost implementacije za vsako od vaših platform strojne opreme.
Sloj abstrakcije strojne opreme (HAL) je programska koda med strojno opremo sistema in njegovo programsko opremo, ki zagotavlja dosleden vmesnik za aplikacije, ki se lahko izvajajo na več različnih platformah strojne opreme. Da vzamem advantage te zmožnosti bi morale aplikacije dostopati do strojne opreme prek API-ja, ki ga zagotavlja HAL, in ne neposredno. Potem, ko preidete na novo strojno opremo, morate samo posodobiti HAL.
2.1 Odprite Sample Project
Za to vajo morate odpreti gumb za vklop / izklopample aplikacija. Če ste zaključili vajo »3A Compile Switch OnOff and enable debug«, bi morala biti ta že odprta v vašem Simplicity Studio IDE.
V tem razdelku si bomo ogledali tablo files in razumeti, kako so LED diode inicializirane.
- Od glavnega file “SwitchOnOff.c”, poiščite “ApplicationInit()” in opazite klic Board_Init().
- Postavite tečajnika na Board_Init() in pritisnite F3, da odprete deklaracijo.
3. V Board_Init() opazite, kako se LED diode, ki jih vsebuje BOARD_LED_COUNT, inicializira s klicem Board_Con-figLed()
4. Postavite tečaj na BOARD_LED_COUNT in pritisnite F3, da odprete deklaracijo.
5. LED diode, definirane v led_id_t, so naslednje:
6. Vrnite se na tablo.c file.
7. Postavite tečajnika na Board_ConfigLed() in pritisnite F3, da odprete deklaracijo.
8. Upoštevajte, da so vse LED diode, definirane v led_id_t, nato konfigurirane v Board_ConfigLed() kot izhod.
To pomeni, da so vse LED diode na razvojni plošči že definirane kot izhodi in pripravljene za uporabo.
3. Izvedite spremembo na Z-Wave Sample Aplikacija
V tej vaji bomo spreminjali GPIO-je, ki se uporabljajo za LED v vklopu/izklopuample aplikacija. V prejšnjem razdelku smo izvedeli, kako so vse LED diode na razvojni plošči že inicializirane kot izhod in pripravljene za uporabo.
3.1 Uporabite RGB LED
Namesto LED na plošči z gumbi bomo uporabljali vgrajeno RGB LED na razvojnem modulu Z-Wave.
1. Poiščite funkcijo RefreshMMI, kot je prikazano na sliki 6, v glavni aplikaciji SwitchOnOff.c file.
Slika 6: RefreshMMI brez kakršnih koli sprememb
2. Uporabili bomo funkcijo “Board_SetLed”, vendar spremenimo GPIO v
o BOARD_RGB1_R
o BOARD_RGB1_G
o BOARD_RGB1_B
3. Pokličite “Board_SetLed” 3-krat tako v stanju OFF kot v stanju ON, kot je prikazano na sliki 7.
Naša nova sprememba je zdaj implementirana in pripravljeni ste na prevajanje.
Koraki za programiranje naprave so zajeti v vaji »3A Compile Switch OnOff in omogočiti odpravljanje napak« in na kratko ponovljeni tukaj:
- Kliknite na "Build"
gumb za začetek gradnje projekta.
- Ko se gradnja konča, razširite mapo »Binaries« in z desno tipko miške kliknite *.hex file da izberete »Flash to Device...«.
- V pojavnem oknu izberite povezano strojno opremo. »Flash Programmer« je zdaj napolnjen z vsemi potrebnimi podatki in pripravljeni ste, da kliknete »Program«.
- Kliknite »Program«.
Po kratkem času je programiranje končano in vaša končna naprava je zdaj opremljena z vašo spremenjeno različico vklopa/izklopa.
3.1.1 Preizkusite funkcionalnost
V prejšnjih vajah smo napravo že vključili v varno omrežje Z-Wave s pomočjo SmartStart. Za navodila glejte vajo »Vključi uporabo SmartStart«.
Namig Notranje file sistem se med reprogramiranjem ne izbriše. To omogoča, da vozlišče ostane v omrežju in obdrži iste omrežne ključe, ko ga reprogramirate.
Če morate spremeniti npr. frekvenco, pri kateri deluje modul ali DSK, morate čip “izbrisati”, preden bo nova frekvenca zapisana v notranji NVM.
Kot taka je vaša naprava že vključena v omrežje.
Preizkusite funkcionalnost tako, da preverite, ali lahko vklopite in IZKLOPITE LED RGB.
- Preizkusite funkcionalnost z uporabo "Basic Set ON" in "Basic Set OFF" v krmilniku PC. LED RGB se mora vklopiti in izklopiti.
- RGB LED lahko tudi vklopite in izklopite s pomočjo BTN0 na strojni opremi.
Zdaj smo preverili, ali sprememba deluje po pričakovanjih in smo uspešno spremenili GPIO, ki se uporablja v Sample Aplikacija
3.2 Spremenite barvno komponento RGB
V tem razdelku bomo spreminjali RGB LED in poskušali zmešati barvne komponente.
»Barva v barvnem modelu RGB je opisana z navedbo, koliko rdeče, zelene in modre je vključeno. Barva je izražena kot RGB trojček (r,g,b), katerega vsaka komponenta se lahko spreminja od nič do določene največje vrednosti. Če so vse komponente na nič, je rezultat črn; če so vsi na maksimumu, je rezultat najsvetlejša predstavljiva bela."
Od Wikipedije naprej Barvni model RGB.
Ker smo v prejšnjem razdelku omogočili vse barvne komponente, je RGB LED bela, ko je vklopljena. Z vklopom in izklopom posameznih komponent lahko spremenimo LED. Poleg tega lahko s prilagajanjem intenzivnosti posameznih barvnih komponent naredimo vse barve vmes. Za to bomo uporabljali PWM za nadzor GPIO.
- V ApplicationTask() inicializirajte PwmTimer in nastavite zatiče RGB na PWM, kot je prikazano na sliki 9.
- V RefreshMMI() bomo za vsako barvno komponento uporabili naključno število. Uporabite rand(), da dobite novo vrednost vsakič, ko se LED dioda vklopi.
- Uporabite DPRINTF(), da zapišete novo ustvarjeno vrednost v serijska vrata za odpravljanje napak.
- Zamenjajte Board_SetLed() z Board_RgbLedSetPwm(), da uporabite naključno vrednost.
- Glejte sliko 10 za posodobljeno RefreshMMI().
Slika 10: RefreshMMI posodobljen s PWM
Naša nova sprememba je zdaj implementirana in pripravljeni ste na prevajanje.
- Kliknite na "Build"
gumb za začetek gradnje projekta.
- Ko se gradnja konča, razširite mapo »Binaries« in z desno tipko miške kliknite *.hex file da izberete »Flash to Device...«.
- V pojavnem oknu izberite povezano strojno opremo. »Flash Programmer« je zdaj napolnjen z vsemi potrebnimi podatki in pripravljeni ste, da kliknete »Program«.
- Kliknite »Program«.
Po kratkem času je programiranje končano in vaša končna naprava je zdaj opremljena z vašo spremenjeno različico vklopa/izklopa.
3.2.1 Preizkusite funkcionalnost
Preizkusite funkcionalnost tako, da preverite, ali lahko spremenite barvo RGB LED.
- Preizkusite funkcionalnost z uporabo »Basic Set ON« v krmilniku računalnika.
- Kliknite na "Basic Set ON", da vidite spremembo barve.
Zdaj smo preverili, ali sprememba deluje po pričakovanjih, in uspešno spremenili GPIO za uporabo PWM.
4 Razprava
V tej vaji smo spremenili vklop/izklop iz krmiljenja preproste LED v krmiljenje večbarvne LED. Glede na vrednosti PWM lahko zdaj spremenimo v poljubno barvo in intenzivnost.
- Ali je treba kot vrsto naprave za to aplikacijo uporabiti "binarno stikalo"?
- Kateri ukazni razredi so bolj primerni za večbarvno LED?
Če želite odgovoriti na vprašanje, se morate obrniti na specifikacijo Z-Wave:
- Specifikacija vrste naprave Z-Wave Plus v2
- Specifikacija razreda ukazov aplikacije Z-Wave
S tem se zaključi vadnica o tem, kako spremeniti in spremeniti GPIO-je Z-Wave Sample Aplikacija.
Preberite več o tem priročniku in prenesite PDF:
Dokumenti / Viri
![]() |
SILICON LABS Lab 3B - Spremeni stikalo za vklop/izklop [pdf] Uporabniški priročnik Laboratorij 3B, Modify Switch, On, Off, Z-Wave, SDK |