Web of Things (WoT) Binding Templates

Follow on Twitter Stack Exchange questions

General information about the Web of Things can be found on https://www.w3.org/WoT/.


This repository is for discussion and development of the W3C Web of Things (WoT) Binding Templates document.

Each commit here will sync it to the master, which will expose the content to http://w3c.github.io/wot-binding-templates/

Binding Templates document is made of multiple subspecifications that each describe the use of a protocol, media type or platform. For convenience purposes, the currently available Editor's Draft of subspecifications are linked below:

Protocols

Abbreviation Name Link
HTTP Hypertext Transfer Protocol Link
CoAP Constrained Application Protocol Link
MQTT Message Queuing Telemetry Transport Link
Modbus Modbus Link
BACnet Building Automation and Control Networks Link

Please also look at https://w3c.github.io/wot-binding-templates/#protocol-intro for additional information.

Payload Formats

Abbreviation Name Media Type Link
XML eXtensible Markup Language application/xml Link

Please also look at https://w3c.github.io/wot-binding-templates/#payloads-intro for additional information.

Platforms

Work in progress.

Please also look at https://w3c.github.io/wot-binding-templates/#platforms-intro for additional information.

Contribution

To make contributions, please provide pull-requests to the corresponding file, see GitHub help.

Some HTML files are automatically rendered from RDF sources. To render them, install Node.js (if necessary) and run:

$ npm i # to do once to install dependencies
$ node render.js

This rendering process is mandated through the use of a Husky pre-commit hook. Make sure to run npm install first to install husky in the first place.

Specberus

Many information about a spec can be obtained from Specberus hosted by the W3C. Below are some requests that are usually useful:

  1. Get general information: curl "https://www.w3.org/pubrules/api/metadata?url=https://w3c.github.io/wot-binding-templates/"
  2. Validate document: curl "https://www.w3.org/pubrules/api/validate?url=https://w3c.github.io/wot-binding-templates/&profile=auto"

Editing Conventions

Please use EditorConfig by installing a plugin for your favorite editor. This detects the .editorconfig file and adjusts your IDE's behavior regarding indentation, line endings and more. Additionally, please adjust your IDE to use 120 line length, where each line that is longer than 120 should be continued in the following line.

If you do not wish to use EditorConfig, please set the following settings in your editor:

  • Indentation Style: space
  • Indentation Size: 4
  • End of Line: lf
  • Charset: utf-8