LOGOTIPO DE SILICONE

SILICON LABS Laboratório 3B - Guia do usuário para modificar liga / desliga

SILICON LABS Laboratório 3B - Modificar chave 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”.

  1. Incluir usando SmartStart
  2. Descriptografar quadros RF Z-Wave usando o Zniffer
  3. 3A: Compilar, ligar / desligar e habilitar depuração
    3B: Modificar ligar / desligar
  4. 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

FIG 1 Placa de desenvolvimento principal com módulo Z-Wave SiP

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.

 

2. Navegue na interface da placa

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.

  1. Do principal file “SwitchOnOff.c”, localize “ApplicationInit ()” e observe a chamada para Board_Init ().
  2. Coloque seu cursor em Board_Init () e pressione F3 para abrir a declaração.

FIG 2 Aberto Sampo Projeto

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

FIG 3 Aberto Sampo Projeto

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:

FIG 4 Aberto Sampo Projeto

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.

FIG 5 Aberto Sampo Projeto

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.

FIG 6 RefreshMMI sem quaisquer modificações

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.

FIG 7 RefreshMMI modificado para usar RGB LED

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:

  1. Clique em “Construir” ICON 1 botão para começar a construir o projeto.
  2. 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 ..”.
  3. 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”.
  4. 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.

FIG 8 Componentes de cores RGB misturados

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.

  1. Em ApplicationTask (), inicialize o PwmTimer e configure os pinos RGB para PWM, conforme mostrado na Figura 9.                                                                                FIG 9 PWM inicializado em ApplicationTask
  2. 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.
  3. Use DPRINTF () para gravar o valor recém-gerado na porta serial de depuração.
  4. Substitua Board_SetLed () por Board_RgbLedSetPwm (), a fim de usar o valor aleatório.
  5. Consulte a Figura 10 para o RefreshMMI () atualizado.

FIG 10 RefreshMMI atualizado com PWM

Figura 10: RefreshMMI atualizado com PWM

Nossa nova modificação agora está implementada e você está pronto para compilar.

  1. Clique em “Construir” ICON 1 botão para começar a construir o projeto.
  2. 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 ..”.
  3. 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”.
  4. 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.

  1. Teste a funcionalidade usando “Basic Set ON” no PC Controller.
  2. 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

Referências

Deixe um comentário

Seu endereço de e-mail não será publicado. Os campos obrigatórios estão marcados *