SILICON LABS Lab 3B – Wysig Skakel Aan/Af Gebruikersgids
Hierdie praktiese oefening sal demonstreer hoe om 'n wysiging op een van die s te maakample toepassings wat as deel van die Z-Wave SDK gestuur word.
Hierdie oefening is deel van die reeks "Z-Wave 1-dag kursus".
- Sluit die gebruik van SmartStart in
- Dekripteer Z-Wave RF-rame met behulp van die Zniffer
- 3A: Stel saam Skakel aan/af en aktiveer ontfouting
3B: Wysig Skakel Aan/Af - Verstaan FLiRS-toestelle
SLEUTELKENMERKE
- Verander GPIO
- Implementeer PWM
- Gebruik RGB LED aan boord
1. Inleiding
Hierdie oefening bou bo-op die vorige oefening “3A: Stel aan/af saam en aktiveer ontfouting”, wat gedemonstreer het hoe om die Skakel aan/af s saam te stel en te gebruikample aansoek.
In hierdie oefening gaan ons 'n wysiging aan die aample toepassing, deur die GPIO te verander wat die LED beheer. Daarbenewens sal ons 'n RGB LED gebruik en leer hoe om PWM te gebruik om kleure te verander.
1.1 Hardewarevereistes
- 1 WSTK Hoofontwikkelingsraad
- 1 Z-Wave Radio Ontwikkelingsraad: ZGM130S SiP Module
- 1 UZB-beheerder
- 1 USB Zniffer
1.2 Sagtewarevereistes
- Simplicity Studio v4
- Z-Wave 7 SDK
- Z-Wave PC-beheerder
- Z-Wave Zniffer
Figuur 1: Hoofontwikkelingsraad met Z-Wave SiP-module
1.3 Voorvereistes
Vorige praktiese oefeninge het gedek hoe om die PC Controller en Zniffer-toepassing te gebruik om 'n Z-Wave-netwerk te bou en die RF-kommunikasie vas te lê vir ontwikkelingsdoeleindes. Hierdie oefening veronderstel dat jy vertroud is met hierdie gereedskap.
Vorige Hands-On oefeninge het ook gedek hoe om die s te gebruikample toepassings wat saam met die Z-Wave SDK gestuur word. Hierdie oefening veronderstel dat jy vertroud is met die gebruik en samestelling van een van die sample toepassings.
Die Z-Wave-raamwerk kom met 'n hardeware-abstraksielaag (HAL) gedefinieer deur board.h en board.c, wat die moontlikheid bied om implementerings vir elk van jou hardeware-platforms te hê.
Die Hardware Abstraksielaag (HAL) is programkode tussen 'n stelsel se hardeware en sy sagteware wat 'n konsekwente koppelvlak bied vir toepassings wat op verskeie verskillende hardewareplatforms kan loop. Om voordeel te trektagMet hierdie vermoë moet toepassings toegang tot hardeware verkry deur die API wat deur die HAL verskaf word, eerder as direk. Dan, wanneer jy na nuwe hardeware beweeg, hoef jy net die HAL op te dateer.
2.1 Maak S oopampdie projek
Vir hierdie oefening moet jy die Skakel Aan / Af s oopmaakample aansoek. As jy oefening "3A Compile Switch OnOff en aktiveer debug" voltooi het, behoort dit reeds in jou Simplicity Studio IDE oopgemaak te wees.
In hierdie afdeling gaan ons na die bord kyk files en verstaan hoe die LED's geïnisialiseer word.
- Van die hoof file “SwitchOnOff.c”, soek “ApplicationInit()” en let op die oproep na Board_Init().
- Plaas jou kursuser op Board_Init() en druk op F3 om die verklaring oop te maak.
3. In Board_Init() let op hoe LED's vervat in BOARD_LED_COUNT geïnisialiseer word deur genoem Board_Con-figLed()
4. Plaas jou kursushouer op BOARD_LED_COUNT en druk op F3 om die verklaring oop te maak.
5. Die LED's gedefinieer in led_id_t is soos volg:
6. Keer terug na die bord.c file.
7. Plaas jou kursuser op Board_ConfigLed() en druk op F3 om die verklaring oop te maak.
8. Let op al die LED's wat in led_id_t gedefinieer is, word dan in Board_ConfigLed() as uitvoer gekonfigureer.
Wat dit beteken is dat alle LED's op die ontwikkelingsbord reeds gedefinieer is as uitsette en gereed is om te gebruik.
3. Maak 'n wysiging aan 'n Z-Wave Sample Aansoek
In hierdie oefening sal ons die GPIO's wat gebruik word vir die LED in die Skakel Aan/Af s wysigample aansoek. In die vorige afdeling het ons geleer hoe alle LED's op die ontwikkelingsbord reeds as uitvoer geïnisialiseer en gereed is om te gebruik.
3.1 Gebruik die RGB LED
Ons sal die aanboord-RGB-LED op die Z-Wave-ontwikkelingsmodule gebruik, in plaas van die LED op die knoppiebord.
1. Vind die RefreshMMI-funksie, soos gesien in Figuur 6, in die SwitchOnOff.c-hooftoepassing file.
Figuur 6: RefreshMMI sonder enige wysigings
2. Ons sal die funksie “Board_SetLed” gebruik, maar die GPIO verander na
o BOARD_RGB1_R
o BOARD_RGB1_G
o BOARD_RGB1_B
3. Roep “Board_SetLed” 3 keer in beide die AF-toestand en in die AAN-toestand, soos in Figuur 7 getoon.
Ons nuwe wysiging is nou geïmplementeer, en jy is gereed om saam te stel.
Die stappe om 'n toestel te programmeer word gedek in oefening "3A Compile Switch OnOff and enable debug", en kortliks hier herhaal:
- Klik op die "Bou"
knoppie om die projek te begin bou.
- Wanneer die bou voltooi is, brei die "Binaries"-lêergids uit en regskliek op die *.hex file om "Flits na toestel..." te kies.
- Kies die gekoppelde hardeware in die opspringvenster. Die “Flitsprogrammeerder” is nou vooraf gevul met al die nodige data, en jy is gereed om op “Program” te klik.
- Klik op "Program".
Na 'n kort rukkie is die programmering klaar, en jou eindtoestel flits nou met jou gewysigde weergawe van Skakel Aan/Af.
3.1.1 Toets die funksionaliteit
In vorige oefeninge het ons reeds die toestel by 'n veilige Z-Wave-netwerk ingesluit deur SmartStart te gebruik. Verwys na oefening "Sluit in met behulp van SmartStart" vir instruksies.
Wenk Die interne file stelsel word nie tussen herprogrammering uitgevee nie. Dit laat 'n nodus toe om in 'n netwerk te bly en dieselfde netwerksleutels te behou wanneer jy dit herprogrammeer.
As jy bv. die frekwensie waarteen die module werk of die DSK moet verander, moet jy die skyfie "Vee" voordat die nuwe frekwensie na die interne NVM geskryf sal word.
As sodanig is jou toestel reeds by die netwerk ingesluit.
Toets die funksionaliteit deur te verifieer dat jy die RGB LED kan AAN en AF skakel.
- Toets die funksionaliteit deur gebruik te maak van die "Basiese Stel AAN" en "Basiese Stel AF" in die rekenaarbeheerder. Die RGB-LED behoort aan en af te skakel.
- Die RGB LED kan ook AAN en AF geskakel word met BTN0 op die hardeware.
Ons het nou geverifieer dat die wysiging werk soos verwag en het die GPIO wat in 'n Sample Aansoek
3.2 Verander die RGB-kleurkomponent
In hierdie afdeling sal ons die RGB-LED verander en probeer om die kleurkomponente te meng.
“'n Kleur in die RGB-kleurmodel word beskryf deur aan te dui hoeveel van elk van die rooi, groen en blou ingesluit is. Die kleur word uitgedruk as 'n RGB-drieling (r,g,b), waarvan elke komponent van nul tot 'n gedefinieerde maksimum waarde kan wissel. As al die komponente op nul is, is die resultaat swart; as almal op maksimum is, is die resultaat die helderste verteenwoordigende wit.”
Van Wikipedia af RGB-kleurmodel.
Aangesien ons alle kleurkomponente in vorige afdeling geaktiveer het, is die RGB-LED wit wanneer dit AAN is. Deur die individuele komponente aan en af te skakel, kan ons die LED verander. Daarbenewens, deur die intensiteit van elke kleurkomponent aan te pas, kan ons al die kleure tussenin maak. Daarvoor sal ons PWM gebruik om die GPIO's te beheer.
- In ApplicationTask() inisialiseer die PwmTimer en stel die RGB-penne op PWM op, soos in Figuur 9 getoon.
- In RefreshMMI(), sal ons 'n ewekansige getal vir elke kleurkomponent gebruik. Gebruik rand() om 'n nuwe waarde te kry elke keer as die LED AAN geskakel word.
- Gebruik DPRINTF() om die nuutgegenereerde waarde na die seriële ontfoutpoort te skryf.
- Vervang Board_SetLed() met Board_RgbLedSetPwm(), om die ewekansige waarde te gebruik.
- Verwys na Figuur 10 vir die opgedateerde RefreshMMI().
Figuur 10: RefreshMMI opgedateer met PWM
Ons nuwe wysiging is nou geïmplementeer, en jy is gereed om saam te stel.
- Klik op die "Bou"
knoppie om die projek te begin bou.
- Wanneer die bou voltooi is, brei die "Binaries"-lêergids uit en regskliek op die *.hex file om "Flits na toestel..." te kies.
- Kies die gekoppelde hardeware in die opspringvenster. Die “Flitsprogrammeerder” is nou vooraf gevul met al die nodige data, en jy is gereed om op “Program” te klik.
- Klik op "Program".
Na 'n kort rukkie is die programmering klaar, en jou eindtoestel flits nou met jou gewysigde weergawe van Skakel Aan/Af.
3.2.1 Toets die funksionaliteit
Toets die funksionaliteit deur te verifieer dat jy die kleur van die RGB LED kan verander.
- Toets die funksionaliteit deur gebruik te maak van die "Basiese Stel AAN" in die rekenaarbeheerder.
- Klik op "Basiese Stel AAN" om 'n verandering in kleur te sien.
Ons het nou geverifieer dat die wysiging werk soos verwag en het die GPIO suksesvol verander om PWM te gebruik.
4 Bespreking
In hierdie oefening het ons Skakel Aan/Af verander van die beheer van 'n eenvoudige LED na die beheer van 'n veelkleurige LED. Afhangende van die PWM-waardes, kan ons nou verander na enige kleur en intensiteit.
- Moet 'n "binêre skakelaar" as toesteltipe vir hierdie toepassing gebruik word?
- Watter opdragklasse is beter geskik vir 'n veelkleurige LED?
Om die vraag te beantwoord, moet jy na die Z-Wave-spesifikasie verwys:
- Z-Wave Plus v2 toesteltipe spesifikasie
- Z-Wave Toepassing Command Class Spesifikasie
Dit sluit die tutoriaal af oor hoe om die GPIO's van 'n Z-Wave S te verander en te veranderample Aansoek.
Lees meer oor hierdie handleiding en laai PDF af:
Dokumente / Hulpbronne
![]() |
SILICON LABS Lab 3B - Verander skakelaar aan/af [pdf] Gebruikersgids Lab 3B, Wysig Skakelaar, Aan, Af, Z-Wave, SDK |