Developer Resources
There are various resources available to build Web of Things applications.
These are libraries, ready-to-use software, services or SDKs, which can be used in different stages of
development or for development needs and are grouped below.
Tools that allow editing and validation of TDs or that allow parsing them in programming language specific
environments.
Ready-to-use tools that help the development of WoT applications by providing user interfaces and other tooling.
Runtime Implementations for TD Exposers
Software libraries that implement a WoT Runtime so that Things can be built following the WoT paradigms.
-
Eclipse Thingweb node-wot
- W3C Web of Things implementation in Node.js with support for multiple bindings. A website is available at
Thingweb.
- WoT Integration for
Eclipse Ditto
- Ditto managed digital twins can be linked to WoT Thing Models from which Ditto can create Thing Descriptions
containing the API descriptions of the twins.
-
SANE WoT Servient
- W3C Web of Things implementation in Java with support for multiple bindings, inspired from node-wot.
-
wot-py
- Experimental W3C Web of Things implementation in Python with support for multiple bindings.
-
SIFIS-Home: wot-serve
- Rust crate to serve Web of Things Things.
Runtime Implementations for TD Consumers
Software libraries that implement a WoT Runtime so that Things can be consumed and custom applications can be built
on top, following the WoT paradigms.
-
Eclipse Thingweb node-wot
- W3C Web of Things implementation in Node.js with support for multiple bindings. A website is available at
Thingweb.
-
Node-Red Node generator
- CLI tool to generate WoT Consumer Nodes for Node-RED from a TD.
Additional information at slides
or video.
-
dart_wot
- W3C Web of Things implementation written in Dart with support for HTTP and CoAP.
-
SANE WoT Servient
- W3C Web of Things implementation in Java with support for multiple bindings, inspired from node-wot.
-
wot-py
- Experimental W3C Web of Things implementation in Python with support for multiple bindings.
TD Directory (TDD) Implementations
Services that host a Thing Description Directory which implements the W3C WoT Discovery specification.
-
TinyIoT Thing Directory
- TDD implementation with features such as DNS-SD registration, XPath 3.0 and JSONPath queries, authentication and more.
-
WoTHive Thing Directory
- TDD implementation with features such as SPARQL and JSONPath queries, SHACL-based Validation and more.
-
Eclipse Thingweb TDD API
- TDD implementation with features such as SPARQL queries, contextual validation, and more with a flexible storage mechanism.
-
SIFIS-Home: wot-discovery
- Tiny implementation of WoT Discovery written in Rust.
-
Zion
- A scalable Thing Description Directory
WoT Software and Middleware
Ready to use software applications that can be deployed in order to provide a certain functionality in a system, such
as gateway and proxying, simulation, testing services.
-
sayWoT!
- Industrial-grade implementation that allows integration of devices into Siemens software products.
-
Web of Things Test Bench
- CLI based tool that tests a WoT Thing by executing interactions automatically, based on its TD.
-
WebThings Gateway - An
open source Web of Things gateway for smart buildings, which bridges a wide range of IoT protocols to the
Web of Things.
-
UA Edge Translator
- An industrial connectivity edge reference application translating from proprietary protocols to OPC UA leveraging
the W3C Web of Things (WoT) Thing Descriptions.
-
VO-WoT
- A Python-based stack that allows developing WoT Things with additional functionalities, called Virtual Objects (VOs).
A documentation website is available here.
-
Shadow Thing
- CLI based tool for creating and deploying a Thing based on its TD for simulation, proxy or protocol
translation
purposes.
Others
Online Things
Publicly accessible Things that can be used during development to test Consumer applications or learn
how to understand Thing Descriptions to communicate with Things.