#coap #iot #browser

verdigris

Browser application to explore, learn and debug CoAP

2 releases

0.1.1 Dec 1, 2020
0.1.0 Jun 5, 2016

#65 in WebSocket

29 downloads per month

AGPL-3.0-or-later

84KB
1.5K SLoC

Verdigris is a demo of a CoAP GUI run in the browser communicating via WebSockets.

It aims to become usable as a generic CoAP client (possibly with some limited server functionality) that can be used from the browser for exploration, leaning and debugging.

Eventually it should be usable as a replacement for the venerable Copper browser plug-in that got overtaken by the browser plugin APIs. Unlike Copper, this runs purely as a website, and can not talk CoAP-over-UDP. Instead, it relies on a public or local cross proxy that is accessible using CoAP-over-WS, or possibly other browser-accessible transports.

Currently, it provides three distinct modes of operation:

  • In message exchanger mode, it can be used to generate CoAP requests by assembling them from options (or useing some of the preset ones), and shows any incoming responses in decoded form.

  • In color server mode, it provides a monochromous area whose color can be changed by CoAP clients. it registers at a Resource Directory[^1] with a given (initially random) endpoint name and asks to be reverse-proxied behind a globally reachable name.

  • In color client mode, it connects to a Resource Directory[^1] via a proxy, looking for compatible resurces at a color server.

    All discovered resources can be set (together or individually) to a selected color through the same proxy.

[^1]: At startup, it connects to the one at https://rd.coap.amsuess.com/.

Run as wasm-pack build --dev --target web --out-name wasm --out-dir ./static && python3 -m http.server -d ./static, and go to https://localhost:8000/. The Python invocation can be customized to a different port by giving the port as an additional argument, or replaced with any other static HTTP server just as well.

The latest version is available online at https://chrysn.gitlab.io/verdigris/.

Dependencies

~18MB
~357K SLoC