SPRADG9A January   2024  – November 2025 AM3351 , AM3352 , AM3354 , AM3356 , AM3357 , AM3358 , AM3358-EP , AM3359 , AM4372 , AM4376 , AM4377 , AM4378 , AM4379 , AM623 , AM625 , AM625SIP , AM62A1-Q1 , AM62A3 , AM62A7 , AM62L , AM62P , AM6411 , AM6412 , AM6421 , AM6422 , AM6441 , AM6442

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction
  5. 2Current Implementation
  6. 3Enablement
  7. 4Demonstration
  8. 5Summary
  9. 6References
  10. 7Revision History

Current Implementation

The most common implementation of this protocol is the reference implementation present in the chip-tool in the connectedhomeip project at: https://github.com/project-chip/connectedhomeip. This repository contains:

  • An implementation of the Matter server
  • A definition of the messaging interface
  • All the required networking utils for broadcasting and listening for broadcast events, including:
    • A mDNS server
    • A DNS resolver
  • Tools for enabling bluetooth provisioning
  • A definition of every possible endpoint cluster type
  • An example for every endpoint cluster
  • An example of a Controller / Administrator application

There are only two things that are importatant for a simple demo: an Administrator and an Endpoint. As such, the focus will be on the chip-tool and lock-app examples. Starting with chip-tool, this example application has a Command Line Interface (CLI) that acts as an Administrator capable of linking to endpoints and issuing commands or fetching status based on the clusters enabled by that endpoint. The lock-app is an example of an endpoint that would normally be controlling an electronic latch. This application registers a handful of commands like:

  • Lock
  • Unlock
  • Unbolt
  • GetUser
  • SetUser
  • GetDoorState
  • SetDoorState
  • SetCredential
  • GetCredential

Where each of these commands are registered with chiptool and have accompanying log and state change messages that are broadcast when called.