SILICON LABS Lab 3B – 스위치 온/오프 수정 사용자 가이드
이 실습에서는 다음 중 하나를 수정하는 방법을 보여줍니다.ampZ-Wave SDK의 일부로 제공되는 응용 프로그램.
이 운동은 "Z-Wave 1-Day Course" 시리즈의 일부입니다.
- SmartStart를 사용하여 포함
- Zniffer를 사용하여 Z-Wave RF 프레임 해독
- 3A: 컴파일 스위치 켜기/끄기 및 디버그 활성화
3B: 스위치 켜기/끄기 수정 - FLiRS 장치 이해
주요 특징
- GPIO 변경
- PWM 구현
- 온보드 RGB LED 사용
1. 서론
이 연습은 이전 연습인 "3A: Compile Switch On/Off 및 enable debug"를 기반으로 하며 Switch On/Off s를 컴파일하고 사용하는 방법을 보여줍니다.amp르 응용 프로그램.
이 연습에서는 s를 수정합니다.ampLED를 제어하는 GPIO를 변경하여 애플리케이션을 변경합니다. 또한 RGB LED를 사용하고 PWM을 사용하여 색상을 변경하는 방법을 배웁니다.
1.1 하드웨어 요구 사항
- 1 WSTK 메인 개발 보드
- 1 Z-Wave 무선 개발 보드: ZGM130S SiP 모듈
- 1 UZB 컨트롤러
- 1 USB 지니퍼
1.2 소프트웨어 요구사항
- Simplicity Studio v4
- Z-웨이브 7 SDK
- Z-Wave PC 컨트롤러
- Z-웨이브 즈니퍼
그림 1: Z-Wave SiP 모듈이 있는 메인 개발 보드
1.3 전제 조건
이전 실습에서는 PC 컨트롤러 및 Zniffer 애플리케이션을 사용하여 Z-Wave 네트워크를 구축하고 개발 목적으로 RF 통신을 캡처하는 방법을 다루었습니다. 이 연습에서는 사용자가 이러한 도구에 익숙하다고 가정합니다.
이전 실습 실습에서는 s를 사용하는 방법도 다루었습니다.ampZ-Wave SDK와 함께 제공되는 응용 프로그램. 이 연습에서는 사용자가 다음 중 하나를 사용하고 컴파일하는 데 익숙하다고 가정합니다.amp르 응용 프로그램.
Z-Wave 프레임워크는 board.h 및 board.c에 의해 정의된 하드웨어 추상화 계층(HAL)과 함께 제공되어 각 하드웨어 플랫폼에 대한 구현 가능성을 제공합니다.
HAL(Hardware Abstraction Layer)은 여러 하드웨어 플랫폼에서 실행할 수 있는 응용 프로그램에 일관된 인터페이스를 제공하는 시스템 하드웨어와 해당 소프트웨어 간의 프로그램 코드입니다. 이점을 취하기 위해tag이 기능을 사용하려면 애플리케이션이 직접이 아니라 HAL에서 제공하는 API를 통해 하드웨어에 액세스해야 합니다. 그런 다음 새 하드웨어로 이동할 때 HAL만 업데이트하면 됩니다.
2.1 S 열기amp르 프로젝트
이 연습을 위해서는 Switch On/Off s를 열어야 합니다.amp르 응용 프로그램. "3A 컴파일 켜기 끄기 및 디버그 활성화" 연습을 완료했다면 Simplicity Studio IDE에서 이미 열려 있어야 합니다.
이 섹션에서 우리는 보드를 볼 것입니다 files 및 LED가 초기화되는 방법을 이해합니다.
- 메인에서 file "SwitchOnOff.c", "ApplicationInit()"을 찾아 Board_Init()에 대한 호출을 확인합니다.
- Board_Init()에 코스를 놓고 F3 키를 눌러 선언문을 엽니다.
3. Board_Init()에서 호출된 Board_Con-figLed()에 의해 BOARD_LED_COUNT에 포함된 LED가 어떻게 초기화되는지 확인합니다.
4. BOARD_LED_COUNT에 코스를 놓고 F3을 눌러 선언을 엽니다.
5. led_id_t에 정의된 LED는 다음과 같습니다.
6. 보드로 돌아가기.c file.
7. 교육자를 Board_ConfigLed()에 놓고 F3 키를 눌러 선언문을 엽니다.
8. led_id_t에 정의된 모든 LED가 Board_ConfigLed()에서 출력으로 구성되었음을 확인하십시오.
이것이 의미하는 바는 개발 보드의 모든 LED가 이미 출력으로 정의되어 사용할 준비가 되어 있다는 것입니다.
3. Z-Wave S로 수정amp르 신청
이 연습에서는 Switch On/Off s에서 LED에 사용되는 GPIO를 수정합니다.amp르 응용 프로그램. 이전 섹션에서 개발 보드의 모든 LED가 이미 출력으로 초기화되어 사용할 준비가 된 방법을 배웠습니다.
3.1 RGB LED 사용
버튼 보드의 LED 대신 Z-Wave 개발 모듈의 온보드 RGB LED를 사용할 것입니다.
1. 그림 6과 같이 SwitchOnOff.c 기본 애플리케이션에서 RefreshMMI 기능을 찾습니다. file.
그림 6: 수정하지 않은 RefreshMMI
2. "Board_SetLed" 기능을 사용하지만 GPIO를 다음으로 변경합니다.
BOARD_RGB1_R
BOARD_RGB1_G
BOARD_RGB1_B
3. 그림 3과 같이 OFF 상태와 ON 상태에서 “Board_SetLed”를 7번 호출합니다.
이제 새로운 수정 사항이 구현되었으며 컴파일할 준비가 되었습니다.
장치를 프로그래밍하는 단계는 "3A 컴파일 켜기 끄기 및 디버그 활성화" 연습에서 다루며 여기에서 간단히 반복됩니다.
- "빌드"를 클릭하십시오
버튼을 눌러 프로젝트 빌드를 시작합니다.
- 빌드가 완료되면 "Binaries" 폴더를 확장하고 *.hex를 마우스 오른쪽 버튼으로 클릭합니다. file "Flash to Device..."를 선택합니다.
- 팝업 창에서 연결된 하드웨어를 선택합니다. "Flash Programmer"는 이제 필요한 모든 데이터로 미리 채워져 있으며 "Program"을 클릭할 준비가 되었습니다.
- "프로그램"을 클릭합니다.
잠시 후 프로그래밍이 완료되고 최종 장치가 이제 수정된 버전의 Switch On/Off로 깜박입니다.
3.1.1 기능 테스트
이전 연습에서 SmartStart를 사용하여 보안 Z-Wave 네트워크에 장치를 이미 포함했습니다. 지침은 "SmartStart 사용 포함" 연습을 참조하십시오.
힌트 내부 file 시스템은 재프로그래밍 사이에 지워지지 않습니다. 이렇게 하면 노드가 네트워크에 남아 있고 다시 프로그래밍할 때 동일한 네트워크 키를 유지할 수 있습니다.
모듈이 작동하는 주파수 또는 DSK 등을 변경해야 하는 경우 새 주파수가 내부 NVM에 기록되기 전에 칩을 "삭제"해야 합니다.
따라서 귀하의 장치는 이미 네트워크에 포함되어 있습니다.
RGB LED를 켜고 끌 수 있는지 확인하여 기능을 테스트합니다.
- PC 컨트롤러에서 "Basic Set ON" 및 "Basic Set OFF"를 사용하여 기능을 테스트합니다. RGB LED가 켜졌다 꺼졌다 해야 합니다.
- RGB LED는 하드웨어에서 BTN0을 사용하여 켜고 끌 수도 있습니다.
이제 수정이 예상대로 작동하고 S에서 사용되는 GPIO가 성공적으로 변경되었음을 확인했습니다.amp르 신청
3.2 RGB 색상 구성 요소 변경
이 섹션에서는 RGB LED를 수정하고 색상 구성 요소를 혼합하려고 합니다.
“RGB 색상 모델의 색상은 빨강, 초록, 파랑이 각각 얼마나 포함되어 있는지를 나타내는 것으로 설명됩니다. 색상은 RGB XNUMX색(r,g,b)으로 표현되며, 각 구성 요소는 XNUMX에서 정의된 최대값까지 다양할 수 있습니다. 모든 구성 요소가 XNUMX이면 결과는 검은색입니다. 모든 것이 최대이면 결과는 가장 밝게 표현할 수 있는 흰색입니다."
위키피디아에서 RGB 색상 모델.
이전 섹션에서 모든 색상 구성 요소를 활성화했기 때문에 RGB LED는 ON일 때 흰색입니다. 개별 구성 요소를 켜고 끄면 LED를 변경할 수 있습니다. 또한 각 색상 성분의 강도를 조정하여 그 사이의 모든 색상을 만들 수 있습니다. 이를 위해 PWM을 사용하여 GPIO를 제어합니다.
- ApplicationTask()에서 그림 9와 같이 PwmTimer를 초기화하고 RGB 핀을 PWM으로 설정합니다.
- RefreshMMI()에서는 모든 색상 구성 요소에 대해 난수를 사용합니다. Rand()를 사용하여 LED가 켜질 때마다 새 값을 가져옵니다.
- DPRINTF()를 사용하여 새로 생성된 값을 직렬 디버그 포트에 씁니다.
- 임의의 값을 사용하려면 Board_SetLed()를 Board_RgbLedSetPwm()으로 대체하십시오.
- 업데이트된 RefreshMMI()에 대해서는 그림 10을 참조하십시오.
그림 10: PWM으로 업데이트된 RefreshMMI
이제 새로운 수정 사항이 구현되었으며 컴파일할 준비가 되었습니다.
- "빌드"를 클릭하십시오
버튼을 눌러 프로젝트 빌드를 시작합니다.
- 빌드가 완료되면 "Binaries" 폴더를 확장하고 *.hex를 마우스 오른쪽 버튼으로 클릭합니다. file "Flash to Device..."를 선택합니다.
- 팝업 창에서 연결된 하드웨어를 선택합니다. "Flash Programmer"는 이제 필요한 모든 데이터로 미리 채워져 있으며 "Program"을 클릭할 준비가 되었습니다.
- "프로그램"을 클릭합니다.
잠시 후 프로그래밍이 완료되고 최종 장치가 이제 수정된 버전의 Switch On/Off로 깜박입니다.
3.2.1 기능 테스트
RGB LED의 색상을 변경할 수 있는지 확인하여 기능을 테스트하십시오.
- PC 컨트롤러에서 "Basic Set ON"을 사용하여 기능을 테스트합니다.
- "Basic Set ON"을 클릭하면 색상 변화를 확인할 수 있습니다.
이제 수정이 예상대로 작동하고 PWM을 사용하도록 GPIO를 성공적으로 변경했음을 확인했습니다.
4 토론
이 연습에서는 스위치 켜기/끄기를 간단한 LED 제어에서 다색 LED 제어로 수정했습니다. PWM 값에 따라 이제 모든 색상과 강도로 변경할 수 있습니다.
- 이 애플리케이션의 장치 유형으로 "바이너리 스위치"를 사용해야 합니까?
- 다색 LED에 더 적합한 명령 클래스는 무엇입니까?
질문에 답하려면 Z-Wave 사양을 참조해야 합니다.
- Z-Wave Plus v2 장치 유형 사양
- Z-Wave 애플리케이션 명령 클래스 사양
이것으로 Z-Wave S의 GPIO를 수정하고 변경하는 방법에 대한 자습서를 마칩니다.amp르 응용 프로그램.
이 매뉴얼에 대해 더 자세히 알아보고 PDF를 다운로드하세요:
문서 / 리소스
![]() |
SILICON LABS Lab 3B - 스위치 켜기/끄기 수정 [PDF 파일] 사용자 가이드 실습 3B, 스위치 수정, 켜기, 끄기, Z-Wave, SDK |