Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Class-0 and Class-1 devices #136

Open
mlagally opened this issue Nov 18, 2021 · 3 comments
Open

Support Class-0 and Class-1 devices #136

mlagally opened this issue Nov 18, 2021 · 3 comments

Comments

@mlagally
Copy link
Contributor

The core profile should support Class-0 and Class-1 devices
https://w3c.github.io/wot-architecture/#device-categoriesdevices

@benfrancis
Copy link
Member

We agreed months ago that constrained devices were out of scope for the Core Profile.

HTTP is not well suited to constrained devices.

From implementation experience with WebThings the most constrained device we've been able to run an HTTP web thing on is an ESP32 (with webthing-arduino) which has 320 KiB SRAM and 448 KiB ROM, or at a stretch the ESP8266 which has 32KiB + 32KiB + 80KiB + 16 KiB RAM (of various types). Even then you soon run out of resources e.g. if you try to read different properties too quickly in succession.

Do you have an implementation of an HTTP web thing which can reliably run on < 10 KiB RAM?

These types of devices would be much better suited to a separate Constrained Profile using CoAP+CBOR.

@egekorkan
Copy link
Contributor

Even though these are not bad requirements I do not understand where they come from, i.e. a well defined use case

@jyhi
Copy link

jyhi commented Nov 18, 2021

Do you have an implementation of an HTTP web thing which can reliably run on < 10 KiB RAM?

https://github.com/lmy441900/tinywot-http-simple/blob/main/example/arduino-led/main.ino *cough*

Reliable? Not really, I haven't stress-tested it. It's a quite cursed implementation. But talking about the Core profile, I think it's completely find to exclude Class 0-1 devices, as they aren't designed to be directly integrated into a WoT system anyways.

These types of devices would be much better suited to a separate Constrained Profile

Yes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants