ЛОГО НА СИЛИКОН

SILICON LABS Lab 3B – Измени го упатството за вклучување/исклучување на прекинувачот

SILICON LABS Lab 3B - Измени го прекинувачот за вклучување/исклучување

Оваа практична вежба ќе покаже како да направите модификација на една од сampле апликации што се испорачуваат како дел од Z-Wave SDK.

Оваа вежба е дел од серијата „1-дневен курс Z-Wave“.

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

 

КЛУЧНИ КАРАКТЕРИСТИКИ

  • Променете го GPIO
  • Спроведување на PWM
  • Користете RGB LED на одборот

 

1. Вовед

Оваа вежба се надоврзува на претходната вежба „3A: Compile Switch On/Off and enable debug“, која покажа како да се состави и користи Switch On/Off sampле апликација.

Во оваа вежба ќе направиме модификација на сampле апликација, со промена на 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 Предуслови
Претходните вежби „Hands-On“ опфатија како да се користи PC Controller и апликацијата Zniffer за да се изгради мрежа Z-Wave и да се сними RF комуникација за развојни цели. Оваа вежба претпоставува дека сте запознаени со овие алатки.

Претходните вежби за раце исто така опфатија како да се користи sampле апликации што се испорачуваат со Z-Wave SDK. Оваа вежба претпоставува дека сте запознаени со користење и составување на еден од сampле апликации.

 

2. Навигирајте низ интерфејсот на таблата

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

Хардверски апстракционен слој (HAL) е програмски код помеѓу хардверот на системот и неговиот софтвер кој обезбедува конзистентен интерфејс за апликации кои можат да работат на неколку различни хардверски платформи. Да преземам напредtagОд оваа можност, апликациите треба да пристапуваат до хардверот преку API обезбеден од HAL, наместо директно. Потоа, кога ќе се преселите на нов хардвер, треба само да го ажурирате HAL.

2.1 Отвори Сample Проект
За оваа вежба треба да ги отворите Switch On/Off sampле апликација. Ако сте ја завршиле вежбата „3A Compile Switch OnOff и овозможи отстранување грешки“, таа веќе треба да биде отворена во вашиот Simplicity Studio IDE.

Во овој дел ќе ја разгледаме таблата fileи разберете како се иницијализираат LED диодите.

  1. Од главната file „SwitchOnOff.c“, лоцирајте го „ApplicationInit()“ и забележете го повикот до Board_Init().
  2. Ставете го вашиот курсор на Board_Init() и притиснете на F3 за да ја отворите декларацијата.

СЛИКА 2 Отворете Сample Проект

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

СЛИКА 3 Отворете Сample Проект

4. Поставете го вашиот курсист на BOARD_LED_COUNT и притиснете на F3 за да ја отворите декларацијата.
5. LED диоди дефинирани во led_id_t се како што следува:

СЛИКА 4 Отворете Сample Проект

6. Вратете се на таблата.в file.
7. Ставете го вашиот курсор на Board_ConfigLed() и притиснете на F3 за да ја отворите декларацијата.
8. Забележете дека сите LED диоди дефинирани во led_id_t потоа се конфигурирани во Board_ConfigLed() како излез.

СЛИКА 5 Отворете Сample Проект

Ова значи дека сите LED диоди на таблата за развој се веќе дефинирани како излези и подготвени за употреба.

 

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

Во оваа вежба ќе ги модифицираме GPIO-овите што се користат за ЛЕР во приклучоците за вклучување/исклучувањеampле апликација. Во претходниот дел научивме како сите LED диоди на развојната табла се веќе иницијализирани како излезни и подготвени за употреба.

3.1 Користете RGB LED

Ќе ја користиме вградената RGB LED на модулот за развој Z-Wave, наместо LED на таблата со копчиња.

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 and enable debug“, и накратко се повторуваат овде:

  1. Кликнете на „Изградба“ ИКОН 1 копче за да започнете со изградба на проектот.
  2. Кога ќе заврши изградбата, проширете ја папката „Binaries“ и кликнете со десното копче на *.hex file за да изберете „Flash to Device...“.
  3. Изберете го поврзаниот хардвер во скокачкиот прозорец. „Flash Programmer“ сега е претходно пополнет со сите потребни податоци и вие сте подготвени да кликнете на „Program“.
  4. Кликнете на „Програма“.

По кратко време, програмирањето ќе заврши, а вашиот краен уред сега трепка со вашата изменета верзија на Вклучи/Исклучи.

3.1.1 Тестирајте ја функционалноста

Во претходните вежби веќе го вклучивме уредот во безбедна мрежа Z-Wave користејќи SmartStart. Погледнете ја вежбата „Вклучи користење на SmartStart“ за инструкции.

Совет Внатрешната file системот не се брише помеѓу репрограмирањето. Ова му овозможува на јазолот да остане во мрежа и да ги задржи истите мрежни клучеви кога ќе го репрограмирате.

Ако треба да ја промените, на пр., фреквенцијата на која работи модулот или DSK, треба да го „избришете“ чипот пред новата фреквенција да се запише на внатрешниот NVM.

Како таков, вашиот уред е веќе вклучен во мрежата.

Тестирајте ја функционалноста со тоа што ќе потврдите дека можете да го вклучите и исклучите RGB LED-то.

  • Тестирајте ја функционалноста користејќи ги „Basic Set ON“ и „Basic Set OFF“ во контролерот на компјутерот. RGB LED диодата треба да се вклучува и исклучува.
  • RGB LED диодата исто така може да се вклучи и исклучи со помош на BTN0 на хардверот.

Сега потврдивме дека модификацијата работи како што се очекуваше и успешно го сменивме GPIO што се користи во Sample Апликација

3.2 Променете ја компонентата за боја RGB

Во овој дел, ќе ја модифицираме RGB LED и ќе се обидеме да ги измешаме компонентите на бојата.

„Бојата во моделот на бои RGB се опишува со означување колку од секоја црвена, зелена и сина е вклучена. Бојата се изразува како RGB тројка (r,g,b), чијашто компонента може да варира од нула до дефинирана максимална вредност. Ако сите компоненти се на нула, резултатот е црн; ако сите се на максимум, резултатот е најсветлата застапена бела боја“.

Од Википедија натаму RGB модел на боја.

СЛИКА 8 RGB компоненти во боја измешани заедно

Бидејќи ги овозможивме сите компоненти во боја во претходниот дел, RGB LED е бело кога е вклучено. Со вклучување и исклучување на поединечните компоненти, можеме да ја смениме ЛЕР. Дополнително, со прилагодување на интензитетот на секоја компонента на бојата, можеме да ги направиме сите бои помеѓу. За тоа, ќе користиме PWM за контрола на GPIO.

  1. Во ApplicationTask() иницијализирајте го PwmTimer и поставете ги RGB пиновите на PWM, како што е прикажано на Слика 9.                                                                                СЛИКА 9 PWM иницијализиран во ApplicationTask
  2. Во RefreshMMI(), ќе користиме случаен број за секоја компонента во боја. Користете rand() за да добиете нова вредност секогаш кога ЛЕР ќе се вклучи.
  3. Користете DPRINTF() за да ја напишете новогенерираната вредност во сериската порта за отстранување грешки.
  4. Заменете го Board_SetLed() со Board_RgbLedSetPwm(), за да ја користите случајната вредност.
  5. Погледнете на Слика 10 за ажурираниот RefreshMMI().

СЛИКА 10 RefreshMMI ажуриран со PWM

Слика 10: RefreshMMI ажуриран со PWM

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

  1. Кликнете на „Изградба“ ИКОН 1 копче за да започнете со изградба на проектот.
  2. Кога ќе заврши изградбата, проширете ја папката „Binaries“ и кликнете со десното копче на *.hex file за да изберете „Flash to Device...“.
  3. Изберете го поврзаниот хардвер во скокачкиот прозорец. „Flash Programmer“ сега е претходно пополнет со сите потребни податоци и вие сте подготвени да кликнете на „Program“.
  4. Кликнете на „Програма“.

По кратко време, програмирањето ќе заврши, а вашиот краен уред сега трепка со вашата изменета верзија на Вклучи/Исклучи.

3.2.1 Тестирајте ја функционалноста

Тестирајте ја функционалноста со тоа што ќе потврдите дека можете да ја промените бојата на RGB LED.

  1. Тестирајте ја функционалноста користејќи го „Basic Set ON“ во контролерот на компјутерот.
  2. Кликнете на „Basic Set ON“ за да видите промена во бојата.

Сега потврдивме дека модификацијата работи како што се очекуваше и успешно го сменивме GPIO да користи PWM.

4 Дискусија

Во оваа вежба го изменивме Вклучување/Исклучување од контролирање на едноставна LED до контролирање на повеќебојна LED. Во зависност од вредностите на PWM, сега можеме да смениме во која било боја и интензитет.

  • Дали треба да се користи „Бинарен прекинувач“ како тип на уред за оваа апликација?
  • Кои класи на команди се подобро прилагодени за LED со повеќе бои?

За да одговорите на прашањето, треба да се повикате на спецификацијата Z-Wave:

  • Спецификација за тип на уред Z-Wave Plus v2
  • Спецификација на класата на команда на апликацијата Z-Wave

Ова го завршува упатството за тоа како да ги менувате и менувате GPIO на Z-Wave Sampле Апликација.

 

Прочитајте повеќе за овој прирачник и преземете PDF:

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

SILICON LABS Lab 3B - Измени го прекинувачот за вклучување/исклучување [pdf] Упатство за корисникот
Лабораторија 3B, Измени прекинувач, Вклучено, Исклучено, Z-Wave, SDK

Референци

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

Вашата адреса за е-пошта нема да биде објавена. Задолжителните полиња се означени *