3 个稳定版本
1.2.0 | 2024 年 8 月 2 日 |
---|---|
1.1.0 | 2024 年 5 月 9 日 |
1.0.0 | 2024 年 4 月 4 日 |
#427 在 异步
98 每月下载量
99KB
2K SLoC
Fundamentum Edge Daemon
从 Linux 设备访问 Fundamentum 生态系统的支持方式。
使用方法
启动守护进程
$ cargo run
# ..
-
gRPC 服务器 将绑定到
127.0.0.1:8080
。 -
如果尚不存在,将在 当前工作目录 中创建默认版本的 配置文件 (
config.toml
)。 -
将使用 当前工作目录 作为 状态目录。以下是您可能遇到的某些状态文件列表
provisioning.json
和rsa_(public|private).pem
将在首次成功配置后创建。
您可以使用可用的 CLI 选项覆盖这些默认设置。以下是一些选项
$ cargo run -- --help
# ..
还可以通过 配置文件 (config.toml
) 进行进一步的自定义。
通过 gRPC 接口访问公开的服务
通过 gRPC 接口 提供各种 Fundamentum 服务(请注意,Provisioning
服务是其中一个显著的例外)。
为了能够使用大多数 gRPC 服务(最显著的例外是 Provisioning
服务),您的设备需要 配置。要这样做,一个好的起点是 配置程序。
通过 CLI
可以使用 grpcurl
CLI 工具与守护进程交互
-
配置设备
$ grpcurl \ -plaintext \ -d '{ "api_base_url": "https://devices.fundamentum-iot.com", "project_id": 1, "region_id": 2, "registry_id": 3, "serial_number": "device1", "asset_type_id": 4, "access_token": "TOKEN" }' \ 127.0.0.1:8080 \ com.fundamentum.edge.v1.Provisioning.Provision # ...
-
发布遥测数据
$ grpcurl \ -plaintext \ -d '{ "sub_topic": "test", "qos": 0, "payload": "SGVsbG8sIFdvcmxkIQ==" }' \ 127.0.0.1:8080 \ com.fundamentum.edge.v1.Telemetry.Publish # ...
-
获取设备配置
$ grpcurl \ -plaintext \ 127.0.0.1:8080 \ com.fundamentum.edge.v1.Configuration.Get # ...
-
订阅配置更新
$ grpcurl \ -plaintext \ 127.0.0.1:8080 \ com.fundamentum.edge.v1.Configuration.UpdateStream # ...
-
发布状态数据
$ grpcurl \ -plaintext \ -d '{ "states": { "status": "ok", "alarms": [ "alarm1", "alarm2" ] }, "sub_devices": [ { "serial_number": "device1", "states": { "rssi": 50, "battery_level": 75, "temperature": 25 } } ] }' \ 127.0.0.1:8080 \ com.fundamentum.edge.v1.StatesEvent.PublishJson # ...
-
订阅传入的动作
$ grpcurl \ -plaintext \ 127.0.0.1:8080 \ com.fundamentum.edge.v1.Actions.Subscribe # ...
-
更新动作的状态
$ grpcurl \ -plaintext \ -d '{ "id": 123, "serial_numbers": ["device1", "device2"], "ongoing": {"progress": 50}, "message": "In progress...", "payload": "SGVsbG8sIFdvcmxkIQ==" }' \ 127.0.0.1:50051 \ com.fundamentum.edge.v1.Actions.UpdateStatus # ...
通过语言特定的绑定
对于更严重的用例,我们为以下语言提供特定支持
请确保您使用与您的边缘守护进程服务兼容的绑定库版本。
请注意,即使您的语言尚未被官方支持,您仍然可以在协议缓冲区编译器上对gRPC *.proto
文件进行操作,以生成适用于几乎所有语言的绑定库。
开发设置
请参阅开发设置指南。
发布
此组件的所有官方版本均发布到crates.io/crates/fundamentum-edge-daemon。所有发布的版本列表可在版本选项卡下找到。
详细的发布说明可在本存储库的CHANGELOG.md
中找到:CHANGELOG.md
。
许可证
Apache License, Version 2.0 许可下发布LICENSE。
依赖项
~29–65MB
~1M SLoC