#coap #browser #iot

verdigris

浏览器应用程序,用于探索、学习和调试 CoAP

3 个不稳定版本

0.2.0 2023年7月27日
0.1.1 2020年12月1日
0.1.0 2016年6月5日

#184WebSocket

AGPL-3.0 或更新版

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 替换为 trunkwasm-pack 只需要在提供的 index.html 文件中进行一些小的调整;查看项目历史以了解过去使用的某些变体。

最新版本可在https://chrysn.gitlab.io/verdigris/ 上找到。

依赖关系

~24MB
~462K SLoC