Merging Realities
Using the Web to Bring the Internet of Things to High End Augmented Reality
FullStack Conference
#FullStackCon, London UK <2019-07-10>
Philippe Coval <https://social.samsunginter.net/@rzr> – Software engineer for Samsung Open Source Group – Interest: Web of Things with “Privacy by Design” • Fabien Benetou <https://twitter.com/@utopiah> – WebXR developer consulting for the European Parliament / UNICEF – Mozilla Tech Speaker • Met In 2019 at FOSDEM and mutual inspiration – Check @MozHacks
FLOSS Platform for IoT – using Web – with Privacy By Design • WebThing API and Schemas – Can be implemented – using native (C/C++), Python, – JS (node.js or IoT.js) • Things gateway – to connect, control (UI) – and automate webthings G D P R G D PR A rt. 25 A rt. 25
Web (of Twins) • IoT.js: an alternative runtime inspired by Node.js: – Powered by JerryScript engine designed for micro-controllers – Feature: Networking (HTTP, MQTT...) & IO (I2C, GPIO, ADC, PWM) • Things can be build using webthing-iotjs module: – Standalone HTTP servers exposing Mozilla Things API: • RESTful architecture: read, update operations – Devices can be connected to MozIoT webthing gateway • ACL (JWT), Remote access using pkgkite tunneling – Or Web services (OpenData, Social Media etc)
components can be accessed from DOM API • So attributes can be updated from JS – Bind Webthing from URL • Using HTTP polling (and/or WebSockets if supported) – If shared through gateway (server): • Set URL + JWT token to requests (client app) – authorization issued from WebUI (devel menu) • It works both way: – Sensors: (Real to XR) & Actuators (XR to Real) • https://www.npmjs.com/package/aframe-webthing
? • Digital twins – Introduced by Dr M. Grieves (2002) • Real time (or deferred) connectivity: – Between the physical component • and its digital counterpart • “Devices as service” concept: • Applies to many industries: – City, manufacturing, health, transport… • Useful for: – Re/Co/Design – Monitoring, Quality tracking – Impact analysis: • Dependency, process, lifecycle, financial... – Digital traces for analytic – Simulation, AI/ML etc – Improve decision making
never been so easy – Using A-frame framework supported by browsers and devices • Ready for JavaScript developers – Develop for low end microcontrollers using IoT.js – And support WebThing API to be interacted from the web • Direct or connected to gateway (shared securely to apps) • Let’s develop the Web of Twins: – built on FLOSS tools with privacy by design