SILICON LABS Lab 3B – Қосу/өшіру пайдаланушы нұсқаулығын өзгерту
Бұл практикалық жаттығу s бірінде өзгертулерді қалай жасау керектігін көрсетедіampZ-Wave SDK бөлігі ретінде жіберілетін қолданбалар.
Бұл жаттығу «Z-Wave 1 күндік курс» сериясының бөлігі болып табылады.
- SmartStart пайдалануды қосыңыз
- Zniffer көмегімен Z-Wave RF жақтауларының шифрын шешіңіз
- 3A: Қосу/өшіруді құрастыру және жөндеуді қосу
3B: Қосу/өшіруді өзгерту - FLiRS құрылғыларын түсіну
НЕГІЗГІ МҮМКІНДІКТЕР
- GPIO өзгертіңіз
- PWM енгізу
- Борттық RGB жарық диоды пайдаланыңыз
1. Кіріспе
Бұл жаттығу Қосу/Өшіру параметрлерін құрастыру және пайдалану жолын көрсететін «3A: Қосу/өшіруді құрастыру және жөндеуді қосу» алдыңғы жаттығуының үстіне құрастырылған.ampқолданба.
Бұл жаттығуда біз s-ға өзгеріс енгіземізampЖарық диодты басқаратын GPIO өзгерту арқылы қолданба. Сонымен қатар, біз RGB жарық диодты қолданамыз және түстерді өзгерту үшін PWM пайдалануды үйренеміз.
1.1 Аппараттық құралдарға қойылатын талаптар
- 1 WSTK негізгі әзірлеу кеңесі
- 1 Z-Wave радиосын әзірлеу тақтасы: ZGM130S SiP модулі
- 1 UZB контроллері
- 1 USB Zniffer
1.2 Бағдарламалық қамтамасыз ету талаптары
- Simplicity Studio v4
- Z-Wave 7 SDK
- Z-Wave ДК контроллері
- Z-Wave Zniffer
1-сурет: Z-Wave SiP модулі бар негізгі әзірлеу тақтасы
1.3 Пререквизиттер
Алдыңғы практикалық жаттығулар Z-Wave желісін құру және дамыту мақсатында РЖ байланысын түсіру үшін ДК контроллері мен Zniffer қолданбасын қалай пайдалану керектігін қарастырды. Бұл жаттығу сіз осы құралдармен таныссыз деп болжайды.
Алдыңғы Hands-On жаттығулары s пайдалану жолын да қамтыдыampZ-Wave SDK-мен жеткізілетін қолданбалар. Бұл жаттығу сіз s-тің бірін пайдалану және құрастырумен таныссыз деп болжайдыampқолданбалар.
Z-Wave құрылымы board.h және board.c арқылы анықталған аппараттық абстракциялық қабатпен (HAL) жеткізіледі, бұл сіздің әрбір аппараттық платформаларыңыз үшін іске асыру мүмкіндігін қамтамасыз етеді.
Аппараттық абстракциялық деңгей (HAL) жүйенің аппараттық құралы мен оның бағдарламалық құралы арасындағы бағдарлама коды болып табылады, ол бірнеше түрлі аппараттық платформаларда жұмыс істей алатын қолданбалар үшін дәйекті интерфейсті қамтамасыз етеді. Аванс алу үшінtagБұл мүмкіндіктің e, қолданбалар жабдыққа тікелей емес, HAL қамтамасыз ететін API арқылы қол жеткізуі керек. Содан кейін жаңа аппараттық құралға көшкен кезде тек HAL жаңарту керек.
2.1 S ашыңызample жобасы
Бұл жаттығу үшін Қосу/Өшіру түймешігін ашу керекampқолданба. «3A Compile Switch OnOff және отладка қосу» жаттығуын орындаған болсаңыз, ол Simplicity Studio IDE ішінде ашылған болуы керек.
Бұл бөлімде біз тақтаға қараймыз files және жарықдиодты шамдар қалай инициализацияланғанын түсініңіз.
- Негізгіден file “SwitchOnOff.c”, “ApplicationInit()” табыңыз және Board_Init() шақыруын байқаңыз.
- Курстарды Board_Init() жүйесіне орналастырып, декларацияны ашу үшін F3 пернесін басыңыз.
3. Board_Init() ішінде BOARD_LED_COUNT ішіндегі жарық диодты шамдардың Board_Con-figLed() деп аталатын жолымен инициализацияланғанына назар аударыңыз.
4. Курсты BOARD_LED_COUNT құрылғысына қойып, декларацияны ашу үшін F3 пернесін басыңыз.
5. led_id_t ішінде анықталған жарық диодтары келесідей:
6. Тақтаға оралу.c file.
7. Курстарды Board_ConfigLed() жүйесіне қойып, декларацияны ашу үшін F3 пернесін басыңыз.
8. led_id_t параметрінде анықталған барлық жарық диодтары Board_ConfigLed() ішінде шығыс ретінде конфигурацияланғанына назар аударыңыз.
Бұл дегеніміз, әзірлеу тақтасындағы барлық жарық диодтары қазірдің өзінде шығыс ретінде анықталған және пайдалануға дайын.
3. Z-толқын S модификациясын жасаңызample Өтініш
Бұл жаттығуда біз қосу/өшіру кезіндегі жарық диоды үшін пайдаланылатын GPIO-ларды өзгертемізampқолданба. Алдыңғы бөлімде біз әзірлеу тақтасындағы барлық жарықдиодты шамдардың шығу ретінде инициализацияланғанын және пайдалануға дайын екенін білдік.
3.1 RGB ЖШД пайдаланыңыз
Біз Z-Wave әзірлеу модулінде түймелер тақтасындағы жарық диодының орнына борттық RGB жарық диодты қолданамыз.
1. SwitchOnOff.c негізгі қолданбасында 6-суретте көрсетілгендей RefreshMMI функциясын табыңыз. file.
6-сурет: RefreshMMI ешбір өзгертусіз
2. Біз «Board_SetLed» функциясын қолданамыз, бірақ GPIO мәнін өзгертеміз
o BOARD_RGB1_R
o BOARD_RGB1_G
o BOARD_RGB1_B
3. 3-суретте көрсетілгендей ӨШІРУЛІ күйде де, ҚОСУЛЫ күйде де «Board_SetLed» 7 рет қоңырау шалыңыз.
Біздің жаңа модификация енді іске қосылды және сіз құрастыруға дайынсыз.
Құрылғыны бағдарламалау қадамдары «3A Compile Switch OnOff және отладканы қосу» жаттығуында қарастырылған және мұнда қысқаша қайталанады:
- «Құру» түймесін басыңыз
жобаны құруды бастау үшін түймесін басыңыз.
- Құрастыру аяқталғаннан кейін, «Екі файлдар» қалтасын кеңейтіп, *.hex белгішесін тінтуірдің оң жақ түймешігімен басыңыз file «Құрылғыға жарқыл...» таңдау үшін.
- Қалқымалы терезеде қосылған жабдықты таңдаңыз. «Flash Programmer» енді барлық қажетті деректермен алдын ала толтырылған және сіз «Бағдарлама» түймесін басуға дайынсыз.
- «Бағдарлама» түймесін басыңыз.
Біраз уақыттан кейін бағдарламалау аяқталады және соңғы құрылғыңыз Қосу/Өшірудің өзгертілген нұсқасымен жыпылықтайды.
3.1.1 Функционалдылықты тексеру
Алдыңғы жаттығуларда SmartStart көмегімен құрылғыны қауіпсіз Z-Wave желісіне қостық. Нұсқауларды «SmartStart пайдалануды қосу» жаттығуын қараңыз.
Кеңес Ішкі file қайта бағдарламалау арасында жүйе өшірілмейді. Бұл түйінге желіде қалуға және оны қайта бағдарламалағанда бірдей желі кілттерін сақтауға мүмкіндік береді.
Егер сізге модуль жұмыс істейтін жиілікті немесе DSK өзгерту қажет болса, жаңа жиілік ішкі NVM-ге жазылмас бұрын чипті «өшіру» керек.
Осылайша, құрылғыңыз желіге әлдеқашан қосылған.
RGB жарық диоды ҚОСУ және ӨШІРУ мүмкіндігін тексеру арқылы функционалдылықты тексеріңіз.
- ДК контроллеріндегі «Негізгі жиынтық қосулы» және «Негізгі жиынды өшіру» арқылы функционалдылықты тексеріңіз. RGB жарық диоды қосулы және өшірулі болуы керек.
- Сондай-ақ, RGB жарық диоды аппараттық құралдағы BTN0 көмегімен ҚОСУ және ӨШІРУге болады.
Біз модификацияның күткендей жұмыс істеп тұрғанын және S форматында пайдаланылған GPIO сәтті өзгертілгенін тексердікample Өтініш
3.2 RGB түс компонентін өзгерту
Бұл бөлімде біз RGB жарықдиодты шамын өзгертеміз және түс құрамдастарын араластыруға тырысамыз.
«RGB түс үлгісіндегі түс қызыл, жасыл және көк түстердің әрқайсысының қаншалықты қамтылғанын көрсету арқылы сипатталады. Түс RGB триплеті (r,g,b) ретінде көрсетіледі, оның әрбір құрамдас бөлігі нөлден анықталған максималды мәнге дейін өзгеруі мүмкін. Егер барлық құрамдас бөліктер нөлге тең болса, нәтиже қара болады; егер бәрі максимум болса, нәтиже ең жарқын ақ түсті болады».
Википедиядан бастап RGB түс үлгісі.
Алдыңғы бөлімде барлық түсті құрамдастарды қосқандықтан, RGB жарық диоды ҚОСУ кезінде ақ болады. Жеке құрамдастарды қосу және өшіру арқылы біз жарық диодты шамын өзгерте аламыз. Сонымен қатар, әрбір түс құрамдастарының қарқындылығын реттеу арқылы біз олардың арасындағы барлық түстерді жасай аламыз. Ол үшін біз GPIO-ларды басқару үшін PWM қолданамыз.
- ApplicationTask() ішінде PwmTimer инициализациясы және 9-суретте көрсетілгендей RGB түйреуіштерін PWM-ге орнатыңыз.
- RefreshMMI() бағдарламасында біз әрбір түсті құрамдас үшін кездейсоқ санды қолданамыз. Жарық диоды қосылған сайын жаңа мән алу үшін rand() пайдаланыңыз.
- Жаңадан жасалған мәнді сериялық жөндеу портына жазу үшін DPRINTF() пайдаланыңыз.
- Кездейсоқ мәнді пайдалану үшін Board_SetLed() орнына Board_RgbLedSetPwm() ауыстырыңыз.
- Жаңартылған RefreshMMI() үшін 10-суретті қараңыз.
10-сурет: PWM көмегімен жаңартылған RefreshMMI
Біздің жаңа модификация енді іске қосылды және сіз құрастыруға дайынсыз.
- «Құру» түймесін басыңыз
жобаны құруды бастау үшін түймесін басыңыз.
- Құрастыру аяқталғаннан кейін, «Екі файлдар» қалтасын кеңейтіп, *.hex белгішесін тінтуірдің оң жақ түймешігімен басыңыз file «Құрылғыға жарқыл...» таңдау үшін.
- Қалқымалы терезеде қосылған жабдықты таңдаңыз. «Flash Programmer» енді барлық қажетті деректермен алдын ала толтырылған және сіз «Бағдарлама» түймесін басуға дайынсыз.
- «Бағдарлама» түймесін басыңыз.
Біраз уақыттан кейін бағдарламалау аяқталады және соңғы құрылғыңыз Қосу/Өшірудің өзгертілген нұсқасымен жыпылықтайды.
3.2.1 Функционалдылықты тексеру
RGB жарық диоды түсін өзгерте алатыныңызды тексеру арқылы функционалдылықты тексеріңіз.
- ДК контроллеріндегі «Негізгі орнату ҚОСУ» арқылы функционалдылықты тексеріңіз.
- Түс өзгерісін көру үшін «Негізгі жиынтық қосулы» түймесін басыңыз.
Біз модификацияның күтілгендей жұмыс істеп тұрғанын және PWM пайдалану үшін GPIO-ны сәтті өзгерткенін тексердік.
4 Талқылау
Бұл жаттығуда біз Қосу/Өшіруді қарапайым жарық диодты басқарудан көп түсті жарық диодты басқаруға дейін өзгерттік. PWM мәндеріне байланысты біз енді кез келген түс пен қарқындылыққа өзгерте аламыз.
- Осы қолданба үшін құрылғы түрі ретінде «екілік қосқышты» пайдалану керек пе?
- Көп түсті жарық диоды үшін қандай командалық сыныптар жақсырақ?
Сұраққа жауап беру үшін Z-Wave спецификациясына жүгіну керек:
- Z-Wave Plus v2 құрылғы түрінің сипаттамасы
- Z-Wave қолданбасының командалық класының сипаттамасы
Бұл Z-Wave S GPIO мәндерін өзгерту және өзгерту туралы оқулықты аяқтайды.ampҚолданба.
Осы нұсқаулық туралы толығырақ оқыңыз және PDF файлын жүктеп алыңыз:
Құжаттар / Ресурстар
![]() |
SILICON LABS Lab 3B - Қосу/өшіруді өзгерту [pdf] Пайдаланушы нұсқаулығы 3B зертханасы, өзгерту қосқышы, қосу, өшіру, Z-толқыны, SDK |