СИЛИКОНОВЕ ЛОГО

SILICON LABS Lab 3B – Промяна на ръководството за потребителя за включване/изключване

SILICON LABS Lab 3B - Променете превключвател за включване/изключване

Това практическо упражнение ще демонстрира как да направите модификация на един от sample приложения, които се доставят като част от Z-Wave SDK.

Това упражнение е част от поредицата “Z-Wave 1-дневен курс”.

  1. Включете използването на SmartStart
  2. Дешифрирайте Z-Wave RF рамки с помощта на Zniffer
  3. 3A: Компилиране Включване/Изключване и Разрешаване на отстраняване на грешки
    3B: Промяна на превключвателя за включване/изключване
  4. Разберете устройствата FLiRS

 

ОСНОВНИ ХАРАКТЕРИСТИКИ

  • Променете GPIO
  • Внедряване на PWM
  • Използвайте вградения RGB LED

 

1. Въведение

Това упражнение се основава на предишното упражнение „3A: Компилиране, включване/изключване и активиране на отстраняване на грешки“, което демонстрира как да компилирате и използвате Switch On/Off sampприложението.

В това упражнение ще направим модификация на sample приложение, като промените GPIO, който управлява светодиода. Освен това ще използваме RGB LED и ще научим как да използваме PWM за промяна на цветовете.

1.1 Хардуерни изисквания

  • 1 Главен съвет за развитие на WSTK
  • 1 Z-Wave Radio Development Board: ZGM130S SiP модул
  • 1 UZB контролер
  • 1 USB Zniffer

1.2 Софтуерни изисквания

  • Simplicity Studio v4
  • Z-Wave 7 SDK
  • Z-Wave PC контролер
  • Z-Wave Zniffer

ФИГ. 1 Основна платка за разработка със Z-Wave SiP модул

Фигура 1: Основна платка за разработка със Z-Wave SiP модул

1.3 Предварителни условия
Предишните практически упражнения обхващаха как да използвате компютърния контролер и приложението Zniffer за изграждане на Z-Wave мрежа и улавяне на радиочестотна комуникация с цел разработка. Това упражнение предполага, че сте запознати с тези инструменти.

Предишните практически упражнения също обхващаха как да използвате sample приложения, които се доставят с Z-Wave SDK. Това упражнение предполага, че сте запознати с използването и компилирането на един от sample приложения.

 

2. Навигирайте в интерфейса на платката

Рамката Z-Wave се предлага със слой за хардуерна абстракция (HAL), дефиниран от board.h и board.c, предоставяйки възможността да имате реализации за всяка от вашите хардуерни платформи.

Хардуерният абстракционен слой (HAL) е програмен код между хардуера на системата и нейния софтуер, който осигурява последователен интерфейс за приложения, които могат да работят на няколко различни хардуерни платформи. Да взема авансtagД от тази възможност, приложенията трябва да имат достъп до хардуера чрез API, предоставен от HAL, а не директно. След това, когато преминете към нов хардуер, трябва само да актуализирате HAL.

2.1 Отворете Sample Project
За това упражнение трябва да отворите бутона за включване/изключванеampприложение. Ако сте завършили упражнението „3A Compile Switch OnOff and enable debug“, то вече трябва да бъде отворено във вашата Simplicity Studio IDE.

В този раздел ще разгледаме дъската files и разберете как се инициализират светодиодите.

  1. От главния file “SwitchOnOff.c”, намерете “ApplicationInit()” и забележете извикването на Board_Init().
  2. Поставете курсора на Board_Init() и натиснете F3, за да отворите декларацията.

ФИГ. 2 Отворете Sample Project

3. В Board_Init() забележете как светодиодите, съдържащи се в BOARD_LED_COUNT, се инициализират от наречен Board_Con-figLed()

ФИГ. 3 Отворете Sample Project

4. Поставете курсора на BOARD_LED_COUNT и натиснете F3, за да отворите декларацията.
5. Светодиодите, дефинирани в led_id_t, са както следва:

ФИГ. 4 Отворете Sample Project

6. Върнете се към дъската.c file.
7. Поставете курсора на Board_ConfigLed() и натиснете F3, за да отворите декларацията.
8. Забележете, че всички светодиоди, дефинирани в led_id_t, след това са конфигурирани в Board_ConfigLed() като изход.

ФИГ. 5 Отворете Sample Project

Това означава, че всички светодиоди на платката за разработка вече са дефинирани като изходи и готови за използване.

 

3. Направете модификация на Z-Wave Sample Приложение

В това упражнение ще модифицираме GPIO, използвани за светодиода в Switch On/Off sampприложение. В предишния раздел научихме как всички светодиоди на платката за разработка вече са инициализирани като изходни и готови за използване.

3.1 Използвайте RGB светодиода

Ще използваме вградения RGB светодиод на модула за разработка Z-Wave, вместо светодиода на таблото с бутони.

1. Намерете функцията RefreshMMI, както се вижда на фигура 6, в основното приложение SwitchOnOff.c file.

ФИГ. 6 RefreshMMI без никакви модификации

Фигура 6: RefreshMMI без никакви модификации

2. Ще използваме функцията “Board_SetLed”, но ще променим GPIO на
o BOARD_RGB1_R
o BOARD_RGB1_G
o BOARD_RGB1_B

3. Извикайте “Board_SetLed” 3 пъти както в състояние OFF, така и в състояние ON, както е показано на Фигура 7.

ФИГ. 7 RefreshMMI, модифициран за използване на RGB LED

Нашата нова модификация вече е внедрена и вие сте готови за компилиране.
Стъпките за програмиране на устройство са обхванати в упражнение „3A Compile Switch OnOff и активиране на отстраняване на грешки“ и се повтарят накратко тук:

  1. Кликнете върху "Build" ICON 1 бутон, за да започнете изграждането на проекта.
  2. Когато изграждането приключи, разширете папката „Binaries“ и щракнете с десния бутон върху *.hex file за да изберете “Flash to Device...”.
  3. Изберете свързания хардуер в изскачащия прозорец. „Flash Programmer“ вече е предварително попълнен с всички необходими данни и сте готови да кликнете върху „Програма“.
  4. Кликнете върху „Програма“.

След кратко време програмирането приключва и вашето крайно устройство вече мига с вашата модифицирана версия на Switch On/Off.

3.1.1 Тествайте функционалността

В предишни упражнения вече включихме устройството в защитена Z-Wave мрежа с помощта на SmartStart. Вижте упражнението „Включване с помощта на SmartStart“ за инструкции.

Съвет Вътрешното file системата не се изтрива между препрограмирането. Това позволява на възел да остане в мрежа и да запази същите мрежови ключове, когато го препрограмирате.

Ако трябва да промените например честотата, на която работи модулът или DSK, трябва да „Изтриете“ чипа, преди новата честота да бъде записана във вътрешния NVM.

Като такова вашето устройство вече е включено в мрежата.

Тествайте функционалността, като се уверите, че можете да включвате и изключвате RGB светодиода.

  • Тествайте функционалността, като използвате “Basic Set ON” и “Basic Set OFF” в PC Controller. RGB светодиодът трябва да се включва и изключва.
  • RGB LED може също да се включва и изключва с помощта на BTN0 на хардуера.

Вече потвърдихме, че модификацията работи според очакванията и успешно променихме GPIO, използван в Sample Приложение

3.2 Променете цветния RGB компонент

В този раздел ще модифицираме RGB LED и ще се опитаме да смесим цветните компоненти.

„Цвят в цветовия модел RGB се описва, като се посочва колко от всяко червено, зелено и синьо е включено. Цветът се изразява като RGB триплет (r,g,b), чийто всеки компонент може да варира от нула до определена максимална стойност. Ако всички компоненти са на нула, резултатът е черен; ако всички са на максимум, резултатът е най-яркото представимо бяло."

От Уикипедия нататък Цветен модел RGB.

ФИГ. 8 Цветни RGB компоненти, смесени заедно

Тъй като активирахме всички цветни компоненти в предишния раздел, RGB светодиодът е бял, когато е включен. Чрез включване и изключване на отделните компоненти можем да сменим светодиода. В допълнение, чрез регулиране на интензитета на всеки цветови компонент, можем да направим всички цветове между тях. За това ще използваме PWM за управление на GPIO.

  1. В ApplicationTask() инициализирайте PwmTimer и настройте RGB щифтовете на PWM, както е показано на Фигура 9.                                                                                ФИГ. 9 ШИМ, инициализиран в ApplicationTask
  2. В RefreshMMI() ще използваме произволно число за всеки цветен компонент. Използвайте rand(), за да получите нова стойност всеки път, когато светодиодът се включва.
  3. Използвайте DPRINTF(), за да запишете новогенерираната стойност в серийния порт за отстраняване на грешки.
  4. Заменете Board_SetLed() с Board_RgbLedSetPwm(), за да използвате произволната стойност.
  5. Вижте Фигура 10 за актуализирания RefreshMMI().

ФИГ. 10 RefreshMMI актуализиран с PWM

Фигура 10: RefreshMMI, актуализиран с PWM

Нашата нова модификация вече е внедрена и вие сте готови за компилиране.

  1. Кликнете върху "Build" ICON 1 бутон, за да започнете изграждането на проекта.
  2. Когато изграждането приключи, разширете папката „Binaries“ и щракнете с десния бутон върху *.hex file за да изберете “Flash to Device...”.
  3. Изберете свързания хардуер в изскачащия прозорец. „Flash Programmer“ вече е предварително попълнен с всички необходими данни и сте готови да кликнете върху „Програма“.
  4. Кликнете върху „Програма“.

След кратко време програмирането приключва и вашето крайно устройство вече мига с вашата модифицирана версия на Switch On/Off.

3.2.1 Тествайте функционалността

Тествайте функционалността, като се уверите, че можете да промените цвета на RGB светодиода.

  1. Тествайте функционалността, като използвате “Basic Set ON” в PC Controller.
  2. Щракнете върху „Основна настройка ВКЛЮЧЕНО“, за да видите промяна в цвета.

Вече потвърдихме, че модификацията работи според очакванията и успешно променихме GPIO, за да използва PWM.

4 Дискусия

В това упражнение сме променили включване/изключване от управление на обикновен светодиод към управление на многоцветен светодиод. В зависимост от стойностите на PWM, вече можем да променим всеки цвят и интензитет.

  • Трябва ли да се използва „двоичен превключвател“ като тип устройство за това приложение?
  • Кои командни класове са по-подходящи за многоцветен светодиод?

За да отговорите на въпроса, трябва да се обърнете към спецификацията на Z-Wave:

  • Спецификация на типа устройство Z-Wave Plus v2
  • Спецификация на командния клас на приложението Z-Wave

Това завършва урока как да модифицирате и променяте GPIO на Z-Wave Sample Приложение.

 

Прочетете повече за това ръководство и изтеглете PDF:

Документи / Ресурси

SILICON LABS Lab 3B - Променете превключвател за включване/изключване [pdf] Ръководство за потребителя
Лаборатория 3B, превключвател Modify, On, Off, Z-Wave, SDK

Референции

Оставете коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са маркирани *