Matrix: Entwicklung und IoT

Matrix, der dezentrale Kommunikationsstandard, der insbesondere aus dem Kommunikationsbereich mit seinem verbreitetsten Client Element bekannt ist, kann als vielseitige Grundlage für eigene Anwendungen genutzt werden. Da Matrix im Grunde eine dezentrale, föderierte Eventual-Consistency-Datenbank ist, sind grundsätzlich alle Anwendungen denkbar, die sich in JSON-Daten abbilden lassen.

Diese Schulung richtet sich an alle, die sich auf Basis von Matrix mit der Entwicklung eigener spezieller Clients, z.B. auch im Bereich Internet of Things, beschäftigen wollen.

  • Matrix-Räume als Datenbank nutzen
  • Grundlagen des Client-to-Server-Protokolls
  • Programmierung mit Python requests
  • (Kurzeinführung) Programmierung mit JavaScript für das Web
  • Anwendung mit MicroPython und ESP-Board

Trainer und Dozenten

Dominik George setzt die Matrix-Technologien seit vielen Jahren auf unterschiedlichen Ebenen ein und hat Erfahrung im Betrieb für Schulen, Vereine und Unternehmen sowie in der Entwicklung eigener IoT-Bibliotheken für das Protokoll. Er ist in der deutschsprachigen und internationalen Community aktiv.

Voraussetzungen

Für diesen Kurs sollte die grundlegende Funktionsweise von Matrix (nicht "nur" Element) bereits bekannt sein. Außerdem sollte ein grundlegend souveräner Umgang mit der Linux-Kommandozeile und einem Texteditor gegeben sein und Begriffe wie HTTP-Request, cURL, Header und JSON sollten keine Fremdwörter sein.

Hier eine Auswahl von Kursen, deren Inhalte Sie möglichst schon kennen sollten:

Inhalt

Rückblick auf die Architektur von Matrix

  • Datenstrukturen in Räumen (Room State)
  • Räume als Datenbank
  • Eventual Consistency
  • Client-to-Server-Protokoll

Programmierung mit Python (requests)

  • Access-Token nutzen
  • Nachrichten senden
  • Daten im Room-State modifizieren
  • Auf Ereignisse reagieren
  • Existierende Python-Bibliotheken
  • ESPs mit MicroPython per Matrix kommunizieren lassen

Programmierung mit JavaScript

  • Existierende Browser-Bibliotheken
  • Standalone-Clients
  • Widgets für Element entwickeln

Kritische Betrachtung

  • Limitierungen von Matrix
  • Abgrenzung zu IoT-Message-Brokern wie MQTT
  • Performance
  • Datenschutz

Kurszeiten

Wer möchte, reist bis 22 Uhr am Vortag an und nutzt den Abend bereits zum Fachsimpeln am Kamin oder im Park.

An den Kurstagen dann von 9-18 Uhr (mit 2 Kaffee- und 1 Mittagspause) etwa 60% Schulungen und 40% Übungen. Selbstverständlich arbeitet jeder Teilnehmer am von uns gestellten Notebook oft parallel zum Referenten mit.

Anschließend Abendessen und Angebote für Fachsimpeln, Ausflüge uvm. Wir schaffen eine Atmosphäre, in der Fachleute sich ungezwungen austauschen. Wer das nicht will, wird zu nichts gezwungen und findet auch jederzeit Ruhe.