SILICON LABS Lab 3B – Käyttöopas Modify Switch On/Off
Tämä käytännön harjoitus osoittaa, kuinka tehdä muutoksia johonkin sampsovelluksia, jotka toimitetaan osana Z-Wave SDK:ta.
Tämä harjoitus on osa sarjaa "Z-Wave 1-Day Course".
- Ota mukaan SmartStart
- Pura Z-Wave RF -kehysten salaus Znifferin avulla
- 3A: Käännä päälle/pois päältä ja ota käyttöön virheenkorjaus
3B: Muokkaa Kytke päälle/pois - Ymmärrä FLiRS-laitteet
KESKEISET OMINAISUUDET
- Vaihda GPIO
- Ota käyttöön PWM
- Käytä sisäänrakennettua RGB-LED-valoa
1. Johdanto
Tämä harjoitus rakentuu edellisen harjoituksen "3A: Compile Switch On/Off and enable debug" päälle, joka osoitti kuinka kääntää ja käyttää Switch On/Off s.ample sovellus.
Tässä harjoituksessa teemme muutoksen sampsovelluksessa vaihtamalla LED-valoa ohjaava GPIO. Lisäksi käytämme RGB-LEDiä ja opimme käyttämään PWM:ää värien vaihtamiseen.
1.1 Laitteistovaatimukset
- 1 WSTK:n pääkehityslautakunta
- 1 Z-Wave Radion kehityskortti: ZGM130S SiP-moduuli
- 1 UZB-ohjain
- 1 USB Zniffer
1.2 Ohjelmistovaatimukset
- Simplicity Studio v4
- Z-Wave 7 SDK
- Z-Wave PC-ohjain
- Z-Wave Zniffer
Kuva 1: Pääkehityskortti Z-Wave SiP -moduulilla
1.3 Edellytykset
Aiemmissa käytännön harjoituksissa on käsitelty PC-ohjaimen ja Zniffer-sovelluksen käyttämistä Z-Wave-verkon rakentamiseen ja RF-viestinnän sieppaamiseen kehitystarkoituksiin. Tämä harjoitus olettaa, että tunnet nämä työkalut.
Aiemmissa käytännön harjoituksissa on myös käsitelty sampsovelluksia, jotka toimitetaan Z-Wave SDK:n kanssa. Tämä harjoitus olettaa, että osaat käyttää ja kääntää jonkin sampsovelluksia.
Z-Wave-kehys sisältää board.h:n ja board.c:n määrittelemän laitteiston abstraktiokerroksen (HAL), joka tarjoaa mahdollisuuden toteuttaa kullekin laitteistoympäristöllesi.
Hardware Abstraction Layer (HAL) on järjestelmän laitteiston ja ohjelmiston välinen ohjelmakoodi, joka tarjoaa yhtenäisen käyttöliittymän sovelluksille, jotka voivat toimia useilla eri laitteistoalustoilla. Ottaakseen advanintagTämän ominaisuuden ansiosta sovellusten tulee käyttää laitteistoa HAL:n tarjoaman API:n kautta eikä suoraan. Sitten, kun siirryt uuteen laitteistoon, sinun tarvitsee vain päivittää HAL.
2.1 Avaa Sample projekti
Tätä harjoitusta varten sinun on avattava Switch On / Off sample sovellus. Jos suoritit harjoituksen "3A Compile Switch OnOff and enable debug", sen pitäisi olla jo avattu Simplicity Studio IDE:ssä.
Tässä osiossa tarkastelemme taulua files ja ymmärrä kuinka LEDit alustetaan.
- Pääosasta file "SwitchOnOff.c", etsi "ApplicationInit()" ja huomaa kutsun Board_Init().
- Aseta kurssin suorittaja kohtaan Board_Init() ja paina F3 avataksesi ilmoituksen.
3. Kohdassa Board_Init() huomaa, kuinka BOARD_LED_COUNT:n sisältämät LEDit alustetaan nimellä Board_Con-figLed()
4. Aseta kurssin suorittaja kohtaan BOARD_LED_COUNT ja paina F3 avataksesi ilmoituksen.
5. LED_id_t:ssä määritellyt LEDit ovat seuraavat:
6. Palaa taululle.c file.
7. Aseta kurssin suorittaja kohtaan Board_ConfigLed() ja paina F3 avataksesi ilmoituksen.
8. Huomaa, että kaikki led_id_t:ssä määritellyt LEDit konfiguroidaan sitten Board_ConfigLed() -lähtöön.
Tämä tarkoittaa, että kaikki kehityskortin LED-valot on jo määritetty ulostuloiksi ja valmiiksi käyttöön.
3. Tee muutos Z-Wave S:äänample Sovellus
Tässä harjoituksessa muokkaamme GPIO:ita, joita käytetään LED-valoissa Switch On/Off sample sovellus. Edellisessä osiossa opimme kuinka kaikki kehityskortin LEDit on jo alustettu ulostuloksi ja käyttövalmiiksi.
3.1 Käytä RGB-LEDiä
Käytämme Z-Wave-kehitysmoduulissa sisäänrakennettua RGB-LEDiä painikelevyn LEDin sijaan.
1. Etsi SwitchOnOff.c-pääsovelluksesta RefreshMMI-toiminto, joka näkyy kuvassa 6. file.
Kuva 6: RefreshMMI ilman muutoksia
2. Käytämme toimintoa "Board_SetLed", mutta muutamme GPIO:ksi
o BOARD_RGB1_R
o BOARD_RGB1_G
o BOARD_RGB1_B
3. Soita "Board_SetLed" 3 kertaa sekä OFF- että ON-tilassa kuvan 7 mukaisesti.
Uusi versiomme on nyt otettu käyttöön, ja olet valmis kääntämään.
Laitteen ohjelmoinnin vaiheet on käsitelty harjoituksessa “3A Käännä päälle ja ota käyttöön virheenkorjaus” ja toistetaan lyhyesti tässä:
- Napsauta "Rakenna"
-painiketta aloittaaksesi projektin rakentamisen.
- Kun rakentaminen on valmis, laajenna "Binaries"-kansio ja napsauta hiiren kakkospainikkeella *.hex-tiedostoa file valitaksesi "Flash to Device...".
- Valitse yhdistetty laitteisto ponnahdusikkunasta. "Flash Programmer" on nyt esitäytetty kaikilla tarvittavilla tiedoilla, ja olet valmis napsauttamaan "Ohjelma".
- Napsauta "Ohjelma".
Hetken kuluttua ohjelmointi päättyy, ja päätelaitteessa näkyy nyt muokattu Switch On/Off versio.
3.1.1 Testaa toimivuus
Aiemmissa harjoituksissa olemme jo liittäneet laitteen suojattuun Z-Wave-verkkoon SmartStartin avulla. Katso ohjeet harjoituksesta "Sisällytä SmartStartin käyttö".
Vihje Sisäinen file järjestelmää ei tyhjennetä uudelleenohjelmoinnin välillä. Tämä sallii solmun pysyä verkossa ja säilyttää samat verkkoavaimet, kun ohjelmoit sen uudelleen.
Jos joudut muuttamaan esim. moduulin toimintataajuutta tai DSK:ta, sinun tulee "Poista" siru ennen kuin uusi taajuus kirjoitetaan sisäiseen NVM:ään.
Näin ollen laitteesi on jo mukana verkossa.
Testaa toimivuutta varmistamalla, että voit kytkeä RGB-LEDin päälle ja pois päältä.
- Testaa toimintoja käyttämällä PC-ohjaimen "Basic Set ON"- ja "Basic Set OFF" -asetuksia. RGB-LEDin pitäisi syttyä ja sammua.
- RGB-LED voidaan myös kytkeä päälle ja pois päältä laitteiston BTN0:lla.
Olemme nyt varmistaneet, että muutos toimii odotetusti, ja olemme muuttaneet onnistuneesti S:ssä käytetyn GPIO:nample Sovellus
3.2 Muuta RGB-värikomponenttia
Tässä osiossa muokkaamme RGB-LEDiä ja yritämme sekoittaa värikomponentteja.
"RGB-värimallin väri kuvataan osoittamalla, kuinka paljon kutakin punaista, vihreää ja sinistä on mukana. Väri ilmaistaan RGB-triplettinä (r,g,b), jonka jokainen komponentti voi vaihdella nollasta määritettyyn maksimiarvoon. Jos kaikki komponentit ovat nollassa, tulos on musta; jos kaikki ovat maksimissaan, tuloksena on kirkkain edustava valkoinen."
Wikipediasta eteenpäin RGB värimalli.
Koska otimme käyttöön kaikki värikomponentit edellisessä osiossa, RGB-LED on valkoinen, kun se on päällä. Kytkemällä päälle ja pois yksittäiset komponentit, voimme vaihtaa LED-valoa. Lisäksi säätämällä kunkin värikomponentin intensiteettiä voimme tehdä kaikki värit väliin. Tätä varten käytämme PWM:ää GPIO-ohjaukseen.
- ApplicationTask() -sovelluksessa alusta PwmTimer ja aseta RGB-nastat PWM-muotoon kuvan 9 mukaisesti.
- RefreshMMI():ssä käytämme satunnaislukua jokaiselle värikomponentille. Käytä rand()-komentoa saadaksesi uuden arvon aina, kun LED sytytetään.
- Käytä DPRINTF() kirjoittaaksesi äskettäin luotu arvo sarjavirheenkorjausporttiin.
- Korvaa Board_SetLed() arvolla Board_RgbLedSetPwm(), käyttääksesi satunnaisarvoa.
- Katso kuvasta 10 päivitetty RefreshMMI().
Kuva 10: RefreshMMI päivitetty PWM:llä
Uusi versiomme on nyt otettu käyttöön, ja olet valmis kääntämään.
- Napsauta "Rakenna"
-painiketta aloittaaksesi projektin rakentamisen.
- Kun rakentaminen on valmis, laajenna "Binaries"-kansio ja napsauta hiiren kakkospainikkeella *.hex-tiedostoa file valitaksesi "Flash to Device...".
- Valitse yhdistetty laitteisto ponnahdusikkunasta. "Flash Programmer" on nyt esitäytetty kaikilla tarvittavilla tiedoilla, ja olet valmis napsauttamaan "Ohjelma".
- Napsauta "Ohjelma".
Hetken kuluttua ohjelmointi päättyy, ja päätelaitteessa näkyy nyt muokattu Switch On/Off versio.
3.2.1 Testaa toimivuus
Testaa toimivuutta varmistamalla, että voit muuttaa RGB-LEDin väriä.
- Testaa toimivuutta käyttämällä PC-ohjaimen "Basic Set ON" -asetusta.
- Napsauta "Perusasetus PÄÄLLÄ" nähdäksesi värimuutoksen.
Olemme nyt varmistaneet, että muutos toimii odotetusti, ja olemme onnistuneesti vaihtaneet GPIO:n käyttämään PWM:ää.
4 Keskustelu
Tässä harjoituksessa olemme muuttaneet päälle/pois kytkintä yksinkertaisen LEDin ohjaamisesta monivärisen LEDin ohjaamiseen. PWM-arvoista riippuen voimme nyt vaihtaa mihin tahansa väriin ja voimakkuuteen.
- Pitäisikö tämän sovelluksen laitetyyppinä käyttää "binaarikytkintä"?
- Mitkä komentoluokat sopivat paremmin moniväriselle LEDille?
Vastataksesi kysymykseen sinun tulee katsoa Z-Wave-spesifikaatiota:
- Z-Wave Plus v2 Device Type Specification
- Z-Wave-sovelluksen komentoluokan määritys
Tämä päättää opetusohjelman Z-Wave S:n GPIO:iden muokkaamisesta ja muuttamisesta.ample Sovellus.
Lue lisää tästä oppaasta ja lataa PDF:
Asiakirjat / Resurssit
![]() |
SILICON LABS Lab 3B - Muuta kytkintä päälle/pois [pdfKäyttöopas Lab 3B, Modify Switch, On, Off, Z-Wave, SDK |