SILICON LABS Lab 3B – Upravte uživatelskou příručku pro zapnutí/vypnutí
Toto praktické cvičení ukáže, jak provést úpravu na jednom z sampaplikace, které se dodávají jako součást Z-Wave SDK.
Toto cvičení je součástí série „Z-Wave 1-Day Course“.
- Zahrnout použití SmartStart
- Dešifrujte Z-Wave RF snímky pomocí Znifferu
- 3A: Zapnutí/vypnutí kompilace a povolení ladění
3B: Upravte přepínač Zapnuto/Vypnuto - Pochopte zařízení FLiRS
KLÍČOVÉ VLASTNOSTI
- Změňte GPIO
- Implementujte PWM
- Použijte zabudovanou RGB LED
1. Úvod
Toto cvičení navazuje na předchozí cvičení „3A: Kompilace zapnutí/vypnutí a povolení ladění“, které demonstrovalo, jak zkompilovat a používat přepínač zapnutí/vypnutí.ample aplikace.
V tomto cvičení provedeme úpravu sample aplikace, změnou GPIO, které ovládá LED. Kromě toho budeme používat RGB LED a naučíme se používat PWM ke změně barev.
1.1 Hardwarové požadavky
- 1 Hlavní vývojová rada WSTK
- 1 Z-Wave Radio Development Board: Modul ZGM130S SiP
- 1 ovladač UZB
- 1 USB Zniffer
1.2 Softwarové požadavky
- Simplicity Studio v4
- Z-Wave 7 SDK
- Z-Wave PC ovladač
- Z-Wave Zniffer
Obrázek 1: Hlavní vývojová deska s modulem Z-Wave SiP
1.3 Předpoklady
Předchozí praktická cvičení se zabývala tím, jak používat PC Controller a aplikaci Zniffer k vybudování Z-Wave sítě a zachycení RF komunikace pro účely vývoje. Toto cvičení předpokládá, že jste obeznámeni s těmito nástroji.
Předchozí praktická cvičení se také zabývala tím, jak používat sampaplikace, které se dodávají se Z-Wave SDK. Toto cvičení předpokládá, že jste obeznámeni s používáním a kompilací jednoho ze sample aplikace.
Rámec Z-Wave přichází s hardwarovou abstraktní vrstvou (HAL) definovanou board.h a board.c, která poskytuje možnost implementací pro každou z vašich hardwarových platforem.
Hardware Abstraction Layer (HAL) je programový kód mezi hardwarem systému a jeho softwarem, který poskytuje konzistentní rozhraní pro aplikace, které mohou běžet na několika různých hardwarových platformách. Chcete-li získat zálohutagDíky této schopnosti by aplikace měly přistupovat k hardwaru prostřednictvím rozhraní API poskytovaného HAL, nikoli přímo. Poté, když přejdete na nový hardware, stačí aktualizovat HAL.
2.1 Otevřete Sample Project
Pro toto cvičení musíte otevřít Zapnout / Vypnout sample aplikace. Pokud jste dokončili cvičení „3A Compile Switch OnOff and enable debug“, mělo by být již otevřeno ve vašem IDE Simplicity Studio.
V této části se podíváme na desku files a pochopit, jak jsou LED inicializovány.
- Z hlavního file “SwitchOnOff.c”, vyhledejte “ApplicationInit()” a všimněte si volání Board_Init().
- Umístěte svého kurzu na Board_Init() a stisknutím F3 otevřete deklaraci.
3. V Board_Init() si všimněte, jak jsou kontrolky LED obsažené v BOARD_LED_COUNT inicializovány pomocí funkce Board_Con-figLed()
4. Umístěte svého kurzu na BOARD_LED_COUNT a stisknutím F3 otevřete prohlášení.
5. LED diody definované v led_id_t jsou následující:
6. Vraťte se na tabuli.c file.
7. Umístěte svého kurzu na Board_ConfigLed() a stisknutím F3 otevřete deklaraci.
8. Všimněte si, že všechny LED diody definované v led_id_t jsou poté nakonfigurovány v Board_ConfigLed() jako výstup.
To znamená, že všechny LED na vývojové desce jsou již definovány jako výstupy a připraveny k použití.
3. Proveďte úpravu Z-Wave Sample Aplikace
V tomto cvičení budeme upravovat GPIO použité pro LED v přepínačích Zapnout/Vypnoutample aplikace. V předchozí části jsme se dozvěděli, jak jsou všechny LED na vývojové desce již inicializovány jako výstup a připraveny k použití.
3.1 Použijte RGB LED
Budeme používat zabudovanou RGB LED na vývojovém modulu Z-Wave místo LED na tlačítkové desce.
1. Najděte funkci RefreshMMI, jak je vidět na obrázku 6, v hlavní aplikaci SwitchOnOff.c file.
Obrázek 6: RefreshMMI bez jakýchkoliv úprav
2. Budeme používat funkci “Board_SetLed”, ale změňte GPIO na
o BOARD_RGB1_R
o BOARD_RGB1_G
o BOARD_RGB1_B
3. Zavolejte „Board_SetLed“ 3x ve stavu OFF i ve stavu ON, jak je znázorněno na obrázku 7.
Naše nová modifikace je nyní implementována a vy jste připraveni ke kompilaci.
Kroky k naprogramování zařízení jsou popsány ve cvičení „3A Kompilace Vypnout a povolit ladění“ a krátce zopakovány zde:
- Klikněte na „Sestavit“
tlačítko pro zahájení vytváření projektu.
- Po dokončení sestavení rozbalte složku „Binaries“ a klikněte pravým tlačítkem na *.hex file vyberte „Flash to Device...“.
- Ve vyskakovacím okně vyberte připojený hardware. „Flash Programmer“ je nyní předvyplněn všemi potřebnými údaji a vy můžete kliknout na „Program“.
- Klikněte na „Program“.
Po krátké chvíli se programování ukončí a vaše koncové zařízení nyní bliká s vaší upravenou verzí Zapnutí/Vypnutí.
3.1.1 Otestujte funkčnost
V předchozích cvičeních jsme již zařízení zařadili do zabezpečené Z-Wave sítě pomocí SmartStart. Pokyny naleznete ve cvičení „Zahrnout použití SmartStart“.
Nápověda Vnitřní file systém se mezi přeprogramováním nevymaže. To umožňuje uzlu zůstat v síti a ponechat si stejné síťové klíče, když jej přeprogramujete.
Pokud potřebujete změnit např. frekvenci, na které modul pracuje, nebo DSK, musíte „vymazat“ čip, než bude nová frekvence zapsána do interního NVM.
Vaše zařízení je tak již součástí sítě.
Otestujte funkčnost ověřením, že můžete zapnout a vypnout RGB LED.
- Otestujte funkčnost pomocí „Basic Set ON“ a „Basic Set OFF“ v PC Controlleru. RGB LED by se měla rozsvítit a zhasnout.
- RGB LED lze také zapínat a vypínat pomocí BTN0 na hardwaru.
Nyní jsme ověřili, že úprava funguje podle očekávání, a úspěšně jsme změnili GPIO používané v Sample Aplikace
3.2 Změňte barevnou složku RGB
V této části upravíme RGB LED a pokusíme se smíchat barevné složky.
„Barva v barevném modelu RGB je popsána tím, že udává, kolik z červené, zelené a modré je zahrnuto. Barva je vyjádřena jako RGB triplet (r,g,b), jehož každá složka se může měnit od nuly do definované maximální hodnoty. Pokud jsou všechny komponenty nulové, výsledek je černý; pokud jsou všechny na maximu, výsledkem je nejjasnější reprezentovatelná bílá.“
Z Wikipedie dále Barevný model RGB.
Vzhledem k tomu, že jsme v předchozí části povolili všechny barevné složky, RGB LED je bílá, když je zapnutá. Zapínáním a vypínáním jednotlivých komponent můžeme měnit LED. Navíc úpravou intenzity jednotlivých barevných složek můžeme vytvořit všechny barvy mezi nimi. Za tímto účelem budeme používat PWM k ovládání GPIO.
- V ApplicationTask() inicializujte PwmTimer a nastavte piny RGB na PWM, jak je znázorněno na obrázku 9.
- V RefreshMMI() budeme používat náhodné číslo pro každou barevnou složku. Použijte rand() k získání nové hodnoty při každém zapnutí LED.
- Pomocí DPRINTF() zapište nově vygenerovanou hodnotu na sériový ladicí port.
- Chcete-li použít náhodnou hodnotu, nahraďte Board_SetLed() za Board_RgbLedSetPwm().
- Aktualizovaný RefreshMMI() naleznete na obrázku 10.
Obrázek 10: Aktualizace RefreshMMI pomocí PWM
Naše nová modifikace je nyní implementována a vy jste připraveni ke kompilaci.
- Klikněte na „Sestavit“
tlačítko pro zahájení vytváření projektu.
- Po dokončení sestavení rozbalte složku „Binaries“ a klikněte pravým tlačítkem na *.hex file vyberte „Flash to Device...“.
- Ve vyskakovacím okně vyberte připojený hardware. „Flash Programmer“ je nyní předvyplněn všemi potřebnými údaji a vy můžete kliknout na „Program“.
- Klikněte na „Program“.
Po krátké chvíli se programování ukončí a vaše koncové zařízení nyní bliká s vaší upravenou verzí Zapnutí/Vypnutí.
3.2.1 Otestujte funkčnost
Otestujte funkčnost ověřením, že můžete změnit barvu RGB LED.
- Otestujte funkčnost pomocí „Basic Set ON“ v ovladači PC.
- Kliknutím na „Basic Set ON“ zobrazíte změnu barvy.
Nyní jsme ověřili, že úprava funguje podle očekávání a úspěšně jsme změnili GPIO tak, aby používal PWM.
4 Diskuse
V tomto cvičení jsme upravili Switch On/Off z ovládání jednoduché LED na ovládání vícebarevné LED. V závislosti na hodnotách PWM se nyní můžeme změnit na libovolnou barvu a intenzitu.
- Měl by být pro tuto aplikaci použit jako typ zařízení „Binary Switch“?
- Které třídy příkazů jsou vhodnější pro vícebarevnou LED?
Chcete-li odpovědět na otázku, měli byste se podívat na specifikaci Z-Wave:
- Specifikace typu zařízení Z-Wave Plus v2
- Specifikace třídy příkazů aplikace Z-Wave
Toto končí tutoriál o tom, jak upravit a změnit GPIO Z-Wave Sample Aplikace.
Přečtěte si více o této příručce a stáhněte si PDF:
Dokumenty / zdroje
![]() |
SILICON LABS Lab 3B - Zapnutí/vypnutí změny [pdfUživatelská příručka Lab 3B, Modify Switch, On, Off, Z-Wave, SDK |