SILICON LABS Lab 3B – Baguhin ang Switch On/Off User Guide
Ipapakita ng hands-on na ehersisyong ito kung paano gumawa ng pagbabago sa isa sa mga sampang mga application na ipinapadala bilang bahagi ng Z-Wave SDK.
Ang pagsasanay na ito ay bahagi ng seryeng "Z-Wave 1-Day Course".
- Isama ang paggamit ng SmartStart
- I-decrypt ang Z-Wave RF Frame gamit ang Zniffer
- 3A: I-compile ang Switch On/Off at I-enable ang Debug
3B: Baguhin ang Switch On/Off - Unawain ang mga FLiRS device
MGA PANGUNAHING TAMPOK
- Baguhin ang GPIO
- Ipatupad ang PWM
- Gumamit ng on-board na RGB LED
1. Panimula
Bumubuo ang pagsasanay na ito sa itaas ng nakaraang ehersisyo na "3A: Compile Switch On/Off and enable debug", na nagpakita kung paano i-compile at gamitin ang Switch On/Off sampang aplikasyon.
Sa pagsasanay na ito gagawa tayo ng pagbabago sa sample application, sa pamamagitan ng pagbabago ng GPIO na kumokontrol sa LED. Bilang karagdagan, gagamit kami ng RGB LED at matutunan kung paano gamitin ang PWM para magpalit ng kulay.
1.1 Mga Kinakailangan sa Hardware
- 1 WSTK Main Development Board
- 1 Z-Wave Radio Development Board: ZGM130S SiP Module
- 1 UZB Controller
- 1 USB Zniffer
1.2 Mga Kinakailangan sa Software
- Simplicity Studio v4
- Z-Wave 7 SDK
- Controller ng Z-Wave PC
- Z-Wave Zniffer
Larawan 1: Pangunahing Development Board na may Z-Wave SiP Module
1.3 Mga Kinakailangan
Ang mga nakaraang Hands-On na pagsasanay ay sumasaklaw sa kung paano gamitin ang PC Controller at Zniffer application upang bumuo ng Z-Wave network at pagkuha ng RF na komunikasyon para sa layunin ng pagpapaunlad. Ipinapalagay ng pagsasanay na ito na pamilyar ka sa mga tool na ito.
Ang mga nakaraang pagsasanay sa Hands-On ay sumaklaw din kung paano gamitin ang sampang mga application na ipinapadala gamit ang Z-Wave SDK. Ipinapalagay ng pagsasanay na ito na pamilyar ka sa paggamit at pagsasama-sama ng isa sa mga sampang mga aplikasyon.
Ang Z-Wave framework ay may kasamang hardware abstraction layer (HAL) na tinukoy ng board.h at board.c, na nagbibigay ng posibilidad na magkaroon ng mga pagpapatupad para sa bawat isa sa iyong mga hardware platform.
Ang Hardware Abstraction Layer (HAL) ay program code sa pagitan ng hardware ng system at ng software nito na nagbibigay ng pare-parehong interface para sa mga application na maaaring tumakbo sa iba't ibang hardware platform. Para kumuha ng advantagsa kakayahang ito, dapat na ma-access ng mga application ang hardware sa pamamagitan ng API na ibinigay ng HAL, sa halip na direkta. Pagkatapos, kapag lumipat ka sa bagong hardware, kailangan mo lang i-update ang HAL.
2.1 Buksan ang Sampang Proyekto
Para sa pagsasanay na ito kailangan mong buksan ang Switch On / Off sampang aplikasyon. Kung nakumpleto mo ang ehersisyo na "3A Compile Switch OnOff at i-enable ang debug", dapat na itong mabuksan sa iyong Simplicity Studio IDE.
Sa seksyong ito titingnan natin ang pisara files at maunawaan kung paano sinisimulan ang mga LED.
- Mula sa pangunahing file “SwitchOnOff.c”, hanapin ang “ApplicationInit()” at pansinin ang tawag sa Board_Init().
- Ilagay ang iyong courser sa Board_Init() at pindutin ang F3 para buksan ang deklarasyon.
3. Sa Board_Init()pansinin kung paano sinisimulan ang mga LED na nasa BOARD_LED_COUNT sa pamamagitan ng tinatawag na Board_Con-figLed()
4. Ilagay ang iyong courser sa BOARD_LED_COUNT at pindutin ang F3 para buksan ang deklarasyon.
5. Ang mga LED na tinukoy sa led_id_t ay ang mga sumusunod:
6. Bumalik sa pisara.c file.
7. Ilagay ang iyong courser sa Board_ConfigLed() at pindutin ang F3 para buksan ang deklarasyon.
8. Pansinin ang lahat ng mga LED na tinukoy sa led_id_t ay pagkatapos ay isinaayos sa Board_ConfigLed() bilang output.
Ang ibig sabihin nito ay, na ang lahat ng LED sa development board ay tinukoy na bilang mga output at handa nang gamitin.
3. Gumawa ng Pagbabago sa Z-Wave Sample Application
Sa pagsasanay na ito, babaguhin natin ang mga GPIO na ginagamit para sa LED sa mga Switch On/Offampang aplikasyon. Sa nakaraang seksyon natutunan namin kung paano nasimulan na ang lahat ng LED sa development board bilang output at handa nang gamitin.
3.1 Gamitin ang RGB LED
Gagamitin namin ang onboard RGB LED sa Z-Wave development module, sa halip na ang LED sa button board.
1. Hanapin ang function ng RefreshMMI, tulad ng nakikita sa Figure 6, sa pangunahing application ng SwitchOnOff.c file.
Figure 6: RefreshMMI nang walang anumang pagbabago
2. Gagamitin namin ang function na "Board_SetLed" ngunit palitan ang GPIO sa
o BOARD_RGB1_R
o BOARD_RGB1_G
o BOARD_RGB1_B
3. Tawagan ang "Board_SetLed" 3 beses sa parehong OFF na estado at sa ON na estado, tulad ng ipinapakita sa Figure 7.
Ang aming bagong pagbabago ay ipinatupad na ngayon, at handa ka nang mag-compile.
Ang mga hakbang sa pag-program ng isang device ay sakop sa ehersisyo na "3A Compile Switch OnOff at paganahin ang debug", at panandaliang inuulit dito:
- Mag-click sa "Bumuo"
pindutan upang simulan ang pagbuo ng proyekto.
- Kapag natapos na ang build, palawakin ang folder na "Binaries" at i-right click sa *.hex file para piliin ang “Flash to Device..”.
- Piliin ang konektadong hardware sa pop-up window. Ang "Flash Programmer" ay napuno na ngayon ng lahat ng kinakailangang data, at handa ka nang mag-click sa "Programa".
- I-click ang "Programa".
Pagkaraan ng ilang sandali ay natapos na ang programming, at ang iyong end device ay nag-flash na kasama ng iyong binagong bersyon ng Switch On/Off.
3.1.1 Subukan ang functionality
Sa mga nakaraang pagsasanay naisama na namin ang device sa isang secure na Z-Wave network gamit ang SmartStart. Sumangguni sa ehersisyo na "Isama ang paggamit ng SmartStart" para sa mga tagubilin.
Hint Ang panloob file ang system ay hindi nabubura sa pagitan ng reprogramming. Binibigyang-daan nito ang isang node na manatili sa isang network at panatilihin ang parehong mga key ng network kapag i-reprogram mo ito.
Kung kailangan mong baguhin hal. ang frequency kung saan gumagana ang module o ang DSK, kailangan mong "Burahin" ang chip bago isulat ang bagong frequency sa panloob na NVM.
Dahil dito, ang iyong device ay kasama na sa network.
Subukan ang functionality sa pamamagitan ng pag-verify na maaari mong I-ON at I-OFF ang RGB LED.
- Subukan ang functionality gamit ang "Basic Set ON" at "Basic Set OFF" sa PC Controller. Ang RGB LED ay dapat na naka-ON at naka-OFF.
- Ang RGB LED ay maaari ding i-ON at OFF gamit ang BTN0 sa hardware.
Na-verify na namin ngayon na gumagana ang pagbabago gaya ng inaasahan at matagumpay na nabago ang GPIO na ginamit sa isang Sample Application
3.2 Baguhin ang bahagi ng kulay ng RGB
Sa seksyong ito, babaguhin namin ang RGB LED at susubukan naming paghaluin ang mga bahagi ng kulay.
“Ang isang kulay sa modelo ng kulay ng RGB ay inilalarawan sa pamamagitan ng pagsasabi kung gaano karami sa bawat isa sa pula, berde, at asul ang kasama. Ang kulay ay ipinahayag bilang RGB triplet (r,g,b), ang bawat bahagi nito ay maaaring mag-iba mula sa zero hanggang sa tinukoy na maximum na halaga. Kung ang lahat ng mga compo-nents ay nasa zero ang resulta ay itim; kung ang lahat ay nasa maximum, ang resulta ay ang pinakamaliwanag na kinakatawan na puti."
Mula sa Wikipedia sa Modelo ng Kulay ng RGB.
Dahil pinagana namin ang lahat ng bahagi ng kulay sa nakaraang seksyon, puti ang RGB LED kapag NAKA-ON. Sa pamamagitan ng pag-on at off ng mga indibidwal na bahagi, maaari naming baguhin ang LED. Bilang karagdagan, sa pamamagitan ng pagsasaayos ng intensity ng bawat bahagi ng kulay, maaari naming gawin ang lahat ng mga kulay sa pagitan. Para diyan, gagamitin namin ang PWM para kontrolin ang mga GPIO.
- Sa ApplicationTask() simulan ang PwmTimer at i-setup ang RGB pin sa PWM, tulad ng ipinapakita sa Figure 9.
- Sa RefreshMMI(), gagamit kami ng random na numero para sa bawat bahagi ng kulay. Gumamit ng rand() para makakuha ng bagong value sa tuwing naka-ON ang LED.
- Gamitin ang DPRINTF() para isulat ang bagong nabuong value sa serial debug port.
- Palitan ang Board_SetLed() ng Board_RgbLedSetPwm(), upang magamit ang random na halaga.
- Sumangguni sa Figure 10 para sa na-update na RefreshMMI().
Larawan 10: Na-update ang RefreshMMI gamit ang PWM
Ang aming bagong pagbabago ay ipinatupad na ngayon, at handa ka nang mag-compile.
- Mag-click sa "Bumuo"
pindutan upang simulan ang pagbuo ng proyekto.
- Kapag natapos na ang build, palawakin ang folder na "Binaries" at i-right click sa *.hex file para piliin ang “Flash to Device..”.
- Piliin ang konektadong hardware sa pop-up window. Ang "Flash Programmer" ay napuno na ngayon ng lahat ng kinakailangang data, at handa ka nang mag-click sa "Programa".
- I-click ang "Programa".
Pagkaraan ng ilang sandali ay natapos na ang programming, at ang iyong end device ay nag-flash na kasama ng iyong binagong bersyon ng Switch On/Off.
3.2.1 Subukan ang Functionality
Subukan ang functionality sa pamamagitan ng pag-verify na maaari mong baguhin ang kulay ng RGB LED.
- Subukan ang functionality gamit ang "Basic Set ON" sa PC Controller.
- Mag-click sa “Basic Set ON” para makita ang pagbabago sa kulay.
Na-verify na namin ngayon na gumagana ang pagbabago gaya ng inaasahan at matagumpay na nabago ang GPIO para magamit ang PWM.
4 Pagtalakay
Sa pagsasanay na ito, binago namin ang Switch On/Off mula sa pagkontrol sa isang simpleng LED patungo sa pagkontrol sa isang multi-color na LED. Depende sa mga halaga ng PWM, maaari na tayong magbago sa anumang kulay at intensity.
- Dapat bang gamitin ang isang "Binary Switch" bilang Uri ng Device para sa application na ito?
- Aling mga klase ng command ang mas angkop para sa isang multi-color na LED?
Upang masagot ang tanong, dapat kang sumangguni sa detalye ng Z-Wave:
- Z-Wave Plus v2 Detalye ng Uri ng Device
- Detalye ng Klase ng Utos ng Z-Wave Application
Tinatapos nito ang tutorial kung paano baguhin at baguhin ang mga GPIO ng isang Z-Wave Sample Application.
Magbasa Nang Higit Pa Tungkol sa Manwal na Ito at Mag-download ng PDF:
Mga Dokumento / Mga Mapagkukunan
![]() |
SILICON LABS Lab 3B - Baguhin ang Switch On/Off [pdf] Gabay sa Gumagamit Lab 3B, Baguhin ang Switch, On, Off, Z-Wave, SDK |