SILICON LABS Lab 3B – Upravte užívateľskú príručku zapnutia/vypnutia
Toto praktické cvičenie ukáže, ako urobiť modifikáciu na jednom z sampaplikácie, ktoré sa dodávajú ako súčasť Z-Wave SDK.
Toto cvičenie je súčasťou série „Z-Wave 1-Day Course“.
- Zahrnúť pomocou SmartStart
- Dešifrujte Z-Wave RF snímky pomocou Znifferu
- 3A: Zapnutie/vypnutie kompilácie a povolenie ladenia
3B: Upravte zapnutie/vypnutie - Pochopte zariadenia FLiRS
KĽÚČOVÉ VLASTNOSTI
- Zmeňte GPIO
- Implementujte PWM
- Použite zabudovanú RGB LED
1. Úvod
Toto cvičenie nadväzuje na predchádzajúce cvičenie „3A: Kompilácia zapnutia/vypnutia a zapnutia ladenia“, ktoré demonštrovalo, ako zostaviť a použiť vypínač sample aplikácie.
V tomto cvičení urobíme modifikáciu sample aplikácie, zmenou GPIO, ktoré ovláda LED. Okrem toho budeme používať RGB LED a naučíme sa používať PWM na zmenu farieb.
1.1 Hardvérové požiadavky
- 1 Hlavná vývojová rada WSTK
- 1 Z-Wave Radio Development Board: Modul ZGM130S SiP
- 1 UZB ovládač
- 1 USB Zniffer
1.2 Softvérové požiadavky
- Simplicity Studio v4
- Z-Wave 7 SDK
- Z-Wave PC ovládač
- Z-Wave Zniffer
Obrázok 1: Hlavná vývojová doska s modulom Z-Wave SiP
1.3 Predpoklady
Predchádzajúce praktické cvičenia sa zaoberali tým, ako používať PC Controller a aplikáciu Zniffer na vybudovanie siete Z-Wave a zachytávanie RF komunikácie na účely vývoja. Toto cvičenie predpokladá, že poznáte tieto nástroje.
Predchádzajúce praktické cvičenia sa zaoberali aj tým, ako používať sampaplikácie, ktoré sa dodávajú so Z-Wave SDK. Toto cvičenie predpokladá, že ste oboznámení s používaním a kompiláciou jedného zo sampaplikácie.
Rámec Z-Wave prichádza s hardvérovou abstraktnou vrstvou (HAL) definovanou board.h a board.c, ktorá poskytuje možnosť implementácie pre každú z vašich hardvérových platforiem.
Hardware Abstraction Layer (HAL) je programový kód medzi hardvérom systému a jeho softvérom, ktorý poskytuje konzistentné rozhranie pre aplikácie, ktoré môžu bežať na niekoľkých rôznych hardvérových platformách. Ak chcete získať náskoktage tejto schopnosti by aplikácie mali pristupovať k hardvéru cez API poskytované HAL, a nie priamo. Potom, keď prejdete na nový hardvér, stačí aktualizovať HAL.
2.1 Otvorte Sample Project
Pre toto cvičenie musíte otvoriť Zapnúť / Vypnúť sample aplikácie. Ak ste dokončili cvičenie „3A Compile Switch OnOff and enable debug“, malo by byť už otvorené vo vašom IDE Simplicity Studio.
V tejto časti sa pozrieme na tabuľu files a pochopiť, ako sa inicializujú LED diódy.
- Z hlavnej file “SwitchOnOff.c”, nájdite “ApplicationInit()” a všimnite si volanie Board_Init().
- Umiestnite svoj kurz na Board_Init() a stlačením F3 otvorte vyhlásenie.
3. V Board_Init() si všimnite, ako sa LED diódy obsiahnuté v BOARD_LED_COUNT inicializujú pomocou funkcie Board_Con-figLed()
4. Umiestnite svojho kurzu na BOARD_LED_COUNT a stlačením F3 otvorte vyhlásenie.
5. LED diódy definované v led_id_t sú nasledovné:
6. Vráťte sa na tabuľu.c file.
7. Umiestnite svojho kurzu na Board_ConfigLed() a stlačením F3 otvorte deklaráciu.
8. Všimnite si, že všetky LED diódy definované v led_id_t sú potom nakonfigurované v Board_ConfigLed() ako výstup.
To znamená, že všetky LED na vývojovej doske sú už definované ako výstupy a pripravené na použitie.
3. Upravte Z-Wave Sample Aplikácia
V tomto cvičení budeme upravovať GPIO používané pre LED v zapínaní/vypínaní sample aplikácie. V predchádzajúcej časti sme sa dozvedeli, ako sú všetky LED diódy na vývojovej doske už inicializované ako výstup a pripravené na použitie.
3.1 Použite RGB LED
Namiesto LED na doske s tlačidlami budeme používať zabudovanú RGB LED na vývojovom module Z-Wave.
1. Nájdite funkciu RefreshMMI, ako je znázornené na obrázku 6, v hlavnej aplikácii SwitchOnOff.c file.
Obrázok 6: RefreshMMI bez akýchkoľvek úprav
2. Budeme používať funkciu “Board_SetLed”, ale zmeňte GPIO na
o BOARD_RGB1_R
o BOARD_RGB1_G
o BOARD_RGB1_B
3. Zavolajte „Board_SetLed“ 3-krát v stave OFF aj v stave ON, ako je znázornené na obrázku 7.
Naša nová modifikácia je teraz implementovaná a ste pripravení na kompiláciu.
Kroky na naprogramovanie zariadenia sú zahrnuté v cvičení „3A Kompilácia Vypnúť a povoliť ladenie“ a stručne zopakované tu:
- Kliknite na „Vytvoriť“
tlačidlo na začatie vytvárania projektu.
- Po dokončení zostavovania rozbaľte priečinok „Binaries“ a kliknite pravým tlačidlom myši na *.hex file vyberte „Flash to Device...“.
- V kontextovom okne vyberte pripojený hardvér. „Programátor Flash“ je teraz vyplnený všetkými potrebnými údajmi a môžete kliknúť na „Programovať“.
- Kliknite na „Program“.
Po krátkej chvíli sa programovanie ukončí a na vašom koncovom zariadení sa teraz zobrazí vaša upravená verzia Zapnúť/Vypnúť.
3.1.1 Otestujte funkčnosť
V predchádzajúcich cvičeniach sme už zariadenie zaradili do zabezpečenej Z-Wave siete pomocou SmartStart. Pokyny nájdete v cvičení „Zahrnúť používanie funkcie SmartStart“.
Tip Vnútorné file systém sa medzi preprogramovaním nevymaže. To umožňuje uzlu zostať v sieti a ponechať si rovnaké sieťové kľúče, keď ho preprogramujete.
Ak potrebujete zmeniť napr. frekvenciu, na ktorej modul pracuje alebo DSK, musíte „vymazať“ čip predtým, ako sa nová frekvencia zapíše do interného NVM.
Vaše zariadenie je preto už zahrnuté v sieti.
Otestujte funkčnosť overením, že môžete zapnúť a vypnúť RGB LED.
- Otestujte funkčnosť pomocou „Basic Set ON“ a „Basic Set OFF“ v ovládači PC. RGB LED by sa mala zapínať a vypínať.
- RGB LED je možné zapnúť a vypnúť aj pomocou BTN0 na hardvéri.
Teraz sme overili, že úprava funguje podľa očakávania a úspešne sme zmenili GPIO používané v Sample Aplikácia
3.2 Zmeňte farebnú zložku RGB
V tejto časti upravíme RGB LED a pokúsime sa zmiešať farebné zložky.
„Farba vo farebnom modeli RGB je opísaná uvedením toho, koľko červenej, zelenej a modrej je zahrnuté. Farba je vyjadrená ako RGB triplet (r,g,b), ktorého každá zložka sa môže meniť od nuly po definovanú maximálnu hodnotu. Ak sú všetky komponenty na nule, výsledok je čierny; ak sú všetky maximálne, výsledkom je najjasnejšia reprezentovateľná biela.“
Z Wikipédie ďalej Farebný model RGB.
Keďže sme v predchádzajúcej časti povolili všetky farebné zložky, RGB LED je biela, keď je ZAPNUTÁ. Zapínaním a vypínaním jednotlivých komponentov môžeme meniť LED. Navyše, úpravou intenzity jednotlivých farebných zložiek môžeme urobiť všetky farby medzi nimi. Na to budeme používať PWM na ovládanie GPIO.
- V ApplicationTask() inicializujte PwmTimer a nastavte kolíky RGB na PWM, ako je znázornené na obrázku 9.
- V RefreshMMI() budeme používať náhodné číslo pre každú farebnú zložku. Použite rand() na získanie novej hodnoty pri každom zapnutí LED.
- Pomocou DPRINTF() zapíšte novo vygenerovanú hodnotu do sériového portu ladenia.
- Ak chcete použiť náhodnú hodnotu, nahraďte Board_SetLed() za Board_RgbLedSetPwm().
- Aktualizovaný RefreshMMI() nájdete na obrázku 10.
Obrázok 10: RefreshMMI aktualizované pomocou PWM
Naša nová modifikácia je teraz implementovaná a ste pripravení na kompiláciu.
- Kliknite na „Vytvoriť“
tlačidlo na začatie vytvárania projektu.
- Po dokončení zostavovania rozbaľte priečinok „Binaries“ a kliknite pravým tlačidlom myši na *.hex file vyberte „Flash to Device...“.
- V kontextovom okne vyberte pripojený hardvér. „Programátor Flash“ je teraz vyplnený všetkými potrebnými údajmi a môžete kliknúť na „Programovať“.
- Kliknite na „Program“.
Po krátkej chvíli sa programovanie ukončí a na vašom koncovom zariadení sa teraz zobrazí vaša upravená verzia Zapnúť/Vypnúť.
3.2.1 Otestujte funkčnosť
Otestujte funkčnosť overením, že môžete zmeniť farbu RGB LED.
- Otestujte funkčnosť pomocou „Basic Set ON“ v ovládači PC.
- Kliknutím na „Basic Set ON“ zobrazíte zmenu farby.
Teraz sme overili, že modifikácia funguje podľa očakávania a úspešne sme zmenili GPIO na používanie PWM.
4. Diskusia
V tomto cvičení sme upravili Zapnutie/Vypnutie z ovládania jednoduchej LED na ovládanie viacfarebnej LED. V závislosti od hodnôt PWM sa teraz môžeme zmeniť na akúkoľvek farbu a intenzitu.
- Mal by sa pre túto aplikáciu použiť ako typ zariadenia „Binárny prepínač“?
- Ktoré triedy príkazov sú vhodnejšie pre viacfarebnú LED?
Ak chcete odpovedať na otázku, mali by ste sa obrátiť na špecifikáciu Z-Wave:
- Špecifikácia typu zariadenia Z-Wave Plus v2
- Špecifikácia triedy príkazov aplikácie Z-Wave
Toto končí tutoriál o tom, ako upraviť a zmeniť GPIO Z-Wave Sample Aplikácia.
Prečítajte si viac o tomto návode a stiahnite si PDF:
Dokumenty / zdroje
![]() |
SILICON LABS Lab 3B - Zapnutie/vypnutie modifikácie [pdf] Používateľská príručka Lab 3B, Modify Switch, On, Off, Z-Wave, SDK |