SILICON LOGO

I-SILICON LABS Lab 3B - Guqula iSikhokelo soMsebenzisi sokuVula / cima

I-SILICON LABS Lab 3B - Guqula Ukutshintshela / Cima

Lo msebenzi wezandla uya kubonisa indlela yokwenza ukuguqulwa kwenye ye-sample izicelo ukuba ngenqanawa njengenxalenye Z-Wave SDK.

Lo msebenzi uyinxalenye yolu luhlu "Ikhosi ye-Z-Wave yeentsuku ezi-1".

  1. Bandakanya ukusebenzisa i-SmartStart
  2. Decrypt Z-Wave RF Frames usebenzisa iZniffer
  3. I-3A: Hlanganisa i-Switch On / Vala kwaye uvule i-Debug
    I-3B: Lungisa Ukuvula/Vala
  4. Qonda izixhobo zeFLiRS

 

EZONA MPAWU

  • Guqula i-GPIO
  • Sebenzisa i-PWM
  • Sebenzisa kwibhodi ye-RGB LED

 

1. Intshayelelo

Lo msebenzi wakha phezu komsebenzi wangaphambili "3A: Hlanganisa i-Switch On / Cima kwaye wenze ulungiso lweempazamo", olubonise indlela yokuqokelela kunye nokusebenzisa i-Switch On / Off s.ample isicelo.

Kulo msebenzi siza kube sisenza uhlengahlengiso kwisample isicelo, ngokutshintsha i GPIO elawula i-LED. Ukongeza, siya kusebenzisa i-RGB LED kwaye sifunde ukusebenzisa i-PWM ukutshintsha imibala.

1.1 IiMfuno zeHardware

  • 1 iBhodi yoPhuhliso ePhambili ye-WSTK
  • Ibhodi yoPhuhliso lweRadio ye-Z-Wave: i-ZGM1S iModyuli yeSiP
  • 1 Umlawuli we-UZB
  • 1 USB Zniffer

1.2 IiMfuno zeSoftware

  • Ubulula beStudio v4
  • I-Z-Wave 7 SDK
  • Z-Wave PC Controller
  • Z-Wave Zniffer

I-FIG 1 iBhodi yoPhuhliso oluPhambili kunye ne-Z-Wave SiP Module

Umfanekiso 1: Ibhodi yoPhuhliso oluPhambili kunye ne-Z-Wave SiP Module

1.3 Izinto ezifunekayo kuqala
Ukuzivocavoca kwangaphambili kwe-Hands-On kugubungele indlela yokusebenzisa i-PC Controller kunye nesicelo se-Zniffer ukwakha inethiwekhi ye-Z-Wave kunye nokubamba unxibelelwano lwe-RF ngenjongo yophuhliso. Lo msebenzi ucinga ukuba uqhelene nezi zixhobo.

Ukuzilolonga kwangaphambili kwe-Hands-On kuye kwagubungela indlela yokusebenzisa i-sample izicelo ukuba ngenqanawa kunye Z-Wave SDK. Lo msebenzi ucinga ukuba uqhelene nokusebenzisa kunye nokuqulunqa enye yeziample izicelo.

 

2. Khangela isiNxulumanisi seBhodi

Isakhelo se-Z-Wave siza kunye ne-hardware abstraction layer (HAL) echazwe yibhodi.h kunye nebhodi.c, inika ithuba lokuba nokuphunyezwa kwiqonga lakho ngalinye le-hardware.

I-Hardware Abstraction Layer (HAL) yikhowudi yeprogram phakathi kwe-hardware yenkqubo kunye nesoftware yayo ebonelela ngojongano olungaguqukiyo lwezicelo ezinokusebenza kumaqonga ahlukeneyo ehardware. Ukuthatha i-advantage yesakhono, izicelo kufuneka zifikelele kwi-hardware nge-API ebonelelwe yi-HAL, kunokuba ngokuthe ngqo. Emva koko, xa ufudukela kwi-hardware entsha, kufuneka uhlaziye i-HAL kuphela.

2.1 Vula i-Sample projekthi
Kulo msebenzi kufuneka uvule i Vula / Vala sample isicelo. Ukuba ugqibile ukwenza umthambo othi "3A Compile Switch OnOff kwaye uvule i-debug", kufanele ukuba sele ivulwe kwiSitudiyo esiLula i-IDE.

Kweli candelo siza kujonga ebhodini filekwaye uqonde ukuba ii-LED ziqaliswa njani.

  1. Ukusuka kweyona nto iphambili file “SwitchOnOff.c”, fumana “ApplicationInit()” kwaye uqaphele umnxeba oya kwiBhodi_Init().
  2. Beka ikhosi yakho kwiBhodi_Init() kwaye ucinezele ku F3 ukuvula isibhengezo.

UFIG 2 Vula u-Sample projekthi

3. KwiBhodi_Init()qaphela indlela ii-LED eziqulethwe kwi-BOARD_LED_COUNT ziqalwa ngokubizwa ngokuba yiBhodi_Con-figLed()

UFIG 3 Vula u-Sample projekthi

4. Beka isifundo sakho kwi-BOARD_LED_COUNT kwaye ucinezele ku-F3 ukuvula isibhengezo.
5. Ii-LED ezichazwe kwi-led_id_t zezi zilandelayo:

UFIG 4 Vula u-Sample projekthi

6. Buyela ebhodini.c file.
7. Beka ikhosi yakho kwiBoard_ConfigLed() kwaye ucinezele ku F3 ukuvula isibhengezo.
8. Qaphela zonke ii-LED ezichazwe kwi-led_id_t ziqwalaselwe kwiBhodi_ConfigLed() njengemveliso.

UFIG 5 Vula u-Sample projekthi

Kuthetha ukuthini oku, ukuba zonke ii-LED kwibhodi yophuhliso sele zichazwe njengeziphumo kwaye zilungele ukusetyenziswa.

 

3. Yenza uhlengahlengiso kwiZ-Wave Sample Isicelo

Kulo msebenzi siza kube silungisa ii-GPIOs ezisetyenziselwa i-LED kwi-Switch On / Off s.ample isicelo. Kwicandelo langaphambili sifunde ukuba zonke ii-LED kwibhodi yophuhliso sele ziqalisiwe njengemveliso kwaye zilungele ukusetyenziswa.

3.1 Sebenzisa iRGB LED

Siza kusebenzisa i-onboard ye-RGB ye-LED kwimodyuli yophuhliso ye-Z-Wave, endaweni ye-LED kwibhodi yeqhosha.

1. Khangela umsebenzi weRefreshMMI, njengoko ubonwa kuMfanekiso 6, kwiSwitchOnOff.c engundoqo yesicelo. file.

IFIG 6 RefreshMMI ngaphandle kohlengahlengiso

Umzobo 6: Hlaziya iMMI ngaphandle kohlengahlengiso

2. Siza kusebenzisa umsebenzi othi "Board_SetLed" kodwa utshintshe iGPIO
o BOARD_RGB1_R
o BOARD_RGB1_G
o BOARD_RGB1_B

3. Fowunela “iBhodi_SetLed” amaxesha e-3 kwimo yo-OFF nakwimo ye-ON, njengoko kubonisiwe kuMfanekiso 7.

I-FIG 7 RefreshMMI iguqulwe ukuze isebenzise i-RGB LED

Uhlengahlengiso lwethu olutsha ngoku luphunyeziwe, kwaye ulungele ukuqulunqa.
Amanyathelo okucwangcisa isixhobo agutyungelwe kumsebenzi othi "3A Compile Switch OnOff kwaye uvule ukulungisa ingxaki", kwaye uphinda-phinda ngokufutshane apha:

  1. Cofa kwi "Build" UMKHONZO 1 iqhosha ukuqalisa ukwakha iprojekthi.
  2. Xa ukwakhiwa kugqityiwe, yandisa ifolda ethi "Binaries" kwaye ucofe ekunene kwi * .hex file ukukhetha "Isibane kwisixhobo..".
  3. Khetha ihardware eqhagamshelweyo kwifestile evelelayo. "I-Flash Programmer" ngoku ifakwe kuyo yonke idatha efunekayo, kwaye ulungele ukucofa kwi "Program".
  4. Cofa "Inkqubo".

Emva kwexesha elifutshane udweliso lwenkqubo lugqityiwe, kwaye isixhobo sakho sokugqibela sele sidanyaziwe ngoguqulelo lwakho olulungisiweyo lokuCima/Cima.

3.1.1 Vavanya ukusebenza

Kwimisebenzi yangaphambili sele sibandakanyile isixhobo kwinethiwekhi ekhuselekileyo ye-Z-Wave usebenzisa i-SmartStart. Jonga umthambo “Bandakanya ukusebenzisa iSmartStart” ngemiyalelo.

Ingcebiso Ngaphakathi file inkqubo ayicinywanga phakathi kohlengahlengiso. Oku kuvumela i-node ukuba ihlale kuthungelwano kwaye igcine izitshixo zenethiwekhi ezifanayo xa uyicwangcisa ngokutsha.

Ukuba ufuna ukutshintsha umz. ukuphindaphinda apho imodyuli esebenza khona okanye iDSK, kufuneka “Ucime” itshiphu phambi kokuba ifrikhwekhweti entsha ibhalwe kwiNVM yangaphakathi.

Ngokunjalo, isixhobo sakho sele sibandakanyiwe kwinethiwekhi.

Vavanya ukusebenza ngokuqinisekisa ukuba unako UKUVULA kwaye UYIVALE i-RGB LED.

  • Vavanya ukusebenza usebenzisa i-"Basic Set ON" kunye ne "Basic Set OFF" kwi-PC Controller. I-RGB LED kufuneka ilayite kwaye iValiwe.
  • I-RGB ye-LED inokuvulwa kunye nokuValwa usebenzisa i-BTN0 kwi-hardware.

Ngoku siqinisekisile ukuba uhlengahlengiso lusebenza njengoko kulindelekile kwaye sitshintshe ngempumelelo i-GPIO esetyenziswa kwi-Sample Isicelo

3.2 Guqula icandelo lombala weRGB

Kweli candelo, siya kuguqula i-RGB LED kwaye sizame ukuxuba izinto zemibala.

“Umbala okwimodeli yombala weRGB uchazwa ngokubonisa ubungakanani bombala obomvu, oluhlaza, nobhlowu obandakanyiweyo. Umbala ubonakaliswa njenge-RGB triplet (r,g,b), icandelo ngalinye elinokwahluka ukusuka ku-zero ukuya kwelona xabiso liphezulu lichaziweyo. Ukuba zonke iikhomponenti ziku-zero isiphumo simnyama; ukuba zonke ziphezulu, isiphumo sobona bumhlophe obubonakalayo obuqaqambileyo. "

Ukusuka kwiWikipedia ukuya phambili Imodeli yoMbala weRGB.

I-FIG 8 RGB Amacandelo oMbala axutywe Ndawo

Kuba senze zonke izinto zemibala kwicandelo langaphambili i-RGB LED imhlophe xa i-ON. Ngokuvula kunye nokuvala amacandelo ngamanye, sinokutshintsha i-LED. Ukongeza, ngokuhlengahlengisa ubukhulu becala ngalinye lombala, sinokwenza yonke imibala phakathi. Ngaloo nto, siya kusebenzisa i-PWM ukulawula ii-GPIOs.

  1. Kwi-ApplicationTask() qalisa iPwmTimer kwaye usete izikhonkwane ze-RGB kwi-PWM, njengoko kubonisiwe kuMfanekiso 9.                                                                                I-FIG 9 PWM iqaliswe kwi-ApplicationTask
  2. Kwi-RefreshMMI (), siya kusebenzisa inani elingenamkhethe kulo lonke icandelo lombala. Sebenzisa irandi () ukufumana ixabiso elitsha ngalo lonke ixesha i-LED ilayitiwe.
  3. Sebenzisa i DPRINTF () ukubhala ixabiso elitsha elenziwe kuthotho lolungiso lweempazamo.
  4. Buyisela iBhodi_SetLed() ngeBhodi_RgbLedSetPwm(), ukuze kusetyenziswe ixabiso elingenamkhethe.
  5. Jonga kuMfanekiso 10 wohlaziyo lweRefreshMMI ().

I-FIG 10 RefreshMMI ihlaziywa nge-PWM

Umzobo 10: Hlaziya iMMI ihlaziywe ngePWM

Uhlengahlengiso lwethu olutsha ngoku luphunyeziwe, kwaye ulungele ukuqulunqa.

  1. Cofa kwi "Build" UMKHONZO 1 iqhosha ukuqalisa ukwakha iprojekthi.
  2. Xa ukwakhiwa kugqityiwe, yandisa ifolda ethi "Binaries" kwaye ucofe ekunene kwi * .hex file ukukhetha "Isibane kwisixhobo..".
  3. Khetha ihardware eqhagamshelweyo kwifestile evelelayo. "I-Flash Programmer" ngoku ifakwe kuyo yonke idatha efunekayo, kwaye ulungele ukucofa kwi "Program".
  4. Cofa "Inkqubo".

Emva kwexesha elifutshane udweliso lwenkqubo lugqityiwe, kwaye isixhobo sakho sokugqibela sele sidanyaziwe ngoguqulelo lwakho olulungisiweyo lokuCima/Cima.

3.2.1 Vavanya iNdlela yokuSebenza

Vavanya ukusebenza ngokuqinisekisa ukuba ungawutshintsha umbala weRGB LED.

  1. Vavanya ukusebenza usebenzisa "iBasic Set ON" kwi-PC Controller.
  2. Cofa ku "Basic Set ON" ukubona utshintsho lombala.

Ngoku siye saqinisekisa ukuba ukuguqulwa kusebenza njengoko kulindelwe kwaye sitshintshe ngempumelelo i-GPIO ukusebenzisa i-PWM.

4 Ingxoxo

Kulo msebenzi siye salungisa i-Twitch On / Off ekulawuleni i-LED elula ukuya kulawulo lwe-LED enemibala emininzi. Ngokuxhomekeke kumaxabiso e-PWM, ngoku sinokutshintsha kuwo nawuphi na umbala kunye nokuqina.

  • Ngaba kufuneka "uTshintsho lokubini" lusetyenziswe njengoHlobo lwesiXhobo kwesi sicelo?
  • Zeziphi iiklasi zomyalelo ezilungele ngcono i-LED enemibala emininzi?

Ukuze uphendule umbuzo, kuya kufuneka ubhekisele kwinkcazo ye-Z-Wave:

  • I-Z-Wave Plus v2 Ukucaciswa kohlobo lwesiXhobo
  • Z-Wave Isicelo Umyalelo Class Inkcazo

Oku kuqukumbela isifundo sendlela yokuguqula nokutshintsha iiGPIO zeZ-Wave Sample Isicelo.

 

Funda ngakumbi ngale ncwadana & Khuphela iPDF:

Amaxwebhu / Izibonelelo

I-SILICON LABS Lab 3B - Guqula Ukutshintshela / Cima [pdf] Isikhokelo somsebenzisi
ILab 3B, Guqula iSwitch, Vula, Valiwe, iZ-Wave, SDK

Iimbekiselo

Shiya uluvo

Idilesi yakho ye-imeyile ayizupapashwa. Iindawo ezifunekayo ziphawulwe *