Comments (1)
Hi,
There are several existing Web of Things type standardization efforts including those at the IETF, W3C, OCF and OGC.
The OCF has quite a mature set of specifications which as I understand it are largely based around a new RESTful application protocol called CoAP. CoAP is like a mini HTTP optimised for resource constrained devices and includes a "NOTIFY" extension which allows messages to be pushed from the server to the client. However, CoAP is not supported directly by web browsers so it's not possible to build web applications on top of this protocol without a bridge from CoAP to HTTP. In contrast, this Web Thing API uses HTTP directly and provides a WebSocket API to allow push type messages. This makes it possible to call the API directly from web applications and makes it easy for web developers to apply their tools and skills to IoT directly.
The W3C has quite a similar Web Thing Description and Scripting API specifications, but this Web Thing API specification has more of a focus on concrete programming interfaces using existing web technologies like JSON, HTTP and WebSockets rather than defining an abstract scripting API and an RDF based data model with heavy usage of semantic web technologies.
The IETF provides some general guidance around using RESTful design in IoT and the OGC is focused on a fairly domain-specific solution.
Our current focus is creating a concrete and pragmatic API for connecting physical devices to the web based on existing proven web technologies, but all of these efforts are valuable and I hope they can converge over time. That may involve specifications merging or building on top of one another (e.g. a shared taxonomy with different encodings or protocol bindings).
from api.
Related Issues (20)
- type vs. mediaType vs. contentType
- Thing icons HOT 5
- Localisation (l10n) HOT 6
- CODE_OF_CONDUCT.md file missing
- [Question] Things Firmware Update HOT 2
- Default on change event for some properties
- Add WebSocket Gateway events
- Define which members are mandatory vs. optional HOT 6
- base member
- Include human-readable label in Property resource HOT 4
- Support "format" member for a property
- Consider removing object wrapper from Property payload HOT 12
- Add "auto" to HeatingCoolingProperty HOT 1
- What is the project's relationship with W3C WoT? HOT 1
- Join "Project Connected Home over IP"? HOT 1
- Allow properties to indicate if they may be logged HOT 1
- Why is Mozilla Web Thing API different from W3C Web of Things? HOT 3
- More descriptive license HOT 3
- @type should be at top level of action HOT 2
- Support for multiple @context (aka support for Linked Data) HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from api.