본문 바로가기

개발자/IOT-m2m

ESP32의 Matter 발표 사항(이전 'CHIP')

반응형

 

소개

 

이전에 프로젝트 CHIP이었던 Matter는 커넥티드 사물을 위한 새로운 기반입니다. 연결 표준 연합의 지침에 따라 IoT 업계의 모든 리더들이 협력하여 개발한 Matter는 안전하고 신뢰할 수 있으며 무엇보다도 원활하게 사용할 수 있는 커넥티드 디바이스 구축에 중점을 두고 있습니다.

 

다음 아래 기사 목록에서 Matter에 대해 설명합니다.

 

 

 

 

 

Espressif는 초기부터 Matter 이니셔티브에 참여해 왔으며, Espressif의 SoC 제품군을 통해 Matter를 쉽게 개발하고 사용할 수 있도록 하는 데 주력해 왔습니다. 이 글에서는 ESP32에서 첫 번째 Matter 애플리케이션을 시작하고 실행하는 단계에 대해 설명합니다. 다음 글에서는 Matter의 다양한 기술적 세부 사항을 논의하고 Espressif 플랫폼에서 Matter 인증 기기를 빠르게 빌드하는 방법을 살펴볼 것입니다. 

 

아키텍처 

 

 

위에서 설명한 것처럼 Matter는 상호운용성 목표를 달성하기 위해 지원되는 IPv6 기반 네트워크뿐만 아니라 디바이스 및 컨트롤러에 배포될 애플리케이션 계층을 정의합니다. Matter는 처음에는 핵심 통신을 위한 Wi-Fi 및 Thread와 디바이스 커미셔닝 및 설정을 간소화하기 위한 BLE(Bluetooth 저에너지)를 지원합니다. 

 

ESP32에서 Matter

Matter SDK

 

Matter SDK는 사양 구현을 위한 오픈 소스 리포지토리로, 계속해서 활발하게 개발되고 있습니다. ESP32는 처음부터 Matter SDK에서 지원되는 플랫폼이었습니다. 현재 Wi-Fi와 BLE를 모두 지원하는 유일한 플랫폼입니다. ESP32는 Wi-Fi SoftAP뿐만 아니라 BLE를 통한 커미셔닝(초기 디바이스 구성)을 지원하며 Wi-Fi를 통한 운영 통신을 지원합니다. 

 

샘플 예제 

 

다음 예제 중 하나를 사용해 볼 수 있습니다:

 

1. ESP32 all-clusters-app: 이 예제에서는 ESP32 기반 개발 키트(ESP32 WROVER Kit, ESP32 DevKit-C, M5Stack Core1)를 사용하여 모든 Matter 기능을 시험해 볼 수 있습니다. 디바이스 커미셔닝을 수행할 수 있으며 Matter 컨트롤러를 사용하여 디바이스를 제어할 수도 있습니다. 또한 많은 Matter 개발자가 개발 및 테스트를 위해 사용하는 기본 애플리케이션이기도 합니다.

 

2. 설치 공간에 최적화된 애플리케이션: 위의 ESP32 모든 클러스터-앱은 Matter의 일부인 모든 클러스터를 통합하는 키친 싱크 애플리케이션과 같습니다. Matter의 풋프린트 활용에 대한 아이디어를 얻고 싶다면 ESP32 온도 측정 앱을 사용해 보세요. 이 앱은 풋프린트 영향 분석을 용이하게 하기 위해 특별히 최적화되어 있습니다.

 

이 두 가지 예제 중 하나를 Matter 컨트롤러에 대해 테스트할 수 있습니다. Matter SDK는 컨트롤러의 레퍼런스 구현을 제공합니다: 

 

  1. Python based Device Controller
  2. CHIPTool
  3. Android CHIPTool
  4. Darwin CHIPTool

 

시작하기 

 

ESP32에서 위의 예제를 시도하는 단계를 살펴보겠습니다. ESP-IDF(Espressif IoT 개발 프레임워크) 릴리스 v4.3을 사용하여 시도해 보겠습니다. 

 

1. 아직 ESP-IDF를 설정하지 않았다면 여기 단계를 따르세요.

 

2. 그런 다음 각 애플리케이션 디렉터리에 있는 README 파일(all-clusters 앱 README, 온도 측정 앱 README)을 따라 ESP32에서 예제를 빌드하고 로드하는 방법을 확인할 수 있습니다.

 

3. ESP32가 실행되고 나면 컨트롤러를 설정해야 합니다. 여기서는 데모로 Python 기반 컨트롤러와 함께 모든 클러스터 앱을 사용하겠습니다. 아래 단계를 따라주세요: 

 

 

 

 

Python 컨트롤러 빌드 

 

$ cd /path/to/connectedhomeip
$ ./scripts/build_python.sh -m platform

 

컨트롤러를 실행하고 BLE를 통해 보안 세션을 설정합니다. BLE는 애플리케이션의 기본 모드이며 메뉴 구성을 통해 구성할 수 있습니다. 

 

$ source ./out/python_env/bin/activate
$ chip-device-ctrl
chip-device-ctrl > ble-scan
chip-device-ctrl > connect -ble 3840 20202021 135246

 

매개변수:

 

1. 판별자: 3840(메뉴 구성을 통해 구성 가능)

 

2. 설정 핀 코드: 20202021 (메뉴 구성을 통해 구성 가능)

 

3. 노드 ID: 선택 사항. 이 명령에 전달하지 않으면 컨트롤러에 의해 자동 생성되어 connect의 출력에 표시됩니다. 다음 명령에서도 동일한 값을 사용해야 합니다. 임의의 노드 ID인 135246을 선택했습니다.

 

AddWiFiNetwork 명령을 사용하여 ESP32가 연결할 Wi-Fi 네트워크의 자격 증명을 추가한 다음 EnableWiFiNetwork 명령을 사용하여 ESP32가 연결할 수 있도록 활성화합니다. 이 예에서는 각각 SSID와 비밀번호로 TESTSSID와 TESTPASSWD를 사용했습니다. 

 

chip-device-ctrl > zcl NetworkCommissioning AddWiFiNetwork 135246 0 0 ssid=str:TESTSSID credentials=str:TESTPASSWD breadcrumb=0 timeoutMs=1000
chip-device-ctrl > zcl NetworkCommissioning EnableNetwork 135246 0 0 networkID=str:TESTSSID breadcrumb=0 timeoutMs=1000

 

 

이후에는 필요하지 않으므로 ESP32에 대한 BLE 연결을 닫습니다. 

 

chip-device-ctrl > close-ble

 

디바이스 컨트롤러에서 노드의 DNS-SD 이름과 업데이트 주소를 확인합니다. 

 

chip-device-ctrl > resolve 135246

 

OnOff 클러스터 명령을 사용하여 OnOff 속성을 제어합니다. 이를 통해 디바이스에서 구현된 매개변수를 켜기 또는 끄기로 전환할 수 있습니다. 

 

chip-device-ctrl > zcl OnOff Off 135246 1 0

 

* 참고: 위의 모든 명령에는 매개변수에 도움이 될 수 있는 도움말이 연결되어 있습니다. 

 

위의 명령은 ESP32에서 Matter가 노출하는 일반적인 기능을 사용해 볼 수 있도록 도와줍니다. 

 

ESP32-C3 지원:

 

ESP32-C3 지원은 Matter에 통합되어 있습니다. ESP32-C3에서 예제를 실행하려면 README를 따르세요. 

 

 

반응형

더욱 좋은 정보를 제공하겠습니다.~ ^^