SZILÍKON LOGO

SILICON LABS Lab 3B – Módosítsa a be-/kikapcsolás felhasználói útmutatót

SILICON LABS Lab 3B – Be/Ki kapcsoló módosítása

Ez a gyakorlati gyakorlat bemutatja, hogyan kell módosítani az egyik sampA Z-Wave SDK részeként szállított alkalmazások.

Ez a gyakorlat a „Z-Wave 1-Day Course” sorozat része.

  1. Tartalmazza a SmartStart használatát
  2. A Z-Wave RF keretek visszafejtése a Zniffer segítségével
  3. 3A: Fordítás Be/Ki és Hibakeresés engedélyezése
    3B: Be/Ki kapcsoló módosítása
  4. Ismerje meg a FLiRS eszközöket

 

FŐBB JELLEMZŐK

  • GPIO módosítása
  • PWM végrehajtása
  • Használjon beépített RGB LED-et

 

1. Bevezetés

Ez a gyakorlat az előző „3A: Compile Switch On/Off and enable debug” gyakorlatra épül, amely bemutatta, hogyan kell fordítani és használni a Be/Ki kapcsolót.ample alkalmazás.

Ebben a gyakorlatban módosítani fogjuk az sampalkalmazásban a LED-et vezérlő GPIO módosításával. Ezenkívül RGB LED-et fogunk használni, és megtanuljuk, hogyan lehet PWM-et használni a színek megváltoztatására.

1.1 Hardverkövetelmények

  • 1 WSTK Fő Fejlesztési Tanács
  • 1 Z-Wave rádiófejlesztő tábla: ZGM130S SiP modul
  • 1 db UZB vezérlő
  • 1 USB Zniffer

1.2 Szoftverkövetelmények

  • Simplicity Studio v4
  • Z-Wave 7 SDK
  • Z-Wave PC vezérlő
  • Z-Wave Zniffer

1. ÁBRA Fő fejlesztőkártya Z-Wave SiP modullal

1. ábra: Fő fejlesztőkártya Z-Wave SiP modullal

1.3 Előfeltételek
A korábbi gyakorlati gyakorlatok azt mutatták be, hogyan használhatjuk a PC Controller és a Zniffer alkalmazást a Z-Wave hálózat felépítésére és az RF kommunikáció rögzítésére fejlesztési célokra. Ez a gyakorlat feltételezi, hogy ismeri ezeket az eszközöket.

A korábbi gyakorlati gyakorlatok arra is vonatkoztak, hogyan kell használni az sampA Z-Wave SDK-val együtt szállított alkalmazások. Ez a gyakorlat feltételezi, hogy ismeri az egyik s használatát és fordításátample alkalmazások.

 

2. Navigáljon a tábla felületén

A Z-Wave keretrendszer a board.h és board.c által meghatározott hardveres absztrakciós réteggel (HAL) érkezik, amely lehetőséget biztosít arra, hogy minden hardverplatformhoz legyen implementáció.

A Hardware Abstraction Layer (HAL) egy programkód a rendszer hardvere és szoftvere között, amely konzisztens interfészt biztosít az alkalmazások számára, amelyek többféle hardverplatformon futhatnak. Advant vennitagEnnek a képességnek a segítségével az alkalmazásoknak a hardverhez a HAL által biztosított API-n keresztül kell hozzáférniük, nem pedig közvetlenül. Ezután, amikor új hardverre vált, csak a HAL-t kell frissítenie.

2.1 Nyissa meg az S-tample Projekt
Ehhez a gyakorlathoz meg kell nyitnia a Be/Ki kapcsolótample alkalmazás. Ha befejezte a „3A fordítás bekapcsolása és a hibakeresés engedélyezése” gyakorlatot, akkor már meg kell nyitnia a Simplicity Studio IDE-ben.

Ebben a részben a táblát nézzük meg files, és megértse a LED-ek inicializálását.

  1. A főből file „SwitchOnOff.c”, keresse meg az „ApplicationInit()” elemet, és vegye észre a Board_Init() meghívását.
  2. Helyezze kurzusát a Board_Init()-re, és nyomja meg az F3 billentyűt a deklaráció megnyitásához.

2. ÁBRA Nyissa ki az S-tample Projekt

3. A Board_Init()-ben figyelje meg, hogyan inicializálja a BOARD_LED_COUNT-ban lévő LED-eket a Board_Con-figLed()

3. ÁBRA Nyissa ki az S-tample Projekt

4. Helyezze kurzusát a BOARD_LED_COUNT számra, és nyomja meg az F3 billentyűt a deklaráció megnyitásához.
5. A led_id_t paraméterben definiált LED-ek a következők:

4. ÁBRA Nyissa ki az S-tample Projekt

6. Vissza a táblára.c file.
7. Helyezze kurzusát a Board_ConfigLed()-re, és nyomja meg az F3 billentyűt a deklaráció megnyitásához.
8. Figyelje meg, hogy a led_id_t paraméterben definiált összes LED kimenetként a Board_ConfigLed() paraméterben van konfigurálva.

5. ÁBRA Nyissa ki az S-tample Projekt

Ez azt jelenti, hogy a fejlesztői kártya összes LED-je kimenetként van meghatározva és használatra kész.

 

3. Végezzen módosítást a Z-Wave S-enample Alkalmazás

Ebben a gyakorlatban módosítani fogjuk a LED-ekhez használt GPIO-kat a Be/Ki kapcsolókbanample alkalmazás. Az előző részben megtudtuk, hogy a fejlesztői kártya összes LED-je már inicializálva van kimenetként és használatra készen.

3.1 Használja az RGB LED-et

A Z-Wave fejlesztői modulon a beépített RGB LED-et fogjuk használni, a gombpanelen lévő LED helyett.

1. Keresse meg a RefreshMMI funkciót a 6. ábrán látható módon a SwitchOnOff.c fő alkalmazásban. file.

6. ÁBRA RefreshMMI változtatás nélkül

6. ábra: RefreshMMI változtatás nélkül

2. A „Board_SetLed” függvényt fogjuk használni, de módosítsuk a GPIO-t erre
o BOARD_RGB1_R
o BOARD_RGB1_G
o BOARD_RGB1_B

3. Hívja háromszor a „Board_SetLed”-et OFF és ON állapotban is, a 3. ábrán látható módon.

7. ÁBRA RefreshMMI RGB LED használatára módosítva

Az új módosításunk már megvalósult, és Ön készen áll a fordításra.
Az eszköz programozásának lépéseit a „3A Fordítás Bekapcsolás és hibakeresés engedélyezése” gyakorlat tárgyalja, és röviden megismételjük itt:

  1. Kattintson a "Build" gombra 1-as ikont gombot a projekt felépítéséhez.
  2. Amikor az összeállítás befejeződött, bontsa ki a „Binaries” mappát, és kattintson jobb gombbal a *.hex fájlra file a „Flash to Device...” kiválasztásához.
  3. Válassza ki a csatlakoztatott hardvert a felugró ablakban. A „Flash Programmer” most minden szükséges adattal meg van töltve, és készen áll a „Program” gombra kattintani.
  4. Kattintson a „Program” gombra.

Rövid idő elteltével a programozás befejeződik, és a végkészüléken megjelenik a Be-/Kikapcsolás módosított verziója.

3.1.1 Tesztelje a működőképességet

A korábbi gyakorlatokban a SmartStart segítségével már beépítettük a készüléket egy biztonságos Z-Wave hálózatba. Útmutatásért lásd a „SmartStart használatának belefoglalása” című gyakorlatot.

Tipp A belső file a rendszer nem törlődik az újraprogramozások között. Ez lehetővé teszi, hogy a csomópont a hálózatban maradjon, és ugyanazokat a hálózati kulcsokat tartsa meg, amikor újraprogramozza.

Ha meg kell változtatni pl. a modul működési frekvenciáját vagy a DSK-t, akkor „törölnie” kell a chipet, mielőtt az új frekvencia a belső NVM-be kerülne.

Ennek megfelelően az Ön készüléke már benne van a hálózatban.

Tesztelje a működést úgy, hogy ellenőrizze, be- és kikapcsolhatja-e az RGB LED-et.

  • Tesztelje a funkcionalitást a PC-vezérlő „Basic Set ON” és „Basic Set OFF” gombjaival. Az RGB LED-nek BE és KI kell kapcsolnia.
  • Az RGB LED a hardver BTN0 használatával is be- és kikapcsolható.

Mostanra ellenőriztük, hogy a módosítás a várt módon működik, és sikeresen megváltoztattuk az S-ben használt GPIO-tample Alkalmazás

3.2 Módosítsa az RGB színösszetevőt

Ebben a részben módosítani fogjuk az RGB LED-et, és megpróbáljuk keverni a színösszetevőket.

„Az RGB színmodellben egy színt úgy írnak le, hogy jelzi, hogy a vörös, zöld és kék mennyit tartalmaz. A színt RGB hármasként fejezzük ki (r,g,b), amelynek minden egyes összetevője nullától egy meghatározott maximális értékig változhat. Ha az összes komponens nulla, az eredmény fekete; ha mindegyik a maximumon van, az eredmény a legfényesebb ábrázolható fehér.

A Wikipédiából tovább RGB színmodell.

8. ÁBRA RGB színösszetevők keverve

Mivel az előző részben engedélyeztük az összes színösszetevőt, az RGB LED fehéren világít, ha be van kapcsolva. Az egyes komponensek ki- és bekapcsolásával tudjuk cserélni a LED-et. Ráadásul az egyes színösszetevők intenzitásának beállításával az összes színt a kettő között is elkészíthetjük. Ehhez PWM-et fogunk használni a GPIO-k vezérlésére.

  1. Az ApplicationTask() programban inicializálja a PwmTimer-t, és állítsa be az RGB érintkezőket PWM-re, a 9. ábrán látható módon.                                                                                9. ÁBRA ApplicationTask-ban inicializált PWM
  2. A RefreshMMI()-ben minden színösszetevőhöz véletlenszerű számot fogunk használni. A rand() segítségével minden alkalommal új értéket kaphat, amikor a LED be van kapcsolva.
  3. A DPRINTF() segítségével írja be az újonnan generált értéket a soros hibakeresési portra.
  4. Cserélje ki a Board_SetLed() paramétert Board_RgbLedSetPwm() értékre a véletlen érték használatához.
  5. Tekintse meg a 10. ábrát a frissített RefreshMMI().

10. ÁBRA RefreshMMI frissítve PWM-mel

10. ábra: PWM-mel frissített RefreshMMI

Az új módosításunk már megvalósult, és Ön készen áll a fordításra.

  1. Kattintson a "Build" gombra 1-as ikont gombot a projekt felépítéséhez.
  2. Amikor az összeállítás befejeződött, bontsa ki a „Binaries” mappát, és kattintson jobb gombbal a *.hex fájlra file a „Flash to Device...” kiválasztásához.
  3. Válassza ki a csatlakoztatott hardvert a felugró ablakban. A „Flash Programmer” most minden szükséges adattal meg van töltve, és készen áll a „Program” gombra kattintani.
  4. Kattintson a „Program” gombra.

Rövid idő elteltével a programozás befejeződik, és a végkészüléken megjelenik a Be-/Kikapcsolás módosított verziója.

3.2.1 Tesztelje a funkcionalitást

Tesztelje a funkcionalitást az RGB LED színének megváltoztatásával.

  1. Tesztelje a működőképességet a PC-vezérlő „Basic Set ON” funkciójával.
  2. Kattintson a „Basic Set ON” gombra a színváltozás megtekintéséhez.

Mostanra ellenőriztük, hogy a módosítás a várt módon működik-e, és sikeresen megváltoztattuk a GPIO-t PWM használatára.

4 Megbeszélés

Ebben a gyakorlatban a Be/Ki kapcsolót egy egyszerű LED vezérléséről egy többszínű LED vezérlésére módosítottuk. A PWM értékektől függően most már bármilyen színre és intenzitásra válthatunk.

  • Használjon „bináris kapcsolót” eszköztípusként ehhez az alkalmazáshoz?
  • Mely parancsosztályok alkalmasak többszínű LED-ekre?

A kérdés megválaszolásához olvassa el a Z-Wave specifikációját:

  • Z-Wave Plus v2 eszköztípus specifikáció
  • A Z-Wave alkalmazás parancsosztályának specifikációja

Ezzel befejeződik a Z-Wave S GPIO-inak módosításáról és módosításáról szóló oktatóanyag.ample Alkalmazás.

 

További információ erről a kézikönyvről és PDF letöltése:

Dokumentumok / Források

SILICON LABS Lab 3B – Be/Ki kapcsoló módosítása [pdf] Felhasználói útmutató
Lab 3B, Módosítás kapcsoló, Be, Ki, Z-Wave, SDK

Hivatkozások

Hagyj megjegyzést

E-mail címét nem tesszük közzé. A kötelező mezők meg vannak jelölve *