Conceptual Design and Development of a W3C Compliant Web of Things Framework

Student Project (1-2 participants)

The Internet of Things is the biggest evolution in computing and software since the invention of the Internet and mobile phones. It will enable 10x more devices, incl. people and physical objects to become connected to the Internet and exchange value. More importantly, the Internet of Things will give rise to enormous innovation by enabling devices across domains to interact with each other and services to exchange value across industries. For Internet of Things devices and services to work across industries, they need to break free of the silos that are starting to be built. The web, and its standardized building blocks can act as the foundation upon which interoperable Internet of Things innovations can be built, in the same way that the Web allowed consumers and merchants across industries to transact.

The W3C Web of Things Interest Group already started to deliver interoperability across IoT platforms and devices. The Web of Things Framework provides the basis for exposing IoT platforms to the Web for discovery and interoperability of services. It is based upon the notion of “things" as proxies for physical or abstract entities, with URIs for addressing, HTTP and other protocols for data transfer, and a standard format for describing things and their relationships to other things. The main building blocks of the W3C WoT Framework are listed below:

Thing Descriptions: development of a suitable data model and vocabulary to describe things including metadata, interaction model and binding to underlying protocols.

API & Protocol Bindings: defines an architecture model for the Web of Things, specifies language-independent scripting APIs for both exposing and consuming things and defines mapping of the primitives to existing protocols.

Discovery & Provisioning: provides a solution to discover things exposed over different protocols or registered on a central repository. It also offers a solution for things provisioning and configuration.

You will develop a concept that addresses the main aspects of the Web of Things as described in the introduction. You will also implement one or more of the identified building blocks for specific protocols, platforms and using appropriate programming languages. The outcome will be a demonstrator that showcases the key aspects of the framework by implementing a real-life scenario using devices from different manufacturers and supporting different technologies.