building an iot platform with matrix - fosdem€¦ · matrix is for: group chat (and 1:1) webrtc...
TRANSCRIPT
![Page 2: Building an IoT Platform with Matrix - FOSDEM€¦ · Matrix is for: Group Chat (and 1:1) WebRTC Signalling Bridging Comms Silos Internet of Things Data …and anything else which](https://reader036.vdocument.in/reader036/viewer/2022070113/605c4937fc59014a783504b8/html5/thumbnails/2.jpg)
What is Matrix?
![Page 3: Building an IoT Platform with Matrix - FOSDEM€¦ · Matrix is for: Group Chat (and 1:1) WebRTC Signalling Bridging Comms Silos Internet of Things Data …and anything else which](https://reader036.vdocument.in/reader036/viewer/2022070113/605c4937fc59014a783504b8/html5/thumbnails/3.jpg)
An open decentralisedconversation store and
message bus.
![Page 4: Building an IoT Platform with Matrix - FOSDEM€¦ · Matrix is for: Group Chat (and 1:1) WebRTC Signalling Bridging Comms Silos Internet of Things Data …and anything else which](https://reader036.vdocument.in/reader036/viewer/2022070113/605c4937fc59014a783504b8/html5/thumbnails/4.jpg)
Why?
![Page 5: Building an IoT Platform with Matrix - FOSDEM€¦ · Matrix is for: Group Chat (and 1:1) WebRTC Signalling Bridging Comms Silos Internet of Things Data …and anything else which](https://reader036.vdocument.in/reader036/viewer/2022070113/605c4937fc59014a783504b8/html5/thumbnails/5.jpg)
To create a global communication
meta-network that bridges all the existing silos &
liberates our communication to be controlled only by us.
![Page 6: Building an IoT Platform with Matrix - FOSDEM€¦ · Matrix is for: Group Chat (and 1:1) WebRTC Signalling Bridging Comms Silos Internet of Things Data …and anything else which](https://reader036.vdocument.in/reader036/viewer/2022070113/605c4937fc59014a783504b8/html5/thumbnails/6.jpg)
Matrix is for:Group Chat (and 1:1)WebRTC SignallingBridging Comms SilosInternet of Things Data
…and anything else which needs to pubsub persistent data to the world.
6
![Page 7: Building an IoT Platform with Matrix - FOSDEM€¦ · Matrix is for: Group Chat (and 1:1) WebRTC Signalling Bridging Comms Silos Internet of Things Data …and anything else which](https://reader036.vdocument.in/reader036/viewer/2022070113/605c4937fc59014a783504b8/html5/thumbnails/7.jpg)
Matrix Architecture
Clients
Home Servers
IdentityServers
ApplicationServers
![Page 8: Building an IoT Platform with Matrix - FOSDEM€¦ · Matrix is for: Group Chat (and 1:1) WebRTC Signalling Bridging Comms Silos Internet of Things Data …and anything else which](https://reader036.vdocument.in/reader036/viewer/2022070113/605c4937fc59014a783504b8/html5/thumbnails/8.jpg)
The Matrix Ecosystem
The Matrix Specification (Client/Server API)
client-‐sideserver-‐side
Other Servers and Services
Synapse(Reference Matrix
Server)
Matrix Application Services and Bridges
Other Clients
Matrix iOS
Console
MatrixKit (iOS)
matrix-‐ios-‐sdk
Matrix Web
Console
matrix-‐angular-‐sdk
matrix-‐js-‐sdk
Android Console
matrix-‐android-‐sdk
matrix-‐react-‐sdk
![Page 9: Building an IoT Platform with Matrix - FOSDEM€¦ · Matrix is for: Group Chat (and 1:1) WebRTC Signalling Bridging Comms Silos Internet of Things Data …and anything else which](https://reader036.vdocument.in/reader036/viewer/2022070113/605c4937fc59014a783504b8/html5/thumbnails/9.jpg)
How does it work?https://matrix.org/#about
9
![Page 10: Building an IoT Platform with Matrix - FOSDEM€¦ · Matrix is for: Group Chat (and 1:1) WebRTC Signalling Bridging Comms Silos Internet of Things Data …and anything else which](https://reader036.vdocument.in/reader036/viewer/2022070113/605c4937fc59014a783504b8/html5/thumbnails/10.jpg)
Internet of Things• Lots and lots of vendor silos.• Lots of data that can be liberated into Matrix
– both for control and telemetry.• Matrix provides a trivial standard
HTTP+JSON API for publishing or subscribing to data
• Supports arbitrary alternative transports and encodings too (CoAP+CBOR, MQTT, WebSockets etc)
10
![Page 11: Building an IoT Platform with Matrix - FOSDEM€¦ · Matrix is for: Group Chat (and 1:1) WebRTC Signalling Bridging Comms Silos Internet of Things Data …and anything else which](https://reader036.vdocument.in/reader036/viewer/2022070113/605c4937fc59014a783504b8/html5/thumbnails/11.jpg)
Let’s bust some silos!
11
![Page 12: Building an IoT Platform with Matrix - FOSDEM€¦ · Matrix is for: Group Chat (and 1:1) WebRTC Signalling Bridging Comms Silos Internet of Things Data …and anything else which](https://reader036.vdocument.in/reader036/viewer/2022070113/605c4937fc59014a783504b8/html5/thumbnails/12.jpg)
12
Matrix to IOT…
Janus WebRTC Gateway(from MeetEcho)
Parrot BebopDrone
Web Matrix exampleclient (Firefox)
synapse(on laptop)
synapse(on laptop)
![Page 13: Building an IoT Platform with Matrix - FOSDEM€¦ · Matrix is for: Group Chat (and 1:1) WebRTC Signalling Bridging Comms Silos Internet of Things Data …and anything else which](https://reader036.vdocument.in/reader036/viewer/2022070113/605c4937fc59014a783504b8/html5/thumbnails/13.jpg)
L
13
![Page 14: Building an IoT Platform with Matrix - FOSDEM€¦ · Matrix is for: Group Chat (and 1:1) WebRTC Signalling Bridging Comms Silos Internet of Things Data …and anything else which](https://reader036.vdocument.in/reader036/viewer/2022070113/605c4937fc59014a783504b8/html5/thumbnails/14.jpg)
Janus Architecture
janus.c
janus_audiobridge.c
janus_echotest.c
janus_recordplay.c
janus_sip.c
janus_streaming.c
janus_videocall.c
janus_videoroom.c
janus_voicemail.c
janus_matrix.c
![Page 15: Building an IoT Platform with Matrix - FOSDEM€¦ · Matrix is for: Group Chat (and 1:1) WebRTC Signalling Bridging Comms Silos Internet of Things Data …and anything else which](https://reader036.vdocument.in/reader036/viewer/2022070113/605c4937fc59014a783504b8/html5/thumbnails/15.jpg)
Ryan Rix’s IoT exploits• Lightrix: https://youtu.be/4YG9Fk5aP24
• http://rix.si/blog/2015/09/13/body-computing-system-a-redux-and-a-dream
• http://rix.si/blog/2015/11/22/body-computing-system-continuations
15
![Page 16: Building an IoT Platform with Matrix - FOSDEM€¦ · Matrix is for: Group Chat (and 1:1) WebRTC Signalling Bridging Comms Silos Internet of Things Data …and anything else which](https://reader036.vdocument.in/reader036/viewer/2022070113/605c4937fc59014a783504b8/html5/thumbnails/16.jpg)
16
echo '{"msgtype":"m.text", "body":"hello"}' |perl –MCBOR::XS –MJSON –pe '$_=encode_cbor decode_json' |coap-‐client –m post \coaps://alice.com/_m/c/a/v1/r/ROOM_ID/s/m.room.message?a=ACCESS_TOKEN
is the same as…
curl -‐XPOST -‐d '{"msgtype":"m.text", "body":"hello"}' "https://alice.com:8448/_matrix/client/api/v1/rooms/ROOM_ID/send/m.room.message?access_token=ACCESS_TOKEN"
A random CoAP example
![Page 17: Building an IoT Platform with Matrix - FOSDEM€¦ · Matrix is for: Group Chat (and 1:1) WebRTC Signalling Bridging Comms Silos Internet of Things Data …and anything else which](https://reader036.vdocument.in/reader036/viewer/2022070113/605c4937fc59014a783504b8/html5/thumbnails/17.jpg)
End to End Encryption with Olm• Apache License C++11 implementation of an
Axolotl-style ratchet, exposing a C API.• Axolotl is Open Whisper System's better-
than-OTR cryptographic ratchet, as used by TextSecure, Pond, WhatsApp etc.
• Supports encrypted asynchronous group communication.
• 130KB x86-64 .so, or 208KB of asm.js• https://matrix.org/git/olm
17
![Page 18: Building an IoT Platform with Matrix - FOSDEM€¦ · Matrix is for: Group Chat (and 1:1) WebRTC Signalling Bridging Comms Silos Internet of Things Data …and anything else which](https://reader036.vdocument.in/reader036/viewer/2022070113/605c4937fc59014a783504b8/html5/thumbnails/18.jpg)
18
The end goal: IOT Vendor 2IOT
Vendor 1
New services!
New platforms!
![Page 19: Building an IoT Platform with Matrix - FOSDEM€¦ · Matrix is for: Group Chat (and 1:1) WebRTC Signalling Bridging Comms Silos Internet of Things Data …and anything else which](https://reader036.vdocument.in/reader036/viewer/2022070113/605c4937fc59014a783504b8/html5/thumbnails/19.jpg)
• Rolling out End-to-end Encryption• Building more bridges• Group ACLs• File tagging and management• Decentralised identity• Abuse mitigation
19
What’s left?
![Page 20: Building an IoT Platform with Matrix - FOSDEM€¦ · Matrix is for: Group Chat (and 1:1) WebRTC Signalling Bridging Comms Silos Internet of Things Data …and anything else which](https://reader036.vdocument.in/reader036/viewer/2022070113/605c4937fc59014a783504b8/html5/thumbnails/20.jpg)
We need help!!
20
![Page 21: Building an IoT Platform with Matrix - FOSDEM€¦ · Matrix is for: Group Chat (and 1:1) WebRTC Signalling Bridging Comms Silos Internet of Things Data …and anything else which](https://reader036.vdocument.in/reader036/viewer/2022070113/605c4937fc59014a783504b8/html5/thumbnails/21.jpg)
• We need people to try running their own servers and join the federation.
• We need people to run gateways to their existing services
• We need feedback on the APIs.• Consider native Matrix support for new
apps• Follow @matrixdotorg and spread the
word!
21