SILICON LABS Lab 3B – Modifica interruttore On/Off Guida per l'utente
Questo esercizio pratico dimostrerà come apportare una modifica su uno dei sample applicazioni fornite come parte di Z-Wave SDK.
Questo esercizio fa parte della serie "Z-Wave 1-Day Course".
- Includi usando SmartStart
- Decifra i frame RF Z-Wave utilizzando Zniffer
- 3A: Compila Switch On/Off e Abilita debug
3B: Modifica interruttore On/Off - Comprendi i dispositivi FLiRS
CARATTERISTICHE PRINCIPALI
- Cambia GPIO
- Implementa PWM
- Usa LED RGB integrato
1. Introduzione
Questo esercizio si basa sull'esercizio precedente "3A: Compila Switch On/Off e abilita il debug", che ha dimostrato come compilare e utilizzare gli Switch On/Off sampl'applicazione.
In questo esercizio apporteremo una modifica a sample, modificando il GPIO che controlla il LED. Inoltre, utilizzeremo un LED RGB e impareremo come utilizzare il PWM per cambiare i colori.
1.1 Requisiti hardware
- 1 scheda di sviluppo principale WSTK
- 1 scheda di sviluppo radio Z-Wave: modulo SiP ZGM130S
- 1 controller UZB
- 1 Zniffer USB
1.2 Requisiti software
- Semplicità Studio v4
- SDK Z-Wave 7
- Controller per PC Z-Wave
- Z-Wave Zniffer
Figura 1: Scheda di sviluppo principale con modulo SiP Z-Wave
1.3 Prerequisiti
Gli esercizi pratici precedenti hanno illustrato come utilizzare il controller del PC e l'applicazione Zniffer per creare una rete Z-Wave e acquisire la comunicazione RF a scopo di sviluppo. Questo esercizio presuppone che tu abbia familiarità con questi strumenti.
Gli esercizi pratici precedenti hanno anche spiegato come utilizzare il sample applicazioni fornite con Z-Wave SDK. Questo esercizio presuppone che tu abbia familiarità con l'uso e la compilazione di uno deiample applicazioni.
Il framework Z-Wave viene fornito con un livello di astrazione hardware (HAL) definito da board.he board.c, fornendo la possibilità di avere implementazioni per ciascuna delle tue piattaforme hardware.
L'Hardware Abstraction Layer (HAL) è un codice di programma tra l'hardware di un sistema e il relativo software che fornisce un'interfaccia coerente per le applicazioni che possono essere eseguite su diverse piattaforme hardware. per prendere vantaggiotagPer questa capacità, le applicazioni dovrebbero accedere all'hardware tramite l'API fornita dall'HAL, piuttosto che direttamente. Quindi, quando passi a un nuovo hardware, devi solo aggiornare l'HAL.
2.1 Aprire Sampil progetto
Per questo esercizio è necessario aprire l'interruttore di accensione/spegnimento sampl'applicazione. Se hai completato l'esercizio "Compila 3A, accendi e abilita il debug", dovrebbe essere già aperto nel tuo IDE Simplicity Studio.
In questa sezione esamineremo il tabellone files e capire come vengono inizializzati i LED.
- Dal principale file "SwitchOnOff.c", individuare "ApplicationInit()" e notare la chiamata a Board_Init().
- Posiziona il tuo destriero su Board_Init() e premi F3 per aprire la dichiarazione.
3. In Board_Init() notare come i LED contenuti in BOARD_LED_COUNT vengono inizializzati da Board_Con-figLed() chiamato
4. Posiziona il tuo corso su BOARD_LED_COUNT e premi F3 per aprire la dichiarazione.
5. I LED definiti in led_id_t sono i seguenti:
6. Torna alla scheda.c file.
7. Posiziona il tuo corso su Board_ConfigLed() e premi F3 per aprire la dichiarazione.
8. Notare che tutti i LED definiti in led_id_t vengono quindi configurati in Board_ConfigLed() come output.
Ciò significa che tutti i LED sulla scheda di sviluppo sono già definiti come uscite e pronti per l'uso.
3. Apportare una modifica a una Z-Wave Sample Applicazione
In questo esercizio modificheremo i GPIO utilizzati per il LED in Switch On/Off sampl'applicazione. Nella sezione precedente abbiamo appreso come tutti i LED sulla scheda di sviluppo siano già inizializzati come output e pronti per l'uso.
3.1 Utilizzare il LED RGB
Useremo il LED RGB integrato sul modulo di sviluppo Z-Wave, invece del LED sulla pulsantiera.
1. Individuare la funzione RefreshMMI, come mostrato nella Figura 6, nell'applicazione principale SwitchOnOff.c file.
Figura 6: RefreshMMI senza alcuna modifica
2. Useremo la funzione "Board_SetLed" ma cambieremo il GPIO in
o SCHEDA_RGB1_R
o SCHEDA_RGB1_G
o SCHEDA_RGB1_B
3. Chiamare "Board_SetLed" 3 volte sia nello stato OFF che nello stato ON, come mostrato in Figura 7.
La nostra nuova modifica è ora implementata e sei pronto per la compilazione.
I passaggi per programmare un dispositivo sono trattati nell'esercizio "3A Compile Switch OnOff and enable debug", e brevemente ripetuti qui:
- Fare clic su "Costruisci"
pulsante per iniziare a costruire il progetto.
- Al termine della build, espandi la cartella "Binaries" e fai clic con il pulsante destro del mouse su *.hex file per selezionare “Flash su dispositivo..”.
- Seleziona l'hardware connesso nella finestra pop-up. Il "Programmatore Flash" è ora precompilato con tutti i dati necessari e sei pronto per fare clic su "Programma".
- Fare clic su "Programma".
Dopo un po', la programmazione termina e il dispositivo finale è ora aggiornato con la versione modificata di Switch On/Off.
3.1.1 Testare la funzionalità
Negli esercizi precedenti abbiamo già incluso il dispositivo in una rete Z-Wave sicura utilizzando SmartStart. Fare riferimento all'esercizio "Includi l'uso di SmartStart" per le istruzioni.
Suggerimento L'interno file sistema non viene cancellato tra la riprogrammazione. Ciò consente a un nodo di rimanere in una rete e mantenere le stesse chiavi di rete quando lo si riprogramma.
Se è necessario modificare, ad esempio, la frequenza alla quale opera il modulo o il DSK, è necessario "Cancellare" il chip prima che la nuova frequenza venga scritta nella NVM interna.
Pertanto, il tuo dispositivo è già incluso nella rete.
Testa la funzionalità verificando di poter accendere e spegnere il LED RGB.
- Testare la funzionalità utilizzando "Set di base ON" e "Set di base OFF" nel controller del PC. Il LED RGB dovrebbe accendersi e spegnersi.
- Il LED RGB può anche essere acceso e spento utilizzando BTN0 sull'hardware.
Ora abbiamo verificato che la modifica funziona come previsto e abbiamo cambiato con successo il GPIO utilizzato in un Sample Applicazione
3.2 Modificare il componente del colore RGB
In questa sezione, modificheremo il LED RGB e proveremo a mescolare i componenti del colore.
“Un colore nel modello di colore RGB viene descritto indicando la quantità di rosso, verde e blu inclusa. Il colore è espresso come tripletta RGB (r,g,b), ogni cui componente può variare da zero ad un valore massimo definito. Se tutti i componenti sono a zero il risultato è nero; se tutti sono al massimo, il risultato è il bianco rappresentabile più luminoso.”
Da Wikipedia in poi Modello di colore RGB.
Poiché abbiamo abilitato tutti i componenti del colore nella sezione precedente, il LED RGB è bianco quando è acceso. Accendendo e spegnendo i singoli componenti, possiamo cambiare il LED. Inoltre, regolando l'intensità di ogni componente del colore, possiamo creare tutti i colori intermedi. Per questo, utilizzeremo PWM per controllare i GPIO.
- In ApplicationTask() inizializzare il PwmTimer e impostare i pin RGB su PWM, come mostrato nella Figura 9.
- In RefreshMMI(), utilizzeremo un numero casuale per ogni componente del colore. Usa rand() per ottenere un nuovo valore ogni volta che il LED viene acceso.
- Utilizzare DPRINTF() per scrivere il valore appena generato sulla porta di debug seriale.
- Sostituisci Board_SetLed() con Board_RgbLedSetPwm(), per utilizzare il valore casuale.
- Fare riferimento alla Figura 10 per il RefreshMMI() aggiornato.
Figura 10: RefreshMMI aggiornato con PWM
La nostra nuova modifica è ora implementata e sei pronto per la compilazione.
- Fare clic su "Costruisci"
pulsante per iniziare a costruire il progetto.
- Al termine della build, espandi la cartella "Binaries" e fai clic con il pulsante destro del mouse su *.hex file per selezionare “Flash su dispositivo..”.
- Seleziona l'hardware connesso nella finestra pop-up. Il "Programmatore Flash" è ora precompilato con tutti i dati necessari e sei pronto per fare clic su "Programma".
- Fare clic su "Programma".
Dopo un po', la programmazione termina e il dispositivo finale è ora aggiornato con la versione modificata di Switch On/Off.
3.2.1 Testare la funzionalità
Testa la funzionalità verificando di poter cambiare il colore del LED RGB.
- Testare la funzionalità utilizzando "Impostazione di base ON" nel controller del PC.
- Fare clic su "Impostazione di base ON" per vedere un cambiamento di colore.
Ora abbiamo verificato che la modifica funzioni come previsto e abbiamo modificato correttamente il GPIO per utilizzare PWM.
4 Discussione
In questo esercizio abbiamo modificato Switch On/Off dal controllo di un semplice LED al controllo di un LED multicolore. A seconda dei valori PWM, ora possiamo passare a qualsiasi colore e intensità.
- È necessario utilizzare un "interruttore binario" come tipo di dispositivo per questa applicazione?
- Quali classi di comando sono più adatte per un LED multicolore?
Per rispondere alla domanda, dovresti fare riferimento alla specifica Z-Wave:
- Specifiche del tipo di dispositivo Z-Wave Plus v2
- Specifiche della classe di comando dell'applicazione Z-Wave
Questo conclude il tutorial su come modificare e cambiare i GPIO di uno Z-Wave Sample Applicazione.
Leggi di più su questo manuale e scarica il PDF:
Documenti / Risorse
![]() |
SILICON LABS Lab 3B - Modifica interruttore On/Off [pdf] Guida utente Lab 3B, Modifica interruttore, On, Off, Z-Wave, SDK |