Matter (Project CHIP)

repository·master·Indexed 27 days ago

https://github.com/project-chip/connectedhomeip

An open-source, IP-based application-layer connectivity standard for secure and interoperable communication between smart home devices. The repository includes the Matter SDK, data model management tools, and platform-specific build configurations for nRF Connect, NXP (Zephyr and FreeRTOS), and Zephyr.

Tokens
178.5K
Snippets
374
Records
879
Agent score
91%

What's inside connectedhomeip

  1. Overview of NXP build and configuration files

    master
    The config/nxp directory provides the necessary build scripts and configuration files for integrating CHIP (Matter) into NXP platforms using either Zephyr or FreeRTOS. The directory is organized into specific subdirectories based on the target operating system and build system used.
  2. Overview of Mock HTTP/HTTPS Server features

    master

    The Mock HTTP/HTTPS Server is designed for API testing and automated request handling. Key capabilities include:

    • Protocols: Supports both HTTP and HTTPS (with TLS).
    • Methods: Handles GET, POST, PUT, and DELETE requests.
    • Route Matching: Supports exact path matching, wildcard (*) path matching, and query parameter validation.
    • Request Validation: Supports request body validation using regex.
    • Execution: CLI-driven with support for concurrent request handling via threading.
  3. Overview of Matter OTA Software Update on NXP RTs

    master

    The OTA Requestor feature on NXP devices allows a device to be informed of, download, and apply software updates from an OTA Provider. This process uses the all-clusters application as the standard example.

    The OTA Update Process:

    1. Query: The OTA Requestor queries the OTA Provider for an update image.
    2. Download: The update image is received in blocks and stored in the device's external flash.
    3. Notification & Reset: Once fully downloaded, the bootloader is notified, and the device resets to apply the update in test-mode.
    4. Validation: If the test is successful, the update is applied permanently. If the test fails, the bootloader reverts to the primary application to prevent bricking or unauthorized downgrades.
  4. Overview of nanopb in Project CHIP

    master
    Nanopb is a small code-size Protocol Buffers implementation written in ANSI C. Within the Project CHIP repository, nanopb is currently included exclusively for on-device test support. Note that serialization is intended to be harmonized across the entire codebase in the future; therefore, nanopb should not be relied upon for production application logic outside of the existing test infrastructure.
  5. Overview of Matter architecture

    master

    Matter is a unified, open-source application-layer connectivity standard built on Internet Protocol (IP). It is compatible with Thread and Wi-Fi network transports and is designed to be secure, reliable, and interoperable.

    Key architectural layers include:

    1. Application: High-order business logic (e.g., lighting control).
    2. Data Model: Data and verb elements supporting application functionality.
    3. Interaction Model: Defines interactions between clients and servers (e.g., reading/writing attributes).
    4. Action Framing: Serializes interactions into a packed binary format for transmission.
    5. Security: Encrypts and signs payloads to ensure authentication and security.
    6. Message Framing & Routing: Constructs payload formats with header fields for routing.
    7. IP Framing & Transport Management: Manages data transmission via underlying transport protocols.
  6. Overview of CHIP nRF Connect Adaptation Components

    master

    The nRF Connect adaptation of CHIP utilizes the Zephyr platform implementation for several core interfaces. When developing or extending this adaptation, note the following component mappings (all paths are relative to connectedhomeip/src/):

    • Platform Management: include/platform/nrfconnect/PlatformManagerImpl.h implements the PlatformManager interface using Zephyr.
    • Configuration Management: include/platform/nrfconnect/ConfigurationManagerImpl.h implements the ConfigurationManager interface using Zephyr.
    • Connectivity Management: include/platform/nrfconnect/ConnectivityManagerImpl.h and nrfconnect/ConnectivityManagerImpl.cpp provide high-level APIs for managing device connectivity. Note that this is a work-in-progress.
    • Network Provisioning: include/platform/nrfconnect/DeviceNetworkProvisioningDelegateImpl.h and nrfconnect/DeviceNetworkProvisioningDelegateImpl.cpp implement the DeviceNetworkProvisioningDelegate interface for managing network provisioning.
    • Thread Stack Management: include/platform/nrfconnect/ThreadStackManagerImpl.h implements the ThreadStackManager interface using Zephyr.
    • BLE Management: include/platform/nrfconnect/BLEManagerImpl.h implements the BLEManager interface using Zephyr.
    • Platform Events: include/platform/nrfconnect/CHIPDevicePlatformEvent.h uses Zephyr platform definitions for platform-specific event types and data within the CHIP Device Layer.
  7. Overview of Matter development on Texas Instruments platforms

    master

    Matter development on Texas Instruments (TI) hardware is based on the TI SimpleLink™ SDK. This SDK provides the software components and tools required to develop Matter-based products on SimpleLink Thread and Wi-Fi wireless microcontrollers (MCUs).

    Key architectural components include:

    • Bluetooth LE (BLE): Used for provisioning and configuring the device to enable Matter communication.
    • Thread: Used for IP communication with other Matter devices once provisioned.
    • Dynamic Multi-protocol Manager: Allows BLE and Thread protocols to run concurrently.
    • MbedTLS: Used for cryptographic protocols (AES, SHA, ECDSA, ECDH). It is hardware-accelerated on TI platforms via _ALT defines in the MbedTLS configuration file.
    • Matter Impl (Implementation) layer: Acts as the interface between the Matter stack and TI platform components like the BLE stack, OpenThread, and FreeRTOS.
  8. Understand Joint Fabric Example Applications

    master

    The Joint Fabric feature is demonstrated using two primary example applications:

    1. jf-control-app: Acts as a commissioner and control plane for jf-admin-app. It also serves as a PKI provider.
    2. jf-admin-app: Acts as an administrator. It holds an instance of the JF Administrator Cluster and the JF Datastore Cluster.

    Commissioning Workflow:

    • The first device commissioned by jf-control-app must be jf-admin-app. This is achieved by setting the --anchor true parameter in the pairing command.
    • When jf-admin-app is commissioned, it is issued a NOC containing both the Administrator CAT and the Anchor CAT.
    • Subsequent pairing commands on jf-control-app execute only the commissioning subset (e.g., NOC issuance), then ownership is transferred via RPC to jf-admin-app to finalize commissioning.
    • If the jf parameter is used in the pairing command, the CaseAdminSubject field is set to the Anchor CAT of the jf-admin-app.