diff --git a/.github/.wordlist.txt b/.github/.wordlist.txt index 55fab7d6b501b5..7e306fb9cba184 100644 --- a/.github/.wordlist.txt +++ b/.github/.wordlist.txt @@ -207,6 +207,7 @@ cpuapp cpython crypto cryptographic +CSA csu csv ctl diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c2cd5b5f70ae3a..99e21627ac9422 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,41 +2,41 @@ Want to contribute? Great! First, read this page (including the small print at the end). By submitting a pull request, you represent that you have the right to -license your contribution to the Connectivity Standards Alliance and the community, and agree by -submitting the patch that your contributions are licensed under the -[Apache 2.0 license](./LICENSE). Before submitting the pull request, please make -sure you have tested your changes and that they follow the project guidelines -for contributing code. +license your contribution to the Connectivity Standards Alliance and the +community, and agree by submitting the patch that your contributions are +licensed under the [Apache 2.0 license](./LICENSE). Before submitting the pull +request, please make sure you have tested your changes and that they follow the +project guidelines for contributing code. # Contributing as an Open Source Contributor As an open source contributor you can report bugs and request features in the [Issue Tracker](https://github.com/project-chip/connectedhomeip/issues), as well -as contribute bug fixes and features that do not impact Matter -specification as a pull request. For example: ports of Matter to add APIs -to alternative programming languages (e.g. Java, JS), hardware ports, or an -optimized implementation of existing functionality. For features that impact the -specification, please join Matter work group within the Connectivity Standards Alliance. -The requirements to become an open source contributor of the -[Project CHIP Repository](https://github.com/project-chip/connectedhomeip) are: +as contribute bug fixes and features that do not impact Matter specification as +a pull request. For example: ports of Matter to add APIs to alternative +programming languages (e.g. Java, JS), hardware ports, or an optimized +implementation of existing functionality. For features that impact the +specification, please join Matter work group within the Connectivity Standards +Alliance. The requirements to become an open source contributor of the +[Matter Repository](https://github.com/project-chip/connectedhomeip) are: - Agree to the [Code of Conduct](./CODE_OF_CONDUCT.md) - Agree to the [License](./LICENSE) - Have signed the - [Zigbee Project CHIP Working Group CLA](https://gist.github.com/clapre/65aa9fc63981da765039e0bb7e8701be) + [Matter Working Group CLA](https://gist.github.com/clapre/65aa9fc63981da765039e0bb7e8701be) -# Contributing as a Connectivity Standards Alliance Project CHIP Working Group Member +# Contributing as a Connectivity Standards Alliance Matter Working Group Member -As a participant of the Connectivity Standards Alliance Project CHIP Working Group, you can -attend Working Group meetings, propose changes to the Matter +As a participant of the Connectivity Standards Alliance Matter Working Group, +you can attend Working Group meetings, propose changes to the Matter specification, and contribute code for approved updates to the specification. The requirements to become a member of the -[Project CHIP Repository](https://github.com/project-chip/connectedhomeip) are: +[Matter Repository](https://github.com/project-chip/connectedhomeip) are: - Must be a [Participant member](http://www.zigbeealliance.org/join) or higher of the Connectivity Standards Alliance -- Must be a Project CHIP Working Group member -- Have signed the Alliance Project CHIP Working Group CLA +- Must be a Matter Working Group member +- Have signed the Alliance Matter Working Group CLA - Have approval from your company's official approver # Bugs @@ -67,15 +67,14 @@ new feature: # Contributing Code -Project CHIP follows the "Fork-and-Pull" model for accepting contributions. +Matter follows the "Fork-and-Pull" model for accepting contributions. ### Initial Setup Setup your GitHub fork and continuous-integration services: -1. Fork the - [Project CHIP repository](https://github.com/project-chip/connectedhomeip) by - clicking "Fork" on the web UI. +1. Fork the [Matter repository](https://github.com/project-chip/connectedhomeip) + by clicking "Fork" on the web UI. 2. All contributions must pass all checks and reviews to be accepted. @@ -165,8 +164,8 @@ on occasion. #### Documentation Best Practices -Project CHIP uses Doxygen to markup (or markdown) all C, C++, Objective C, -Objective C++, Perl, Python, and Java code. Read our +Matter uses Doxygen to markup (or markdown) all C, C++, Objective C, Objective +C++, Perl, Python, and Java code. Read our [Doxygen Best Practices, Conventions, and Style](https://github.com/project-chip/connectedhomeip/blob/master/docs/style/DOXYGEN.adoc) #### Submit Pull Request diff --git a/README.md b/README.md index 24e7dfdae28af4..b93a81a83639e8 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Connected Home over IP +# Matter ![Builds](https://github.com/project-chip/connectedhomeip/workflows/Builds/badge.svg) @@ -17,24 +17,24 @@ ![ZAP Templates](https://github.com/project-chip/connectedhomeip/workflows/ZAP/badge.svg) -# What is Project Connected Home over IP? +# What is Matter? -Project Connected Home over IP is a new Working Group within the Zigbee -Alliance. This Working Group plans to develop and promote the adoption of a new, -royalty-free connectivity standard to increase compatibility among smart home -products, with security as a fundamental design tenet. +Matter (formerly Project Connected Home over IP, or Project CHIP) is a new +Working Group within the Connectivity Standards Alliance (CSA, formerly Zigbee +Alliance). This Working Group plans to develop and promote the adoption of a +new, royalty-free connectivity standard to increase compatibility among smart +home products, with security as a fundamental design tenet. -The goal of the Connected Home over IP project is to simplify development for -manufacturers and increase compatibility for consumers. The project is built -around a shared belief that smart home devices should be secure, reliable, and -seamless to use. By building upon Internet Protocol (IP), the project aims to -enable communication across smart home devices, mobile apps, and cloud services -and to define a specific set of IP-based networking technologies for device +The goal of the Matter project is to simplify development for manufacturers and +increase compatibility for consumers. The project is built around a shared +belief that smart home devices should be secure, reliable, and seamless to use. +By building upon Internet Protocol (IP), the project aims to enable +communication across smart home devices, mobile apps, and cloud services and to +define a specific set of IP-based networking technologies for device certification. -The Zigbee Alliance officially opened the Project Connected Home over IP -(Project CHIP) Working Group on January 17, 2020 and is in the process of -drafting the specification. +The CSA officially opened the Matter Working Group on January 17, 2020 and is in +the process of drafting the specification. Visit [buildwithmatter.com](https://buildwithmatter.com) to learn more and read the latest news and updates about the project. @@ -43,14 +43,13 @@ the latest news and updates about the project. ## Development Goals -Project Connected Home over IP is developed with the following goals and -principles in mind: +Matter is developed with the following goals and principles in mind: -**Unifying:** Project CHIP will produce a new specification, building with and -on top of market-tested, existing technologies. +**Unifying:** Matter will produce a new specification, building with and on top +of market-tested, existing technologies. -**Interoperable:** The specification permits communication between any Project -CHIP-certified device, subject to users’ permission. +**Interoperable:** The specification permits communication between any +Matter-certified device, subject to users’ permission. **Secure:** The specification leverages modern security practices and protocols. @@ -82,17 +81,17 @@ transparent to the general public, including to non-members wherever possible. ## Architecture Overview -![CHIP Architecture Overview](docs/images/CHIP_IP_pyramid.png) +![Matter Architecture Overview](docs/images/CHIP_IP_pyramid.png) The Project, as illustrated above, defines the application layer that will be deployed on devices and controllers as well as the supported IPv6-based networks -to help achieve our interoperability architectural goal. Project CHIP will -initially support Wi-Fi and Thread for core, operational communications and -Bluetooth Low Energy (BLE) to simplify device commissioning and setup. +to help achieve our interoperability architectural goal. Matter will initially +support Wi-Fi and Thread for core, operational communications and Bluetooth Low +Energy (BLE) to simplify device commissioning and setup. The Application Layer can be further broken down seven main components: -![CHIP Stack Architecture](docs/images/CHIP_Arch_Pyramid.png) +![Matter Stack Architecture](docs/images/CHIP_Arch_Pyramid.png) 1. **Application:** High order business logic of a device. For example, an application that is focused on lighting might contain logic to handle turning @@ -124,60 +123,58 @@ The Application Layer can be further broken down seven main components: constructed, it is sent to the underlying transport protocol for IP management of the data. -# Current Status of Project Connected Home over IP +# Current Status of Matter -The Project’s design and technical processes are intended to be open and -transparent to the general public, including to Work Group non-members wherever -possible. The availability of this GitHub repository and its source code under -an Apache v2 license is an important and demonstrable step to achieving this -commitment. +Matter’s design and technical processes are intended to be open and transparent +to the general public, including to Work Group non-members wherever possible. +The availability of this GitHub repository and its source code under an Apache +v2 license is an important and demonstrable step to achieving this commitment. -The Project endeavors to bring together the best aspects of market-tested +Matter endeavors to bring together the best aspects of market-tested technologies and to redeploy them as a unified and cohesive whole-system -solution. The overall goal of this approach is to bring the benefits of the -Project to consumers and manufacturers as quickly as possible. As a result, what -you observe in this repository is an implementation-first approach to the -technical specification, vetting integrations in practice. +solution. The overall goal of this approach is to bring the benefits of Matter +to consumers and manufacturers as quickly as possible. As a result, what you +observe in this repository is an implementation-first approach to the technical +specification, vetting integrations in practice. -The Project repository is growing and evolving to implement the overall +The Matter repository is growing and evolving to implement the overall architecture. The repository currently contains the security foundations, message framing and dispatch, an implementation of the interaction model and data model. The code examples show simple interactions, and are supported on multiple transports -- Wi-Fi and Thread -- starting with resource-constrained -(i.e., memory, processing) silicon platforms to help ensure the Project’s +(i.e., memory, processing) silicon platforms to help ensure Matter’s scalability. # How to Contribute -We welcome your contributions to Project Connected Home over IP. Read our -contribution guidelines [here](./CONTRIBUTING.md). +We welcome your contributions to Matter. Read our contribution guidelines +[here](./CONTRIBUTING.md). -# Building and Developing in Project +# Building and Developing in Matter -Instructions about how to build Project Connected Home over IP can be found -[here](./docs/README.md). +Instructions about how to build Matter can be found [here](./docs/README.md). # Directory Structure -The Connected Home over IP repository is structured as follows: - -| File / Folder | Contents | -| -------------------------------------- | ---------------------------------------------------------------------------------------- | -| `build/` | Build system support content and build output directories | -| [BUILDING.md](docs/guides/BUILDING.md) | More detailed information on configuring and building Project CHIP for different targets | -| `CODE_OF_CONDUCT.md` | Code of Conduct for Project CHIP, and contributions to it | -| [CONTRIBUTING.md](./CONTRIBUTING.md) | Guidelines for contributing to Project CHIP | -| `docs/` | Documentation, including [guides](./docs/guides) | -| `examples/` | Example firmware applications that demonstrate use of Project CHIP technology | -| `integrations/` | Third party integrations related to this project | -| `integrations/docker/` | Docker scripts and Dockerfiles | -| `LICENSE` | Project CHIP [License file](./LICENSE) (Apache 2.0) | -| `BUILD.gn` | Top level GN build file | -| `README.md` | This file | -| `src/` | Implementation of Project CHIP | -| `third_party/` | Third-party code used by Project CHIP | -| `scripts/` | Scripts needed to work with the Project CHIP repo | +The Matter repository is structured as follows: + +| File / Folder | Contents | +| -------------------------------------- | ---------------------------------------------------------------------------------- | +| `build/` | Build system support content and build output directories | +| [BUILDING.md](docs/guides/BUILDING.md) | More detailed information on configuring and building Matter for different targets | +| `CODE_OF_CONDUCT.md` | Code of Conduct for Matter, and contributions to it | +| [CONTRIBUTING.md](./CONTRIBUTING.md) | Guidelines for contributing to Matter | +| `docs/` | Documentation, including [guides](./docs/guides) | +| `examples/` | Example firmware applications that demonstrate use of the Matter technology | +| `integrations/` | Third party integrations related to this project | +| `integrations/docker/` | Docker scripts and Dockerfiles | +| `LICENSE` | Matter [License file](./LICENSE) (Apache 2.0) | +| `BUILD.gn` | Top level GN build file | +| `README.md` | This file | +| `src/` | Implementation of Matter | +| `third_party/` | Third-party code used by Matter | +| `scripts/` | Scripts needed to work with the Matter repository | # License -Project CHIP is released under the [Apache 2.0 license](./LICENSE). +Matter is released under the [Apache 2.0 license](./LICENSE). diff --git a/docs/PROJECT_FLOW.md b/docs/PROJECT_FLOW.md index e050e93afa5ac4..d2b44415c07ed9 100644 --- a/docs/PROJECT_FLOW.md +++ b/docs/PROJECT_FLOW.md @@ -1,16 +1,16 @@ -## CHIP Project Flow +## Matter Project Flow -This section is intended to cover how CHIP uses GitHub Projects, Issues, +This section is intended to cover how Matter uses GitHub Projects, Issues, Milestones, Releases, and Branches for program/project management in the code repository. ### Issues -CHIP uses issues as simple problem descriptions or feature requests. In general, -all work contributed to the repository in the form of pull requests (PR) should -be under the auspices of some open issue. This may seem onerous and in some -cases duplicative, so consider these guidelines when deciding whether to you can -get away with not creating an issue: +Matter uses issues as simple problem descriptions or feature requests. In +general, all work contributed to the repository in the form of pull requests +(PR) should be under the auspices of some open issue. This may seem onerous and +in some cases duplicative, so consider these guidelines when deciding whether to +you can get away with not creating an issue: - Trivial fixes: issues can function as TODO lists, simple reminders that something should be addressed. Sometimes, though, the work required to fix @@ -38,7 +38,7 @@ PR Don'ts: ### Milestones -In CHIP parlance, a milestone is simply a tag for an expected due date or +In Matter parlance, a milestone is simply a tag for an expected due date or release. Milestones are intended to help contributors and their managers to prioritize work. There are 2 types: Date-based and Release-based. @@ -80,6 +80,6 @@ one of the task-tracking projects (the first type). ### Branches, releases, and general development flow -Master should always be CHIPs best branch. Release branches, once cut, are +Master should always be Matter's best branch. Release branches, once cut, are closed for any feature work. Software fixes for release branches must first land on master unless demonstrably infeasible. diff --git a/docs/QUICK_START.md b/docs/QUICK_START.md index b352bb763f4dd3..9877cab026d02f 100644 --- a/docs/QUICK_START.md +++ b/docs/QUICK_START.md @@ -2,15 +2,15 @@ ## Demo Overview -The CHIP reference implementation contains support for a number examples and +The Matter reference implementation contains support for a number examples and platforms. -## WiFi Nodes +## Wi-Fi Nodes -|
Controller / Admin
|
Node
| Description | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| [**chip-tool**](https://github.com/project-chip/connectedhomeip/blob/master/examples/chip-tool/README.md) (Linux / Mac)
Includes docs for all the cluster commands supported
| **all-clusters-app**
  • [M5Stack](https://github.com/project-chip/connectedhomeip/blob/master/examples/all-clusters-app/esp32/README.md) (ESP)
  • [Linux](https://github.com/project-chip/connectedhomeip/tree/master/examples/all-clusters-app/linux) simulation | Use the command line tool on a laptop to pair with and control an embedded WiFi platform. This demo supports the “all-clusters-app”, so it provides the basic onoff light test and more. Two incremental modes of operation are supported for testing (configurable via Kconfig tool when building M5):
    1. Unsecured (WiFi only)
      BLE Rendezvous Mode Bypass = 1
    2. PASE secured
      (BLE pairing, WiFi operational)
    | -| [**chip-device-ctrl.py**](https://github.com/project-chip/connectedhomeip/blob/master/src/controller/python/README.md) | **all-clusters-app**
  • [M5Stack](https://github.com/project-chip/connectedhomeip/blob/master/examples/all-clusters-app/esp32/README.md) (ESP)
  • [Linux](https://github.com/project-chip/connectedhomeip/tree/master/examples/all-clusters-app/linux) simulation | Same as above, but uses the pychip tool as Controller Node, and focuses on BLE flow rather than Bypass. | +|
    Controller / Admin
    |
    Node
    | Description | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [**chip-tool**](https://github.com/project-chip/connectedhomeip/blob/master/examples/chip-tool/README.md) (Linux / Mac)
    Includes docs for all the cluster commands supported
    | **all-clusters-app**
  • [M5Stack](https://github.com/project-chip/connectedhomeip/blob/master/examples/all-clusters-app/esp32/README.md) (ESP)
  • [Linux](https://github.com/project-chip/connectedhomeip/tree/master/examples/all-clusters-app/linux) simulation | Use the command line tool on a laptop to pair with and control an embedded Wi-Fi platform. This demo supports the “all-clusters-app”, so it provides the basic onoff light test and more. Two incremental modes of operation are supported for testing (configurable via Kconfig tool when building M5):
    1. Unsecured (Wi-Fi only)
      Bluetooth LE Rendezvous Mode Bypass = 1
    2. PASE secured
      (BLE pairing, Wi-Fi operational)
    | +| [**chip-device-ctrl.py**](https://github.com/project-chip/connectedhomeip/blob/master/src/controller/python/README.md) | **all-clusters-app**
  • [M5Stack](https://github.com/project-chip/connectedhomeip/blob/master/examples/all-clusters-app/esp32/README.md) (ESP)
  • [Linux](https://github.com/project-chip/connectedhomeip/tree/master/examples/all-clusters-app/linux) simulation | Same as above, but uses the pychip tool as Controller Node, and focuses on Bluetooth LE flow rather than Bypass. | ## Thread Nodes @@ -20,7 +20,7 @@ combination listed below. |
    Border Router
    |
    Node
    | Description | | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [**ot-br**](https://openthread.io/guides/border-router/build)
    Thread Border Router
  • RasPi
  • BeagleBone | **lighting-app**
  • [Nordic nRF5x](https://github.com/project-chip/connectedhomeip/tree/master/examples/lighting-app/nrfconnect/README.md)
  • [NXP K32W](https://github.com/project-chip/connectedhomeip/tree/master/examples/lighting-app/k32w/README.md)
  • [Qorvo QPG6100](https://github.com/project-chip/connectedhomeip/tree/master/examples/lighting-app/qpg)
  • [Silicon Labs EFR32](https://github.com/project-chip/connectedhomeip/tree/master/examples/lighting-app/efr32/README.md) | The Lighting example is supported by many of the available Thread platforms. See the chip-tool controller instructions for how to actuate the light on/off cluster. | -| [**ot-br**](https://openthread.io/guides/border-router/build)
    Thread Border Router
  • RasPi
  • BeagleBone | **lock-app**
  • [Nordic nRF5x](https://github.com/project-chip/connectedhomeip/tree/master/examples/lock-app/nrfconnect/README.md)
  • [NXP K32W](https://github.com/project-chip/connectedhomeip/tree/master/examples/lock-app/k32w/README.md)
  • [Qorvo QPG6100](https://github.com/project-chip/connectedhomeip/tree/master/examples/lock-app/qpg)
  • [Silicon Labs EFR32](https://github.com/project-chip/connectedhomeip/tree/master/examples/lock-app/efr32/README.md)
  • [TI CC13x2x7](https://github.com/project-chip/connectedhomeip/tree/master/examples/lock-app/cc13x2x7_26x2x7/README.md) | The Lock example is supported by many of the available Thread and WiFi platforms. | +| [**ot-br**](https://openthread.io/guides/border-router/build)
    Thread Border Router
  • RasPi
  • BeagleBone | **lock-app**
  • [Nordic nRF5x](https://github.com/project-chip/connectedhomeip/tree/master/examples/lock-app/nrfconnect/README.md)
  • [NXP K32W](https://github.com/project-chip/connectedhomeip/tree/master/examples/lock-app/k32w/README.md)
  • [Qorvo QPG6100](https://github.com/project-chip/connectedhomeip/tree/master/examples/lock-app/qpg)
  • [Silicon Labs EFR32](https://github.com/project-chip/connectedhomeip/tree/master/examples/lock-app/efr32/README.md)
  • [TI CC13x2x7](https://github.com/project-chip/connectedhomeip/tree/master/examples/lock-app/cc13x2x7_26x2x7/README.md) | The Lock example is supported by many of the available Thread and Wi-Fi platforms. | ## Controllers @@ -39,7 +39,8 @@ to use `chip-tool pairing onnetwork 34567890`, because the unit tests change the device configuration. NOTE: to run both the Node and Controller as separate processes on the same -Linux or Mac machine, build the all-clusters-app with BLE disabled as follows: +Linux or Mac machine, build the all-clusters-app with Bluetooth LE disabled as +follows: `scripts/examples/gn_build_example.sh examples/all-clusters-app/linux out/debug/standalone/ chip_config_network_layer_ble=false` diff --git a/docs/STYLE_GUIDE.md b/docs/STYLE_GUIDE.md index dd48ee5934c70a..c3cd822e4a3bec 100644 --- a/docs/STYLE_GUIDE.md +++ b/docs/STYLE_GUIDE.md @@ -1,9 +1,9 @@ -# CHIP Documentation Style Guide +# Matter Documentation Style Guide -CHIP documentation lives here: +Matter documentation lives here: - **GitHub** — All guides and tutorials across the complete - [Project-CHIP organization](https://github.com/project-chip). + [Matter organization](https://github.com/project-chip). See [CONTRIBUTING.md](https://github.com/project-chip/connectedhomeip/blob/master/CONTRIBUTING.md) @@ -22,13 +22,13 @@ Current documentation structure: | `/actions` | Custom GitHub actions | | `/docs/guides` | Conceptual or usage content that doesn't fit within a subdirectory, and high-level tutorials | | `/docs/guides/images` | All images included in guide content | -| `/docs/guides/profiles` | Content describing or illustrating use of CHIP profiles | -| `/docs/guides/test` | Content related to testing CHIP | -| `/docs/guides/tools` | Content describing or illustrating use of CHIP tools | -| `/docs/guides/primer` | CHIP Primer content | -| `/docs/presentations` | PDF presentations on CHIP features | -| `/docs/specs` | PDFs of CHIP specifications | -| `/images` | Top-level CHIP images, such as logos | +| `/docs/guides/profiles` | Content describing or illustrating use of Matter profiles | +| `/docs/guides/test` | Content related to testing Matter | +| `/docs/guides/tools` | Content describing or illustrating use of Matter tools | +| `/docs/guides/primer` | Matter Primer content | +| `/docs/presentations` | PDF presentations on Matter features | +| `/docs/specs` | PDFs of Matter specifications | +| `/images` | Top-level Matter images, such as logos | If you are unsure of the best location for your contribution, create an Issue and ask, or let us know in your Pull Request. @@ -43,12 +43,12 @@ For consistency, all document links should point to the content on GitHub. The text of a link should be descriptive, so it's clear what the link is for: -> For more information, see the [CHIP Style Guide](./STYLE_GUIDE.md). +> For more information, see the [Matter Style Guide](./STYLE_GUIDE.md). ## Markdown guidelines -Use standard Markdown when authoring CHIP documentation. While HTML may be used -for more complex content such as tables, use Markdown as much as possible. +Use standard Markdown when authoring Matter documentation. While HTML may be +used for more complex content such as tables, use Markdown as much as possible. > Note: Edit this file to see the Markdown behind the examples. diff --git a/docs/VSCODE_DEVELOPMENT.md b/docs/VSCODE_DEVELOPMENT.md index 8e1047568c6e17..ec585ecb11bdbe 100644 --- a/docs/VSCODE_DEVELOPMENT.md +++ b/docs/VSCODE_DEVELOPMENT.md @@ -1,11 +1,11 @@ # Visual Studio Code Development [Visual Studio Code](https://code.visualstudio.com/) is a great and simple IDE -that can be used to build & develop with for CHIP. +that can be used to build & develop with for Matter. -CHIP supports the docker / remote container workflow in Visual Studio Code, and -has a container environment setup automatically. You can read more about this -workflow [here](https://code.visualstudio.com/docs/remote/containers). +Matter supports the docker / remote container workflow in Visual Studio Code, +and has a container environment setup automatically. You can read more about +this workflow [here](https://code.visualstudio.com/docs/remote/containers). Tested on: @@ -26,7 +26,7 @@ Tested on: 1. Install [Git](https://git-scm.com/) if you haven't already 1. _Windows Only_ Enable git to use LF instead of CLRF by default: `git config --global core.autocrlf false` -1. Git clone the main CHIP repository here: +1. Git clone the main Matter repository here: 1. Launch Visual Studio Code, and open the cloned folder from 1. Install the @@ -42,7 +42,7 @@ Tested on: to use Bash on Ubuntu (on Windows) eg: `"terminal.integrated.shell.windows": "C:\\Windows\\System32\\bash.exe"` 1. Now your local machine is building a docker image that has all the tools - necessary to build and test CHIP. This can take some time, but will + necessary to build and test Matter. This can take some time, but will eventually complete and open up the source tree ## Bootstrapping your source tree (one time) diff --git a/docs/guides/android_building.md b/docs/guides/android_building.md index b5c3f254d22078..d320362b5c3915 100644 --- a/docs/guides/android_building.md +++ b/docs/guides/android_building.md @@ -3,13 +3,14 @@ There are following Apps on Android - CHIPTool - Android CHIPTool is an application for Android for commissioning - and controlling CHIP accessory devices. It offers the following features: - - Scan a CHIP QR code and display payload information to the user - Read the - NFC tag containing CHIP onboarding information - Commission a CHIP device - - Send echo requests to the CHIP echo server - Send on/off cluster requests to - a CHIP device + and controlling Matter accessory devices. It offers the following features: + - Scan a Matter QR code and display payload information to the user + - Read the NFC tag containing Matter onboarding information + - Commission a Matter device + - Send echo requests to the Matter echo server + - Send on/off cluster requests to a Matter device - CHIPTest - - Android CHIPTest is an application for Android for running CHIP's unit + - Android CHIPTest is an application for Android for running Matter's unit tests
    @@ -20,6 +21,7 @@ There are following Apps on Android - [Preparing for build](#preparing) - [Building Android CHIPTool from scripts](#building-scripts) - [Building Android CHIPTool from Android Studio](#building-studio) +- [Building Android CHIPTest from scripts](#building-chiptest-scripts)
    @@ -61,9 +63,9 @@ architecture: ## Preparing for build -Complete the following steps to prepare the CHIP build: +Complete the following steps to prepare the Matter build: -1. Check out the CHIP repository. +1. Check out the Matter repository. 2. Run bootstrap (**only required first time**) @@ -76,11 +78,7 @@ Complete the following steps to prepare the CHIP build: -## Building Android CHIPTool - - - -### From scripts +## Building Android CHIPTool from scripts This is the simplest option. In the command line, run the following command from the top CHIP directory: @@ -100,17 +98,17 @@ adb install out/android-$TARGET_CPU-chip-tool/outputs/apk/debug/app-debug.apk ``` You can use Android Studio to edit the Android CHIPTool app itself and run it -after build_examples.py, but you will not be able to edit CHIP Android code from -`src/controller/java`, or other CHIP C++ code within Android Studio. +after build_examples.py, but you will not be able to edit Matter Android code +from `src/controller/java`, or other Matter C++ code within Android Studio. -### From Android Studio +## Building Android CHIPTool from Android Studio -This option allows Android Studio to build the core CHIP code from source, which -allows us to directly edit core CHIP code in-IDE. +This option allows Android Studio to build the core Matter code from source, +which allows us to directly edit core Matter code in-IDE. -1. In the command line, run the following command from the top CHIP directory: +1. In the command line, run the following command from the top Matter directory: ```shell TARGET_CPU=arm64 ./scripts/examples/android_app_ide.sh @@ -149,11 +147,12 @@ or (cd src/android/CHIPTool && ./gradlew installDebug) ``` -## Building Android CHIPTest + -### From scripts +## Building Android CHIPTest from scripts -The steps are similar with [CHIPTool scripts build](#chiptool_scripts_build) +Currently, the CHIPTest can only be built from scripts. The steps are similar to +[building CHIPTool from scripts](#building-scripts). ```shell ./scripts/build/build_examples.py --target android-arm64-chip-test build @@ -162,7 +161,3 @@ The steps are similar with [CHIPTool scripts build](#chiptool_scripts_build) You can modify the `matterUTestLib` variable to the test lib in [src/android/CHIPTest/gradle.properties](https://github.com/project-chip/connectedhomeip/blob/master/src/android/CHIPTest/gradle.properties) to change target to test. - -### From Android Studio - -Not supported yet diff --git a/docs/guides/nrfconnect_android_commissioning.md b/docs/guides/nrfconnect_android_commissioning.md index a367a6c142114d..787ba5957a72ab 100644 --- a/docs/guides/nrfconnect_android_commissioning.md +++ b/docs/guides/nrfconnect_android_commissioning.md @@ -2,7 +2,7 @@ You can use [CHIPTool](android_chiptool_building.md) for Android smartphones to commission a Nordic Semiconductor device running an nRF Connect platform example -onto a CHIP-enabled Thread network. +onto a Matter-enabled Thread network. This guide references the nRF52840 DK and the door lock example application based on the nRF Connect platform, but the instructions are also valid for the @@ -18,7 +18,7 @@ and applications as well. - [Building and installing Android CHIPTool](#building-chiptool) - [Preparing accessory device](#preparing-accessory) - [Commissioning accessory device](#commissioning-accessory) -- [Sending CHIP commands](#sending-chip-commands) +- [Sending Matter commands](#sending-chip-commands)
    @@ -28,10 +28,10 @@ and applications as well. The commissioning process is composed of the following main stages: -1. CHIPTool discovers a CHIP accessory device over Bluetooth LE. +1. CHIPTool discovers a Matter accessory device over Bluetooth LE. 2. CHIPTool establishes a secure channel to the device over Bluetooth LE, and - sends CHIP operational credentials and Thread provisioning data. -3. The accessory device joins a CHIP-enabled Thread network. + sends Matter operational credentials and Thread provisioning data. +3. The accessory device joins a Matter-enabled Thread network. CHIPTool uses both Bluetooth LE and the IPv6 connectivity. Bluetooth LE is used only during the commissioning phase. Afterwards, only the IPv6 connectivity @@ -49,7 +49,7 @@ The following diagram shows the connectivity between network components required to allow communication between devices running the CHIPTool and Lock applications: -![CHIP nodes connectivity](./images/nrfconnect_android_connectivity.png) +![Matter nodes connectivity](./images/nrfconnect_android_connectivity.png)
    @@ -120,7 +120,7 @@ After building, install the application by completing the following steps: turn it on. 4. Plug the smartphone into a USB port on your PC. 5. Run the following command to install the application, with _chip-dir_ - replaced with the path to the CHIP source directory: + replaced with the path to the Matter source directory: $ adb install -r chip-dir/src/android/CHIPTool/app/build/outputs/apk/debug/app-debug.apk @@ -183,7 +183,7 @@ device successfully joins the Thread network. -## Sending CHIP commands +## Sending Matter commands Once the device is commissioned, the main application screen appears. diff --git a/docs/guides/nrfconnect_examples_cli.md b/docs/guides/nrfconnect_examples_cli.md index 7297df828a6e9b..056fda2ebadf71 100644 --- a/docs/guides/nrfconnect_examples_cli.md +++ b/docs/guides/nrfconnect_examples_cli.md @@ -79,9 +79,9 @@ uart:~$ ot masterkey Done ``` -## Using CHIP-specific commands +## Using Matter-specific commands -The nRF Connect examples let you use several CHIP-specific CLI commands. +The nRF Connect examples let you use several Matter-specific CLI commands. These commands are not available by default and to enable using them, set the `CONFIG_CHIP_LIB_SHELL=y` Kconfig option in the `prj.conf` file of the given @@ -89,7 +89,8 @@ example. Every invoked command must be preceded by the `matter` prefix. -See the following subsections for the description of each CHIP-specific command. +See the following subsections for the description of each Matter-specific +command. ### device @@ -99,7 +100,7 @@ this command together with one of the additional subcommands listed below. #### factoryreset Performs device factory reset that is hardware reset preceded by erasing of the -whole CHIP settings stored in a non-volatile memory. +whole Matter settings stored in a non-volatile memory. ```shell uart:~$ matter factoryreset diff --git a/docs/guides/nrfconnect_examples_software_update.md b/docs/guides/nrfconnect_examples_software_update.md index 7346cf163705a8..3966e40e4e6940 100644 --- a/docs/guides/nrfconnect_examples_software_update.md +++ b/docs/guides/nrfconnect_examples_software_update.md @@ -54,8 +54,8 @@ Complete the following steps to perform DFU using mcumgr: > **_NOTE:_** In all of the commands listed in the following steps, replace > `ble-hci-number` with the Bluetooth hci integer value (for example, `0`) and -> `ble-device-name` with the CHIP device name advertised over Bluetooth LE (for -> example, `MatterLock`). +> `ble-device-name` with the Matter device name advertised over Bluetooth LE +> (for example, `MatterLock`). 1. Install the tool by following the [mcumgr command line tool installation instructions](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/guides/device_mgmt/index.html#command-line-tool). diff --git a/docs/guides/nrfconnect_platform_overview.md b/docs/guides/nrfconnect_platform_overview.md index 1cd70163aa288e..626c2d746b2056 100644 --- a/docs/guides/nrfconnect_platform_overview.md +++ b/docs/guides/nrfconnect_platform_overview.md @@ -1,17 +1,17 @@ # nRF Connect platform overview The nRF Connect platform is a -[CHIP](https://github.com/project-chip/connectedhomeip) platform that uses +[Matter](https://github.com/project-chip/connectedhomeip) platform that uses Nordic Semiconductor's nRF Connect SDK. -The following diagram shows a simplified structure of a CHIP application that +The following diagram shows a simplified structure of a Matter application that runs on the nRF Connect platform and uses BLE and Thread stacks for communication purposes: ![nrfconnect platform overview](./images/chip_nrfconnect_overview_simplified.svg) > **Note**: For readability, the diagram does not show all projects components, -> only the most important ones for a typical CHIP application. +> only the most important ones for a typical Matter application.
    @@ -41,9 +41,9 @@ implementation of the Thread stack. ## Bluetooth LE and Thread stacks In the nRF Connect platform applications, the Bluetooth LE interface is used to -perform pairing and Thread network provisioning operations between the CHIP -device and the CHIP controller. Afterwards, the fully provisioned device is able -to communicate with other devices inside the Thread network. +perform pairing and Thread network provisioning operations between the Matter +device and the Matter controller. Afterwards, the fully provisioned device is +able to communicate with other devices inside the Thread network. For the Bluetooth LE communication purposes, the nRF Connect platform application is using the Bluetooth LE stack, in which the Bluetooth LE Host part @@ -62,18 +62,18 @@ Bluetooth LE and Thread concurrently on the same radio chip.
    -## CHIP integration +## Matter integration -CHIP is located on the top application layer of the presented model, looking +Matter is located on the top application layer of the presented model, looking from the networking point of view. The Bluetooth LE and Thread stacks provided -by the nRF Connect SDK and Zephyr must be integrated with the CHIP stack using a -special intermediate layer. +by the nRF Connect SDK and Zephyr must be integrated with the Matter stack using +a special intermediate layer. In practice, this layer contains platform-specific implementations of abstract manager interfaces (such as Bluetooth LE Manager or Thread Stack Manager) -defined in the CHIP stack. The application is able to use CHIP's platform +defined in the Matter stack. The application is able to use Matter's platform agnostic interfaces and no additional platform-related actions are needed to -perform communication through the CHIP stack. +perform communication through the Matter stack.
    @@ -82,11 +82,11 @@ perform communication through the CHIP stack. The nRF Connect platform makes use of the following build systems to generate ninja build scripts: -- GN - Used by the CHIP project in majority of cases. +- GN - Used by the Matter project in majority of cases. - CMake - Used by other components related with the nRF Connect platform, namely nRF Connect SDK and Zephyr. -As a result, CHIP's stack and platform modules are built with GN (see the +As a result, Matter's stack and platform modules are built with GN (see the overview diagram) and the output is used to generate the library file. The -application, nRF Connect SDK, and Zephyr are built with CMake and the CHIP +application, nRF Connect SDK, and Zephyr are built with CMake and the Matter library file is imported during the compilation process. diff --git a/docs/guides/python_chip_controller_advanced_usage.md b/docs/guides/python_chip_controller_advanced_usage.md index 8a324b15b06a6c..be77b14d9b7e62 100644 --- a/docs/guides/python_chip_controller_advanced_usage.md +++ b/docs/guides/python_chip_controller_advanced_usage.md @@ -2,7 +2,7 @@ This document extends the [basic documentation](python_chip_controller_building.md) of the Python CHIP -Controller with the useful information when developing Python CHIP controller +Controller with the useful information when developing Python CHIP Controller tool or Matter accessories on Linux.
    @@ -79,7 +79,7 @@ interfaces working as Bluetooth LE central and peripheral, respectively. ## Debugging with gdb You can run the chip-device-ctrl under GDB for debugging, however, since the -CHIP core support library is a dynamic library, you cannot read the symbols +Matter core support library is a dynamic library, you cannot read the symbols unless it is fully loaded. The following block is a example debug session using GDB: @@ -116,8 +116,8 @@ suppress thread related outputs first by running the following command: (gdb) set print thread-events off ``` -We cannot set breakpoints here, since the GDB knows nothing about the CHIP -library, let run the CHIP device controller first. +We cannot set breakpoints here, since the GDB knows nothing about the Matter +library, let run the Matter device controller first. ``` (gdb) run @@ -140,8 +140,8 @@ Chip Device Controller Shell chip-device-ctrl > ``` -The prompt `chip-device-ctrl >` indicates that the CHIP core library is loaded -by Python, you can browse the symbols in the CHIP core library, setting +The prompt `chip-device-ctrl >` indicates that the Matter core library is loaded +by Python, you can browse the symbols in the Matter core library, setting breakpoints on functions and many other functions provided by GDB. You can use `Ctrl-C` to send SIGINT to the controller anytime you want so you diff --git a/docs/guides/python_chip_controller_building.md b/docs/guides/python_chip_controller_building.md index 6e8dea42e66fba..a23d3c893183fe 100644 --- a/docs/guides/python_chip_controller_building.md +++ b/docs/guides/python_chip_controller_building.md @@ -1,6 +1,6 @@ # Working with Python CHIP Controller -The Python CHIP controller is a tool that allows to commission a Matter device +The Python CHIP Controller is a tool that allows to commission a Matter device into the network and to communicate with it using the Zigbee Cluster Library (ZCL) messages. diff --git a/examples/chip-tool/README.md b/examples/chip-tool/README.md index 699e83e33ae662..9e22fc35ab9051 100644 --- a/examples/chip-tool/README.md +++ b/examples/chip-tool/README.md @@ -1,10 +1,9 @@ -# CHIP Client Example +# Matter Client Example -An example application that uses CHIP to send messages to a CHIP server. +An example application that uses Matter to send messages to a Matter server. --- -- [CHIP Client Example](#chip-client-example) - [Building the Example Application](#building-the-example-application) - [Using the Client to Request an Echo](#using-the-client-to-request-an-echo) @@ -97,9 +96,9 @@ devices log when they start up) and try to pair with the first one it discovers. $ chip-tool pairing unpair -## Using the Client to Send CHIP Commands +## Using the Client to Send Matter Commands -To use the Client to send a CHIP commands, run the built executable and pass it +To use the Client to send Matter commands, run the built executable and pass it the target cluster name, the target command name as well as an endpoint id. The endpoint id must be between 1 and 240. diff --git a/examples/lighting-app/nrfconnect/README.md b/examples/lighting-app/nrfconnect/README.md index 578acdd03027ca..1cdc8c295f4845 100644 --- a/examples/lighting-app/nrfconnect/README.md +++ b/examples/lighting-app/nrfconnect/README.md @@ -1,4 +1,4 @@ -# CHIP nRF Connect Lighting Example Application +# Matter nRF Connect Lighting Example Application The nRF Connect Lighting Example demonstrates how to remotely control a white dimmable light bulb. It uses buttons to test changing the lighting and device @@ -10,12 +10,13 @@ a reference for creating your own application. nRF52840 DK

    -The example is based on [CHIP](https://github.com/project-chip/connectedhomeip) -and Nordic Semiconductor's nRF Connect SDK, and supports remote access and -control of a lighting over a low-power, 802.15.4 Thread network. +The example is based on +[Matter](https://github.com/project-chip/connectedhomeip) and Nordic +Semiconductor's nRF Connect SDK, and supports remote access and control of a +lighting over a low-power, 802.15.4 Thread network. -The example behaves as a CHIP accessory, that is a device that can be paired -into an existing CHIP network and can be controlled by this network. +The example behaves as a Matter accessory, that is a device that can be paired +into an existing Matter network and can be controlled by this network.
    @@ -51,19 +52,19 @@ into an existing CHIP network and can be controlled by this network. This example is running on the nRF Connect platform, which is based on Nordic Semiconductor's [nRF Connect SDK](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/index.html) -and [Zephyr RTOS](https://zephyrproject.org/). Visit CHIP's +and [Zephyr RTOS](https://zephyrproject.org/). Visit Matter's [nRF Connect platform overview](../../../docs/guides/nrfconnect_platform_overview.md) to read more about the platform structure and dependencies. -The CHIP device that runs the lighting application is controlled by the CHIP -controller device over the Thread protocol. By default, the CHIP device has -Thread disabled, and it should be paired with CHIP controller and get +The Matter device that runs the lighting application is controlled by the Matter +controller device over the Thread protocol. By default, the Matter device has +Thread disabled, and it should be paired with Matter controller and get configuration from it. Some actions required before establishing full communication are described below. The example also comes with a test mode, which allows to start Thread with the default settings by pressing button manually. However, this mode does not -guarantee that the device will be able to communicate with the CHIP controller +guarantee that the device will be able to communicate with the Matter controller and other devices. The example can be configured to use the secure bootloader and utilize it for @@ -71,18 +72,19 @@ performing over-the-air Device Firmware Upgrade using Bluetooth LE. ### Bluetooth LE advertising -To commission the device onto a CHIP network, the device must be discoverable +To commission the device onto a Matter network, the device must be discoverable over Bluetooth LE that starts automatically upon the device startup, but only for a predefined period of time (15 minutes by default). If the Bluetooth LE advertising times out, you can re-enable it manually using **Button 4**. ### Bluetooth LE rendezvous -In CHIP, the commissioning procedure is done over Bluetooth LE between a CHIP -device and the CHIP controller, where the controller has the commissioner role. +In Matter, the commissioning procedure is done over Bluetooth LE between a +Matter device and the Matter controller, where the controller has the +commissioner role. To start the rendezvous, the controller must get the commissioning information -from the CHIP device. The data payload is encoded within a QR code, printed to +from the Matter device. The data payload is encoded within a QR code, printed to the UART console, and shared using an NFC tag. NFC tag emulation starts automatically when Bluetooth LE advertising is started and stays enabled until Bluetooth LE advertising timeout expires. @@ -90,15 +92,15 @@ Bluetooth LE advertising timeout expires. #### Thread provisioning Last part of the rendezvous procedure, the provisioning operation involves -sending the Thread network credentials from the CHIP controller to the CHIP +sending the Thread network credentials from the Matter controller to the Matter device. As a result, device is able to join the Thread network and communicate with other Thread devices in the network. ### Device Firmware Upgrade The example allows enabling the over-the-air Device Firmware Upgrade feature. In -this process, the device hosting new firmware image sends the image to the CHIP -device using Bluetooth LE transport and +this process, the device hosting new firmware image sends the image to the +Matter device using Bluetooth LE transport and [Simple Management Protocol](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/guides/device_mgmt/index.html#device-mgmt). The [MCUboot](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/mcuboot/index.html) @@ -228,13 +230,14 @@ communicate with it using the **NFC port with antenna attached** can be used to start the [rendezvous](#bluetooth-le-rendezvous) by providing the commissioning -information from the CHIP device in a data payload that can be shared using NFC. +information from the Matter device in a data payload that can be shared using +NFC.
    ## Setting up the environment -Before building the example, check out the CHIP repository and sync submodules +Before building the example, check out the Matter repository and sync submodules using the following command: $ git submodule update --init @@ -272,7 +275,7 @@ To use the Docker container for setup, complete the following steps: - _~/nrfconnect_ can be replaced with an absolute path to the nRF Connect SDK source directory. - - _~/connectedhomeip_ must be replaced with an absolute path to the CHIP + - _~/connectedhomeip_ must be replaced with an absolute path to the Matter source directory. - _-v /dev/bus/usb:/dev/bus/usb --device-cgroup-rule "c 189:_ rmw"\* parameters can be omitted if you are not planning to flash the example @@ -309,20 +312,20 @@ To use the native shell for setup, complete the following steps: If you have the SDK already installed, continue to the next step and update the nRF Connect SDK after initializing environment variables. -3. Initialize environment variables referred to by the CHIP and the nRF Connect - SDK build scripts. Replace _nrfconnect-dir_ with the path to your nRF - Connect SDK installation directory, and _toolchain-dir_ with the path to GNU - Arm Embedded Toolchain. +3. Initialize environment variables referred to by the Matter and the nRF + Connect SDK build scripts. Replace _nrfconnect-dir_ with the path to your + nRF Connect SDK installation directory, and _toolchain-dir_ with the path to + GNU Arm Embedded Toolchain. $ source nrfconnect-dir/zephyr/zephyr-env.sh $ export ZEPHYR_TOOLCHAIN_VARIANT=gnuarmemb $ export GNUARMEMB_TOOLCHAIN_PATH=toolchain-dir 4. Update the nRF Connect SDK to the most recent supported revision by running - the following command (replace _chip-dir_ with the path to CHIP repository - directory): + the following command (replace _matter-dir_ with the path to Matter + repository directory): - $ cd chip-dir + $ cd matter-dir $ python3 scripts/setup/nrfconnect/update_ncs.py --update Now you can proceed with the [Building](#building) instruction. @@ -501,7 +504,7 @@ Read the [Android commissioning guide](../../../docs/guides/nrfconnect_android_commissioning.md) to see how to use [CHIPTool](../../../src/android/CHIPTool/README.md) for Android smartphones to commission and control the application within a -CHIP-enabled Thread network. +Matter-enabled Thread network. ### Testing Device Firmware Upgrade diff --git a/examples/lock-app/nrfconnect/README.md b/examples/lock-app/nrfconnect/README.md index 4fb0929b2cd6be..5e783e75c16f61 100644 --- a/examples/lock-app/nrfconnect/README.md +++ b/examples/lock-app/nrfconnect/README.md @@ -1,4 +1,4 @@ -# CHIP nRF Connect Lock Example Application +# Matter nRF Connect Lock Example Application The nRF Connect Lock Example demonstrates how to remotely control a door lock device with one basic bolt. It uses buttons to test changing the lock and device @@ -10,12 +10,13 @@ a reference for creating your own application. nRF52840 DK

    -The example is based on [CHIP](https://github.com/project-chip/connectedhomeip) -and Nordic Semiconductor's nRF Connect SDK, and supports remote access and -control of a simulated door lock over a low-power, 802.15.4 Thread network. +The example is based on +[Matter](https://github.com/project-chip/connectedhomeip) and Nordic +Semiconductor's nRF Connect SDK, and supports remote access and control of a +simulated door lock over a low-power, 802.15.4 Thread network. -The example behaves as a CHIP accessory, that is a device that can be paired -into an existing CHIP network and can be controlled by this network. +The example behaves as a Matter accessory, that is a device that can be paired +into an existing Matter network and can be controlled by this network.
    @@ -48,19 +49,19 @@ into an existing CHIP network and can be controlled by this network. This example is running on the nRF Connect platform, which is based on Nordic Semiconductor's [nRF Connect SDK](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/index.html) -and [Zephyr RTOS](https://zephyrproject.org/). Visit CHIP's +and [Zephyr RTOS](https://zephyrproject.org/). Visit Matter's [nRF Connect platform overview](../../../docs/guides/nrfconnect_platform_overview.md) to read more about the platform structure and dependencies. -The CHIP device that runs the lock application is controlled by the CHIP -controller device over the Thread protocol. By default, the CHIP device has -Thread disabled, and it should be paired with CHIP controller and get +The Matter device that runs the lock application is controlled by the Matter +controller device over the Thread protocol. By default, the Matter device has +Thread disabled, and it should be paired with Matter controller and get configuration from it. Some actions required before establishing full communication are described below. The example also comes with a test mode, which allows to start Thread with the default settings by pressing button manually. However, this mode does not -guarantee that the device will be able to communicate with the CHIP controller +guarantee that the device will be able to communicate with the Matter controller and other devices. The example can be configured to use the secure bootloader and utilize it for @@ -68,18 +69,18 @@ performing over-the-air Device Firmware Upgrade using Bluetooth LE. ### Bluetooth LE advertising -In this example, to commission the device onto a CHIP network, it must be +In this example, to commission the device onto a Matter network, it must be discoverable over Bluetooth LE. For security reasons, you must start Bluetooth LE advertising manually after powering up the device by pressing **Button 4**. ### Bluetooth LE rendezvous In this example, the commissioning procedure is done over Bluetooth LE between a -CHIP device and the CHIP controller, where the controller has the commissioner -role. +Matter device and the Matter controller, where the controller has the +commissioner role. To start the rendezvous, the controller must get the commissioning information -from the CHIP device. The data payload is encoded within a QR code, printed to +from the Matter device. The data payload is encoded within a QR code, printed to the UART console, and shared using an NFC tag. NFC tag emulation starts automatically when Bluetooth LE advertising is started and stays enabled until Bluetooth LE advertising timeout expires. @@ -87,15 +88,15 @@ Bluetooth LE advertising timeout expires. #### Thread provisioning Last part of the rendezvous procedure, the provisioning operation involves -sending the Thread network credentials from the CHIP controller to the CHIP +sending the Thread network credentials from the Matter controller to the Matter device. As a result, device is able to join the Thread network and communicate with other Thread devices in the network. ### Device Firmware Upgrade The example allows enabling the over-the-air Device Firmware Upgrade feature. In -this process, the device hosting new firmware image sends the image to the CHIP -device using Bluetooth LE transport and +this process, the device hosting new firmware image sends the image to the +Matter device using Bluetooth LE transport and [Simple Management Protocol](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/guides/device_mgmt/index.html#device-mgmt). The [MCUboot](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/mcuboot/index.html) @@ -122,8 +123,8 @@ Simple Management Protocol (SMP) is a basic transfer encoding that is used for device management purposes, including application image management. SMP supports using different transports, such as Bluetooth LE, UDP, or serial USB/UART. -In this example, the CHIP device runs the SMP Server to download the application -update image using the Bluetooth LE transport. +In this example, the Matter device runs the SMP Server to download the +application update image using the Bluetooth LE transport. See the [Building with Device Firmware Upgrade support](#building-with-device-firmware-upgrade-support) @@ -218,13 +219,14 @@ communicate with it using the **NFC port with antenna attached** can be used to start the [rendezvous](#bluetooth-le-rendezvous) by providing the commissioning -information from the CHIP device in a data payload that can be shared using NFC. +information from the Matter device in a data payload that can be shared using +NFC.
    ## Setting up the environment -Before building the example, check out the CHIP repository and sync submodules +Before building the example, check out the Matter repository and sync submodules using the following command: $ git submodule update --init @@ -309,10 +311,10 @@ To use the native shell for setup, complete the following steps: $ export GNUARMEMB_TOOLCHAIN_PATH=toolchain-dir 4. Update the nRF Connect SDK to the most recent supported revision by running - the following command (replace _chip-dir_ with the path to CHIP repository - directory): + the following command (replace _matter-dir_ with the path to Matter + repository directory): - $ cd chip-dir + $ cd matter-dir $ python3 scripts/setup/nrfconnect/update_ncs.py --update Now you can proceed with the [Building](#building) instruction. @@ -466,7 +468,7 @@ Read the [Android commissioning guide](../../../docs/guides/nrfconnect_android_commissioning.md) to see how to use [CHIPTool](../../../src/android/CHIPTool/README.md) for Android smartphones to commission and control the application within a -CHIP-enabled Thread network. +Matter-enabled Thread network. ### Testing Device Firmware Upgrade diff --git a/examples/pigweed-app/nrfconnect/README.md b/examples/pigweed-app/nrfconnect/README.md index ad88dbd5bdaa6c..a66f536180480b 100644 --- a/examples/pigweed-app/nrfconnect/README.md +++ b/examples/pigweed-app/nrfconnect/README.md @@ -1,4 +1,4 @@ -# CHIP nRF Connect Pigweed Example Application +# Matter nRF Connect Pigweed Example Application The nRF Connect Pigweed Example demonstrates the usage of Pigweed module functionalities in an application. @@ -8,17 +8,18 @@ functionalities in an application. nRF52840 DK

    -The example is based on [CHIP](https://github.com/project-chip/connectedhomeip), -the [Pigweed](https://pigweed.googlesource.com/pigweed/pigweed) module, which is -a collection of libraries that provide different functionalities for embedded +The example is based on +[Matter](https://github.com/project-chip/connectedhomeip), the +[Pigweed](https://pigweed.googlesource.com/pigweed/pigweed) module, which is a +collection of libraries that provide different functionalities for embedded systems, and Nordic Semiconductor's nRF Connect SDK. You can use this example as a training ground for making experiments, testing Pigweed module features and checking what actions are necessary to fully -integrate Pigweed in a CHIP project. +integrate Pigweed in a Matter project. -Pigweed functionalities are being gradually integrated into CHIP. Currently, the -following features are available: +Pigweed functionalities are being gradually integrated into Matter. Currently, +the following features are available: - **Echo RPC** - Creates a Remote Procedure Call server and allows sending commands through the serial port to the device, which makes echo and sends @@ -48,12 +49,12 @@ following features are available: This example is running on the nRF Connect platform, which is based on the [nRF Connect SDK](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/index.html) -and [Zephyr RTOS](https://zephyrproject.org/). Visit CHIP's +and [Zephyr RTOS](https://zephyrproject.org/). Visit Matter's [nRF Connect platform overview](../../../docs/guides/nrfconnect_platform_overview.md) to read more about the platform structure and dependencies. Pigweed libraries are built and organized in a way that enables faster and more -reliable development. In the CHIP project, the Pigweed module is planned to be +reliable development. In the Matter project, the Pigweed module is planned to be used to create system infrastructures, for example for performing on-device tests, but considering its general functionalities, it can be useful also in other cases. @@ -111,7 +112,7 @@ and receiving responses. ## Setting up the environment -Before building the example, check out the CHIP repository and sync submodules +Before building the example, check out the Matter repository and sync submodules using the following command: $ git submodule update --init @@ -149,7 +150,7 @@ To use the Docker container for setup, complete the following steps: - _~/nrfconnect_ can be replaced with an absolute path to the nRF Connect SDK source directory. - - _~/connectedhomeip_ must be replaced with an absolute path to the CHIP + - _~/connectedhomeip_ must be replaced with an absolute path to the Matter source directory. - _-v /dev/bus/usb:/dev/bus/usb --device-cgroup-rule "c 189:_ rmw"\* parameters can be omitted if you are not planning to flash the example @@ -186,20 +187,20 @@ To use the native shell for setup, complete the following steps: If you have the SDK already installed, continue to the next step and update the nRF Connect SDK after initializing environment variables. -3. Initialize environment variables referred to by the CHIP and the nRF Connect - SDK build scripts. Replace _nrfconnect-dir_ with the path to your nRF - Connect SDK installation directory, and _toolchain-dir_ with the path to GNU - Arm Embedded Toolchain. +3. Initialize environment variables referred to by the Matter and the nRF + Connect SDK build scripts. Replace _nrfconnect-dir_ with the path to your + nRF Connect SDK installation directory, and _toolchain-dir_ with the path to + GNU Arm Embedded Toolchain. $ source nrfconnect-dir/zephyr/zephyr-env.sh $ export ZEPHYR_TOOLCHAIN_VARIANT=gnuarmemb $ export GNUARMEMB_TOOLCHAIN_PATH=toolchain-dir 4. Update the nRF Connect SDK to the most recent supported revision by running - the following command (replace _chip-dir_ with the path to CHIP repository - directory): + the following command (replace _matter-dir_ with the path to Matter + repository directory): - $ cd chip-dir + $ cd matter-dir $ python3 scripts/setup/nrfconnect/update_ncs.py --update Now you can proceed with the [Building](#building) instruction. diff --git a/examples/pump-app/nrfconnect/README.md b/examples/pump-app/nrfconnect/README.md index 3db2339a0fb1dc..857c7909cd241e 100644 --- a/examples/pump-app/nrfconnect/README.md +++ b/examples/pump-app/nrfconnect/README.md @@ -45,11 +45,11 @@ into an existing Matter network and can be controlled by this network. This example is running on the nRF Connect platform, which is based on Nordic Semiconductor's [nRF Connect SDK](https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/index.html) -and [Zephyr RTOS](https://zephyrproject.org/). Visit CHIP's +and [Zephyr RTOS](https://zephyrproject.org/). Visit Matter's [nRF Connect platform overview](../../../docs/guides/nrfconnect_platform_overview.md) to read more about the platform structure and dependencies. -The CHIP device that runs the pump application is controlled by the Matter +The Matter device that runs the pump application is controlled by the Matter controller device over the Thread protocol. By default, the Matter device has Thread disabled, and it should be paired with Matter controller and get configuration from it. Some actions required before establishing full @@ -170,13 +170,14 @@ communicate with it using the **NFC port with antenna attached** can be used to start the [rendezvous](#bluetooth-le-rendezvous) by providing the commissioning -information from the CHIP device in a data payload that can be shared using NFC. +information from the Matter device in a data payload that can be shared using +NFC.
    ## Setting up the environment -Before building the example, check out the CHIP repository and sync submodules +Before building the example, check out the Matter repository and sync submodules using the following command: $ git submodule update --init @@ -214,7 +215,7 @@ To use the Docker container for setup, complete the following steps: - _~/nrfconnect_ can be replaced with an absolute path to the nRF Connect SDK source directory. - - _~/connectedhomeip_ must be replaced with an absolute path to the CHIP + - _~/connectedhomeip_ must be replaced with an absolute path to the Matter source directory. - _-v /dev/bus/usb:/dev/bus/usb --device-cgroup-rule "c 189:_ rmw"\* parameters can be omitted if you are not planning to flash the example @@ -251,20 +252,20 @@ To use the native shell for setup, complete the following steps: If you have the SDK already installed, continue to the next step and update the nRF Connect SDK after initializing environment variables. -3. Initialize environment variables referred to by the CHIP and the nRF Connect - SDK build scripts. Replace _nrfconnect-dir_ with the path to your nRF - Connect SDK installation directory, and _toolchain-dir_ with the path to GNU - Arm Embedded Toolchain. +3. Initialize environment variables referred to by the Matter and the nRF + Connect SDK build scripts. Replace _nrfconnect-dir_ with the path to your + nRF Connect SDK installation directory, and _toolchain-dir_ with the path to + GNU Arm Embedded Toolchain. $ source nrfconnect-dir/zephyr/zephyr-env.sh $ export ZEPHYR_TOOLCHAIN_VARIANT=gnuarmemb $ export GNUARMEMB_TOOLCHAIN_PATH=toolchain-dir 4. Update the nRF Connect SDK to the most recent supported revision by running - the following command (replace _chip-dir_ with the path to CHIP repository - directory): + the following command (replace _matter-dir_ with the path to Matter + repository directory): - $ cd chip-dir + $ cd matter-dir $ python3 scripts/setup/nrfconnect/update_ncs.py --update Now you can proceed with the [Building](#building) instruction. @@ -366,4 +367,4 @@ Read the [Android commissioning guide](../../../docs/guides/nrfconnect_android_commissioning.md) to see how to use [CHIPTool](../../../src/android/CHIPTool/README.md) for Android smartphones to commission and control the application within a -CHIP-enabled Thread network. +Matter-enabled Thread network. diff --git a/examples/shell/README.md b/examples/shell/README.md index 47d79d0e72fff3..f94f60215b310b 100644 --- a/examples/shell/README.md +++ b/examples/shell/README.md @@ -1,9 +1,9 @@ -# CHIP Shell Reference +# Matter Shell Reference The `chip-shell` firmware exposes configuration and management APIs via a -command line interface (CLI). Use the shell CLI to experiment with CHIP -interactively, which can also be used with additional application code. The CHIP -functional test scripts use the shell CLI to execute test cases. +command line interface (CLI). Use the shell CLI to experiment with Matter +interactively, which can also be used with additional application code. The +Matter functional test scripts use the shell CLI to execute test cases. ## Separator and escaping characters @@ -26,7 +26,7 @@ Done > ``` -## CHIP Shell Command List +## Matter Shell Command List - [base64](#base64-decode-b64_string) - [device](README_DEVICE.md) @@ -38,7 +38,7 @@ Done - [rand](#rand) - [version](#version) -## CHIP Shell Command Details +## Matter Shell Command Details ### help @@ -111,7 +111,7 @@ Done ### version -Output the version of the CHIP stack. +Output the version of the Matter stack. ```bash > version diff --git a/examples/shell/README_DEVICE.md b/examples/shell/README_DEVICE.md index aa4371bf13e0bc..2ca8ae12a62c83 100644 --- a/examples/shell/README_DEVICE.md +++ b/examples/shell/README_DEVICE.md @@ -1,6 +1,6 @@ -# CHIP Shell - Device Layer module +# Matter Shell - Device Layer module -The chip::DeviceLayer APIs may be invoked via the CHIP Shell CLI. +The chip::DeviceLayer APIs may be invoked via the Matter Shell CLI. ## Command List @@ -75,7 +75,7 @@ Done ### start -Initialize the chip stack and start the device layer event loop. +Initialize the Matter stack and start the device layer event loop. ```bash > device start diff --git a/examples/shell/README_OTCLI.md b/examples/shell/README_OTCLI.md index 2f2772b615c68f..dcbd07a511f62d 100644 --- a/examples/shell/README_OTCLI.md +++ b/examples/shell/README_OTCLI.md @@ -1,7 +1,7 @@ -# CHIP Shell - OpenThread CLI pass-through +# Matter Shell - OpenThread CLI pass-through -The CHIP Shell CLI can execute pass-through commands to the -[OpenThread cli](https://github.com/openthread/openthread/blob/master/src/cli/README.md) +The Matter Shell CLI can execute pass-through commands to the +[OpenThread CLI](https://github.com/openthread/openthread/blob/master/src/cli/README.md) directly. ## Setup diff --git a/examples/shell/nrfconnect/README.md b/examples/shell/nrfconnect/README.md index 8e17340c92069b..f0abf5e312462c 100644 --- a/examples/shell/nrfconnect/README.md +++ b/examples/shell/nrfconnect/README.md @@ -1,6 +1,6 @@ -# CHIP nRF Connect SDK Shell Application +# Matter nRF Connect SDK Shell Application -A [chip-shell](../README.md) project for the Nordic nRF52840 and nRF5340 +A [Matter shell](../README.md) project for the Nordic nRF52840 and nRF5340 development kits, built using the nRF Connect SDK. ## Building