3 个不稳定版本
0.2.0 | 2023年7月27日 |
---|---|
0.1.1 | 2020年12月1日 |
0.1.0 | 2016年6月5日 |
#184 在 WebSocket
99KB
1.5K SLoC
Verdigris 是一个在浏览器中运行并通过 WebSocket 通信的 CoAP 图形用户界面演示。
它的目标是成为一个通用的 CoAP 客户端(可能包含一些有限的服务器功能),可以从浏览器用于探索、学习和调试。
最终,它应该可以替代备受尊敬的 Copper 浏览器插件,该插件被浏览器插件 API 超越。与 Copper 不同,它完全作为一个网站运行,不能进行 CoAP-over-UDP 通信。相反,它依赖于一个公共或本地跨代理,可以通过 CoAP-over-WS 或其他浏览器可访问的传输方式访问。
目前,它提供了三种不同的操作模式
-
在消息交换模式中,它可以用于通过组装选项(或使用一些预设的选项)生成 CoAP 请求,并以解码形式显示任何传入的响应。
-
在颜色服务器模式中,它提供了一个单色区域,其颜色可以通过 CoAP 客户端更改。它在一个资源目录[^1]中注册,并使用给定的(最初是随机的)端点名称,并请求通过一个全局可访问的名称进行反向代理。
服务器还运行(但未完全宣布)来自 coap-message-demos 的演示应用程序。例如,它提供了一个资源
/message/info
,可以向其 POST 消息;其内容通过log
包在浏览器控制台中显示。 -
在颜色客户端模式中,它通过代理连接到资源目录[^1],在颜色服务器中查找兼容的资源。
所有发现的资源都可以通过相同的代理设置为所选颜色(一起或单独)。
-
在高度实验性的蓝牙低功耗 GATT 模式下,一个使用 CoAP-over-GATT 通信的设备可以从基于 Chromium 的浏览器访问,并通过资源目录提供。
[^1]: 启动时,它连接到 https://rd.coap.amsuess.com/。
使用 cargo build --target wasm32-unknown-unknown --release && wasm-bindgen target/wasm32-unknown-unknown/release/verdigris.wasm --out-dir public/ --web && python3 -m http.server -d ./public 8080
运行和托管,并访问 https://127.0.0.1:8080/。Python部分可以用任何静态Web服务器替代。将直接使用wasm-bindgen CLI 替换为 trunk 或 wasm-pack 只需要在提供的 index.html
文件中进行一些小的调整;查看项目历史以了解过去使用的某些变体。
最新版本可在https://chrysn.gitlab.io/verdigris/ 上找到。
依赖关系
~24MB
~462K SLoC