If you suspend your transcription on amara.org, please add a timestamp below to indicate how far you progressed! This will help others to resume your work!
Please do not press “publish” on amara.org to save your progress, use “save draft” instead. Only press “publish” when you're done with quality control.
Matrix is an open source project that publishes the Matrix open standard for secure, decentralized, real-time communication. The architecture of the Matrix protocol is based on HTTP/REST/JSON/TLS and is therefore not suitable for constrained devices. CoMatrix provides a gateway, which ports Matrix to CoAP/CBOR/(DTLS). This gateway communicates with constrained IoT devices on one side via CoAP+CBOR and translates to the Matrix protocol, more specifically the Matrix Client-Server API, on the other side (i.e. HTTP+JSON). We also provide a CoMatrix client library (for RIOT-OS) which provides a starting point to implement CoAP clients (for constrained devices) which are able to interact with Matrix homeservers via the gateway.
As far as we know there were no practical implementations or use of Matrix on constrained IoT devices before CoMatrix. CoMatrix now provides the basis to integrate Matrix-based communications in your IoT project(s). It enables resource-sparing communications for devices where this is necessary (e.g. microcontrollers, SoCs), but it also enables reliable communications for non-constrained devices (i.e. PCs, servers, laptops, smartphones) via standard Matrix implementations.
Currently CoMatrix supports the following features:
- Sending of messages to a Matrix room
- Receiving of the last message of a Matrix room
- User registration at a Matrix Synapse homeserver
- Joining of a Matrix room upon invitation
- Login of a user at a Matrix Synapse homeserver
- Logout of a user at a Matrix Synapse homeserver
We will give a demo of two IoT use case applications: First the "CoMatrix chat" to show the current state of the client library functions. Then a temperature sensor application, which continuously sends temperature values into a Matrix room.
- CoMatrix documentation: https://comatrix.eu
- CoMatrix code repository: https://gitlab.com/comatrix/comatrix
- Matrix: https://matrix.org/
- RIOT-OS: https://www.riot-os.org/