6个版本 (3个重大更改)

0.4.0 2024年4月8日
0.3.0 2023年2月13日
0.2.0 2022年9月22日
0.1.2 2022年6月10日
0.1.0 2021年8月10日

#392 in 无标准库

Download history 143/week @ 2024-04-22 211/week @ 2024-04-29 112/week @ 2024-05-06 420/week @ 2024-05-13 288/week @ 2024-05-20 39/week @ 2024-05-27 24/week @ 2024-06-03 104/week @ 2024-06-10 112/week @ 2024-06-17 122/week @ 2024-06-24 245/week @ 2024-07-01 251/week @ 2024-07-08 118/week @ 2024-07-15 15/week @ 2024-07-22 22/week @ 2024-07-29 164/week @ 2024-08-05

319 每月下载量
用于 verdigris

MIT/Apache

32KB
347

Build Status Maintenance

coap-message-demos

此crate包含Rust上CoAP的演示应用

所有演示都使用coap-message crate的生态系统。它们有两种变体

  • "应用程序"包含通常执行业务逻辑的高级代码。

    它们是独立资源实现、集合成整体服务器处理程序以及可能客户端代码的混合。

    它们位于src/目录中,作为库模块提供。这允许将它们集成到其他演示代码中,例如CoAP消息实现的示例中。

  • "示例"是使用各种后端的自立可执行二进制文件。

    它们选择合适的应用程序,并使用选择的CoAP实现将它们包装成可以运行的可执行程序,使用cargo run --example X运行。

    目前,此crate中的示例展示了以下内容的使用

    • coap-lite,CoAP-over-UDP库的构建块,直接在示例中的套接字上运行。

    • coap crate,提供完整的实现,并通过使用coap-lite作为后端与coap-message接口。

    • embedded-nal-minimal-coapserver,在嵌入式网络抽象层上实现CoAP-over-UDP,并通过[coap_handler]类型处理消息。对于示例,它使用嵌入式nal的std实现。

    需要更大生态系统支持的示例未包含在此处,但展示了(可能甚至更好)coap-message生态系统能够提供的内容

    • verdigris 是在网页浏览器中运行的 CoAP 实现,并使用 CoAP-over-WebSockets。它在其颜色服务器子应用程序中包含演示应用程序,可以通过代理资源目录访问。

    • RIOT 是物联网的嵌入式操作系统。在其 Rust 绑定的示例中,coap_through_embeddednal 应用程序使用与本地示例相同的 embedded-nal-minimal-coapserver 包来运行演示应用程序的 no_std 部分,但使用 RIOT 的套接字而不是 POSIX 套接字。

使用方法

示例都配置为运行一组应用程序;它们是哪些取决于所选的功能。

对于最小化操作,运行示例如下

$ cargo +nightly run --example EXNAME --features example-EXNAME

其中 EXNAME 可以替换为任何示例 -- 目前 coaplitecoap_cratestd_embedded_nal_minicoapserver

要探索所有功能,只需运行

$ cargo +nightly run --example EXNAME --all-features

例如,这将添加对系统 ::log 的访问。

所有这些都可以通过使用 aiocoap-client 来访问。

$ aiocoap-client coap://127.0.0.1/.well-known/core
</>; ct="0"; title="Landing page",
</time>; ct="0"; title="Clock",
</cbor/1>; ct="60",
</cbor/2>; ct="60",
</cbor>; ct="60",
</message/warning>; title="POST warning texts here",
</message/info>; title="POST info texts here"

$ aiocoap-client coap://127.0.0.1/cbor
{'hidden': False, 'number': 32, 'label': 'Hello', 'list': [1, 2, 3]}

许可:MIT 或 Apache-2.0

依赖项

~2–19MB
~224K SLoC