![]()
SILICON LABS Laboratório 3B - Guia do usuário para modificar liga / desliga

Este exercício prático demonstrará como fazer uma modificação em um dosampos aplicativos fornecidos como parte do Z-Wave SDK.
Este exercício faz parte da série “Z-Wave 1-Day Course”.
- Incluir usando SmartStart
- Descriptografar quadros RF Z-Wave usando o Zniffer
- 3A: Compilar, ligar / desligar e habilitar depuração
3B: Modificar ligar / desligar - Entenda os dispositivos FLiRS
PRINCIPAIS CARACTERÍSTICAS
- Alterar GPIO
- Implementar PWM
- Use LED RGB integrado
1. Introdução
Este exercício é construído em cima do exercício anterior "3A: Compile, ligue / desligue e habilite a depuração", que demonstrou como compilar e usar os botões liga / desligaample aplicativo.
Neste exercício, faremos uma modificação no sample aplicativo, alterando o GPIO que controla o LED. Além disso, usaremos um LED RGB e aprenderemos como usar o PWM para alterar as cores.
1.1 Requisitos de hardware
- 1 Placa de desenvolvimento principal WSTK
- 1 Placa de desenvolvimento de rádio Z-Wave: Módulo ZGM130S SiP
- 1 controlador UZB
- 1 carregador USB
1.2 Requisitos de software
- Simplicidade Studio v4
- SDK Z-Wave 7
- Controlador Z-Wave para PC
- Z-Wave Zniffer

Figura 1: Placa de desenvolvimento principal com módulo Z-Wave SiP
1.3 Pré-requisitos
Os exercícios práticos anteriores cobriram como usar o PC Controller e o aplicativo Zniffer para construir uma rede Z-Wave e capturar a comunicação RF para fins de desenvolvimento. Este exercício pressupõe que você esteja familiarizado com essas ferramentas.
Os exercícios práticos anteriores também cobriram como usar osampos aplicativos fornecidos com o Z-Wave SDK. Este exercício pressupõe que você esteja familiarizado com o uso e a compilação de um dosample aplicações.
O framework Z-Wave vem com uma camada de abstração de hardware (HAL) definida por board.h e board.c, proporcionando a possibilidade de ter implementações para cada uma de suas plataformas de hardware.
O Hardware Abstraction Layer (HAL) é o código do programa entre o hardware de um sistema e seu software que fornece uma interface consistente para aplicativos que podem ser executados em várias plataformas de hardware diferentes. Para tomar AdvantagCom esse recurso, os aplicativos devem acessar o hardware por meio da API fornecida pelo HAL, em vez de diretamente. Então, quando você muda para um novo hardware, você só precisa atualizar o HAL.
2.1 Abrir Sampo Projeto
Para este exercício, você precisa abrir o botão Liga / Desligaample aplicativo. Se você concluiu o exercício “3A Compile Switch OnOff e habilite a depuração”, ele já deve estar aberto em seu Simplicity Studio IDE.
Nesta seção, estaremos olhando para o quadro filese entender como os LEDs são inicializados.
- Do principal file “SwitchOnOff.c”, localize “ApplicationInit ()” e observe a chamada para Board_Init ().
- Coloque seu cursor em Board_Init () e pressione F3 para abrir a declaração.

3. Em Board_Init () observe como os LEDs contidos em BOARD_LED_COUNT estão sendo inicializados pelo chamado Board_Con-figLed ()

4. Coloque seu cursor em BOARD_LED_COUNT e pressione F3 para abrir a declaração.
5. Os LEDs definidos em led_id_t são os seguintes:

6. Retorne ao quadro. file.
7. Coloque seu cursor em Board_ConfigLed () e pressione F3 para abrir a declaração.
8. Observe que todos os LEDs definidos em led_id_t são configurados em Board_ConfigLed () como saída.

O que isso significa é que todos os LEDs na placa de desenvolvimento já estão definidos como saídas e prontos para uso.
3. Faça uma modificação em um Z-Wave Sample Aplicação
Neste exercício, estaremos modificando os GPIOs usados para o LED no Switch On / Off sample aplicativo. Na seção anterior, aprendemos como todos os LEDs na placa de desenvolvimento já foram inicializados como saída e prontos para uso.
3.1 Use o LED RGB
Usaremos o LED RGB integrado no módulo de desenvolvimento Z-Wave, em vez do LED na placa do botão.
1. Localize a função RefreshMMI, conforme visto na Figura 6, no aplicativo principal SwitchOnOff.c file.

Figura 6: RefreshMMI sem nenhuma modificação
2. Estaremos usando a função “Board_SetLed”, mas altere o GPIO para
oBOARD_RGB1_R
oBOARD_RGB1_G
oBOARD_RGB1_B
3. Chame “Board_SetLed” 3 vezes no estado OFF e no estado ON, conforme mostrado na Figura 7.

Nossa nova modificação agora está implementada e você está pronto para compilar.
As etapas para programar um dispositivo são abordadas no exercício "3A Compile Switch OnOff e habilite a depuração", e brevemente repetido aqui:
- Clique em “Construir”
botão para começar a construir o projeto. - Quando a compilação terminar, expanda a pasta “Binários” e clique com o botão direito em * .hex file para selecionar “Flash para dispositivo ..”.
- Selecione o hardware conectado na janela pop-up. O “Programador Flash” agora está pré-preenchido com todos os dados necessários e você está pronto para clicar em “Programa”.
- Clique em “Programa”.
Depois de um curto período de tempo, a programação termina e seu dispositivo final agora exibe sua versão modificada de Ligar / Desligar.
3.1.1 Teste a funcionalidade
Em exercícios anteriores, já incluímos o dispositivo em uma rede Z-Wave segura usando o SmartStart. Consulte o exercício “Incluir usando SmartStart” para obter instruções.
Dica O interno file o sistema não é apagado entre a reprogramação. Isso permite que um nó permaneça em uma rede e mantenha as mesmas chaves de rede quando você o reprogramar.
Se você precisar alterar, por exemplo, a frequência na qual o módulo opera ou o DSK, você precisa “Apagar” o chip antes que a nova frequência seja gravada no NVM interno.
Como tal, o seu dispositivo já está incluído na rede.
Teste a funcionalidade verificando se você pode ligar e desligar o LED RGB.
- Teste a funcionalidade usando “Basic Set ON” e “Basic Set OFF” no PC Controller. O LED RGB deve estar LIGADO e DESLIGADO.
- O LED RGB também pode ser LIGADO e DESLIGADO usando BTN0 no hardware.
Verificamos agora que a modificação está funcionando conforme o esperado e alteramos com sucesso o GPIO usado em um Sample Aplicação
3.2 Alterar o componente de cor RGB
Nesta seção, modificaremos o LED RGB e tentaremos misturar os componentes de cor.
“Uma cor no modelo de cores RGB é descrita indicando quanto de cada vermelho, verde e azul está incluído. A cor é expressa como um tripleto RGB (r, g, b), cada componente do qual pode variar de zero a um valor máximo definido. Se todos os componentes estiverem em zero, o resultado é preto; se todos estiverem no máximo, o resultado é o branco mais brilhante representável. ”
Da Wikipedia em diante Modelo de cores RGB.

Como ativamos todos os componentes de cor na seção anterior, o LED RGB fica branco quando LIGADO. Ao ligar e desligar os componentes individuais, podemos mudar o LED. Além disso, ajustando a intensidade de cada componente da cor, podemos fazer todas as cores intermediárias. Para isso, usaremos o PWM para controlar os GPIOs.
- Em ApplicationTask (), inicialize o PwmTimer e configure os pinos RGB para PWM, conforme mostrado na Figura 9.

- Em RefreshMMI (), usaremos um número aleatório para cada componente de cor. Use rand () para obter um novo valor sempre que o LED for ligado.
- Use DPRINTF () para gravar o valor recém-gerado na porta serial de depuração.
- Substitua Board_SetLed () por Board_RgbLedSetPwm (), a fim de usar o valor aleatório.
- Consulte a Figura 10 para o RefreshMMI () atualizado.

Figura 10: RefreshMMI atualizado com PWM
Nossa nova modificação agora está implementada e você está pronto para compilar.
- Clique em “Construir”
botão para começar a construir o projeto. - Quando a compilação terminar, expanda a pasta “Binários” e clique com o botão direito em * .hex file para selecionar “Flash para dispositivo ..”.
- Selecione o hardware conectado na janela pop-up. O “Programador Flash” agora está pré-preenchido com todos os dados necessários e você está pronto para clicar em “Programa”.
- Clique em “Programa”.
Depois de um curto período de tempo, a programação termina e seu dispositivo final agora exibe sua versão modificada de Ligar / Desligar.
3.2.1 Teste a funcionalidade
Teste a funcionalidade verificando se você pode alterar a cor do LED RGB.
- Teste a funcionalidade usando “Basic Set ON” no PC Controller.
- Clique em “Basic Set ON” para ver uma mudança na cor.
Agora verificamos que a modificação está funcionando conforme o esperado e alteramos com sucesso o GPIO para usar PWM.
Discussão 4
Neste exercício, modificamos a função Ligar / Desligar de controlar um LED simples para controlar um LED multicolorido. Dependendo dos valores PWM, agora podemos mudar para qualquer cor e intensidade.
- Deve uma “chave binária” ser usada como tipo de dispositivo para esta aplicação?
- Quais classes de comando são mais adequadas para um LED multicolorido?
Para responder à pergunta, você deve consultar a especificação Z-Wave:
- Especificação do tipo de dispositivo Z-Wave Plus v2
- Especificação de classe de comando de aplicativo Z-Wave
Isso conclui o tutorial sobre como modificar e alterar os GPIOs de um Z-Wave Sample Aplicação.
Leia mais sobre este manual e baixe o PDF:
Documentos / Recursos
![]() |
SILICON LABS Laboratório 3B - Modificar chave liga / desliga [pdf] Guia do Usuário Laboratório 3B, interruptor de modificação, ligado, desligado, Z-Wave, SDK |

