SILICON LOGO

SILICON LABS Lab 3B – Modifye switch On/Off Gid itilizatè

SILICON LABS Lab 3B - Modifye switch On/Off

Egzèsis pratik sa a pral montre kijan pou fè yon modifikasyon sou youn nan s yoample aplikasyon ki anbake kòm yon pati nan Z-Wave SDK la.

Egzèsis sa a fè pati seri "Z-Wave 1-Day Course".

  1. Mete w ap itilize SmartStart
  2. Dechifre Z-Wave RF ankadreman lè l sèvi avèk Zniffer la
  3. 3A: Konpile switch On/Off ak Pèmèt Debug
    3B: Modifye switch On/Off
  4. Konprann aparèy FLiRS

 

Karakteristik KLE

  • Chanje GPIO
  • Aplike PWM
  • Sèvi ak abò RGB LED

 

1. Entwodiksyon

Egzèsis sa a ap bati sou egzèsis anvan an "3A: Konpile Switch On/Off ak pèmèt debug", ki te montre kijan pou konpile epi sèvi ak switch On/Off yo.ample aplikasyon.

Nan egzèsis sa a nou pral fè yon modifikasyon nan sample aplikasyon, pa chanje GPIO ki kontwole dirije a. Anplis de sa, nou pral sèvi ak yon LED RGB epi aprann kijan pou itilize PWM pou chanje koulè.

1.1 Kondisyon pyès ki nan konpitè

  • 1 Konsèy Devlopman prensipal WSTK
  • 1 Z-Wave Radyo Devlopman Komisyon Konsèy: ZGM130S SiP Modil
  • 1 UZB Kontwolè
  • 1 USB Zniffer

1.2 Kondisyon lojisyèl

  • Simplicity Studio v4
  • Z-Wave 7 SDK
  • Z-Wave PC Controller
  • Z-Wave Zniffer

FIG 1 Komisyon Konsèy Devlopman Prensipal ak Z-Wave SiP Modil

Figi 1: Komisyon Konsèy Devlopman Prensipal ak Z-Wave SiP Modil

1.3 Prekondisyon
Egzèsis pratik anvan yo te kouvri kijan pou itilize PC Controller ak aplikasyon Zniffer pou konstwi yon rezo Z-Wave ak kaptire kominikasyon RF pou objektif devlopman. Egzèsis sa a sipoze ou abitye ak zouti sa yo.

Previous Hands-On ekzèsis yo te kouvri tou kijan pou yo itilize sample aplikasyon ki anbake ak Z-Wave SDK la. Egzèsis sa a sipoze ou abitye ak itilize ak konpile youn nan s yoample aplikasyon yo.

 

2. Navige Entèfas Komisyon Konsèy la

Z-Wave kad la vini ak yon kouch abstrè pyès ki nan konpitè (HAL) defini pa board.h ak board.c, bay posibilite pou gen aplikasyon pou chak nan platfòm pyès ki nan konpitè ou yo.

Kouch Abstraksyon Materyèl (HAL) se kòd pwogram ant pyès ki nan konpitè yon sistèm ak lojisyèl li yo ki bay yon koòdone ki konsistan pou aplikasyon ki ka kouri sou plizyè platfòm kenkayri diferan. Pou pran avantage nan kapasite sa a, aplikasyon yo ta dwe jwenn aksè nan pyès ki nan konpitè atravè API ki bay pa HAL la, olye ke dirèkteman. Lè sa a, lè ou deplase nan nouvo pyès ki nan konpitè, ou sèlman bezwen mete ajou HAL la.

2.1 Louvri Sample Pwojè
Pou fè egzèsis sa a ou bezwen louvri switch On / Off yoample aplikasyon. Si ou fin fè egzèsis "3A Compile Switch OnOff ak pèmèt debug", li ta dwe deja louvri nan IDE Simplicity Studio ou a.

Nan seksyon sa a nou pral gade nan tablo a files ak konprann ki jan LED yo inisyalize.

  1. Soti nan prensipal la file "SwitchOnOff.c", lokalize "ApplicationInit()" epi remake apèl Board_Init().
  2. Mete kour ou a sou Board_Init() epi peze sou F3 pou ouvri deklarasyon an.

FIG 2 Louvri Sample Pwojè

3. Nan Board_Init () remake ki jan LED ki genyen nan BOARD_LED_COUNT yo te inisyalize pa rele Board_Con-figLed ()

FIG 3 Louvri Sample Pwojè

4. Mete kour ou a sou BOARD_LED_COUNT epi peze sou F3 pou ouvri deklarasyon an.
5. LED yo defini nan led_id_t se jan sa a:

FIG 4 Louvri Sample Pwojè

6. Retounen nan tablo a.c file.
7. Mete kour ou a sou Board_ConfigLed() epi peze sou F3 pou louvri deklarasyon an.
8. Remake tout LED yo defini nan led_id_t yo Lè sa a, configuré nan Board_ConfigLed () kòm pwodiksyon.

FIG 5 Louvri Sample Pwojè

Ki sa sa vle di se, ke tout LED sou tablo devlopman yo deja defini kòm rezilta ak pare pou itilize.

 

3. Fè yon modifikasyon nan yon Z-Wave Sample Aplikasyon

Nan egzèsis sa a nou pral modifye GPIO yo itilize pou dirije nan switch On/Off yoample aplikasyon. Nan seksyon anvan an nou te aprann ki jan tout LED sou tablo devlopman yo deja inisyalize kòm pwodiksyon ak pare pou itilize.

3.1 Sèvi ak LED RGB la

Nou pral itilize abò RGB LED sou modil devlopman Z-Wave, olye pou yo dirije sou tablo bouton an.

1. Jwenn fonksyon RefreshMMI, jan yo wè nan Figi 6, nan aplikasyon prensipal SwitchOnOff.c. file.

FIG 6 RefreshMMI san okenn modifikasyon

Figi 6: RefreshMMI san okenn modifikasyon

2. Nou pral sèvi ak fonksyon "Board_SetLed" men chanje GPIO a
o BOARD_RGB1_R
o BOARD_RGB1_G
o BOARD_RGB1_B

3. Rele "Board_SetLed" 3 fwa nan eta OFF ak nan eta ON, jan yo montre nan Figi 7 la.

FIG 7 RefreshMMI modifye pou itilize RGB LED

Nouvo modifikasyon nou an aplike kounye a, epi ou pare pou konpile.
Etap yo pou pwograme yon aparèy yo kouvri nan egzèsis "3A Konpile Switch OnOff ak pèmèt debug", epi yo repete yon ti tan isit la:

  1. Klike sou "Konstwi" IKON 1 bouton pou kòmanse bati pwojè a.
  2. Lè bati a fini, elaji katab la "Binè" ak dwa klike sou *.hex la file pou chwazi "Flash nan aparèy...".
  3. Chwazi pyès ki nan konpitè konekte nan fenèt pop-up la. Kounye a “Flash Programmer” la ranpli ak tout done ki nesesè yo, epi ou pare pou klike sou “Pwogram”.
  4. Klike sou "Pwogram".

Apre yon ti tan pwogramasyon an fini, epi aparèy final ou a ap parèt kounye a ak vèsyon modifye ou nan Switch On/Off.

3.1.1 Teste fonksyonalite a

Nan egzèsis anvan nou te deja mete aparèy la nan yon rezo Z-Wave ki an sekirite lè l sèvi avèk SmartStart. Gade nan egzèsis "Enkli lè l sèvi avèk SmartStart" pou enstriksyon yo.

Sijesyon Entèn la file sistèm pa efase ant repwogram. Sa a pèmèt yon ne rete nan yon rezo epi kenbe menm kle rezo yo lè ou repwograme li.

Si ou bezwen chanje pa egzanp frekans modil la opere oswa DSK la, ou bezwen "Efase" chip la anvan yo pral ekri frekans nan nouvo nan NVM entèn la.

Kòm sa yo, aparèy ou a deja enkli nan rezo a.

Teste fonksyonalite a lè w verifye ou ka limen ak etenn LED RGB la.

  • Teste fonksyonalite a lè l sèvi avèk "Basic Set ON" ak "Basic Set OFF" nan PC Controller la. LED RGB yo ta dwe limen ak etenn.
  • LED RGB la kapab tou limen ak etenn lè l sèvi avèk BTN0 sou pyès ki nan konpitè.

Kounye a nou verifye ke modifikasyon an ap travay jan yo espere epi nou chanje avèk siksè GPIO yo itilize nan yon Sample Aplikasyon

3.2 Chanje eleman koulè RGB

Nan seksyon sa a, nou pral modifye ki ap dirije RGB epi eseye melanje eleman koulè yo.

"Yon koulè nan modèl koulè RGB la dekri lè li endike konbyen nan chak wouj, vèt ak ble ki enkli ladan li. Koulè a ​​eksprime kòm yon triplet RGB (r,g,b), chak eleman nan ki ka varye soti nan zewo a yon valè maksimòm defini. Si tout konpozan yo nan zewo rezilta a se nwa; si tout yo nan maksimòm, rezilta a se blan ki pi klere ki reprezante.”

Soti nan Wikipedia sou Modèl koulè RGB.

FIG 8 konpozan koulè RGB melanje ansanm

Depi nou te pèmèt tout konpozan koulè nan seksyon anvan an, ki ap dirije RGB la se blan lè ON. Pa vire sou yo ak sou eleman endividyèl yo, nou ka chanje dirije a. Anplis de sa, pa ajiste entansite a nan chak eleman koulè, nou ka fè tout koulè yo ant. Pou sa, nou pral itilize PWM pou kontwole GPIO yo.

  1. Nan ApplicationTask() inisyalize PwmTimer la ak konfigirasyon broch RGB yo nan PWM, jan yo montre nan Figi 9.                                                                                FIG 9 PWM inisyalize nan ApplicationTask
  2. Nan RefreshMMI(), nou pral sèvi ak yon nimewo o aza pou chak eleman koulè. Sèvi ak rand() pou jwenn yon nouvo valè chak fwa LED la limen.
  3. Sèvi ak DPRINTF() pou ekri valè ki fèk pwodwi a nan pò seri debug la.
  4. Ranplase Board_SetLed () ak Board_RgbLedSetPwm (), yo nan lòd yo sèvi ak valè a o aza.
  5. Gade nan Figi 10 pou mete ajou RefreshMMI().

FIG 10 RefreshMMI mete ajou ak PWM

Figi 10: RefreshMMI mete ajou ak PWM

Nouvo modifikasyon nou an aplike kounye a, epi ou pare pou konpile.

  1. Klike sou "Konstwi" IKON 1 bouton pou kòmanse bati pwojè a.
  2. Lè bati a fini, elaji katab la "Binè" ak dwa klike sou *.hex la file pou chwazi "Flash nan aparèy...".
  3. Chwazi pyès ki nan konpitè konekte nan fenèt pop-up la. Kounye a “Flash Programmer” la ranpli ak tout done ki nesesè yo, epi ou pare pou klike sou “Pwogram”.
  4. Klike sou "Pwogram".

Apre yon ti tan pwogramasyon an fini, epi aparèy final ou a ap parèt kounye a ak vèsyon modifye ou nan Switch On/Off.

3.2.1 Teste Fonksyonalite a

Teste fonksyonalite a lè w verifye ou ka chanje koulè ki ap dirije RGB la.

  1. Teste fonksyonalite a lè l sèvi avèk "Basic Set ON" nan PC Controller la.
  2. Klike sou "Basic Set ON" pou wè yon chanjman nan koulè.

Koulye a, nou verifye ke modifikasyon an ap travay jan yo espere epi yo te chanje avèk siksè GPIO pou itilize PWM.

4 Diskisyon

Nan egzèsis sa a nou te modifye Switch On/Off soti nan kontwole yon LED senp pou kontwole yon LED ki gen plizyè koulè. Tou depan de valè PWM yo, nou ka kounye a chanje nan nenpòt koulè ak entansite.

  • Èske yo ta dwe itilize yon "Binè Chanjman" kòm Kalite Aparèy pou aplikasyon sa a?
  • Ki klas kòmand ki pi byen adapte pou yon LED ki gen plizyè koulè?

Pou reponn kesyon an, ou ta dwe refere a spesifikasyon Z-Wave:

  • Z-Wave Plus v2 Espesifikasyon Kalite Aparèy
  • Z-Wave Aplikasyon Klas Kòmand Espesifikasyon

Sa a konkli leson patikilye a sou fason pou modifye ak chanje GPIO yo nan yon Z-Wave Sample Aplikasyon.

 

Li plis sou manyèl sa a epi telechaje PDF:

Dokiman / Resous

SILICON LABS Lab 3B - Modifye switch On/Off [pdfGid Itilizatè
Laboratwa 3B, Modify Switch, On, Off, Z-Wave, SDK

Referans

Kite yon kòmantè

Adrès imel ou p ap pibliye. Jaden obligatwa yo make *