#iot-devices #yaml-config #proxy #config-file #data #sensor #pixy

pixy-core

Pixy 的核心库,实现了 SensorGateway 及其处理器

4 个版本

0.2.2 2024年4月29日
0.2.1 2023年8月24日
0.2.0 2023年8月4日
0.1.8 2023年7月28日

#1273硬件支持

Download history 157/week @ 2024-04-26 13/week @ 2024-05-03 9/week @ 2024-05-17 6/week @ 2024-05-24 4/week @ 2024-05-31 2/week @ 2024-06-07 2/week @ 2024-06-14 2/week @ 2024-06-21 6/week @ 2024-07-05 1/week @ 2024-07-12

每月 251 次下载
2 个 包使用

MIT 许可证

28KB
521

Pixy

Build Release Crates.io

Pixy 是一个用于与物联网设备配合使用的 Web 服务器,旨在通过默认安全的方式中继传感器数据。最初是为与 Pimoroni Enviro Pico 配合使用而构建的,因此可以说它是一个 Raspberry Pi Pico proxy

概述

Pixy 是一个基于 Rust 的代理,用于将传感器消息中继到简单 YAML 配置文件中定义的多个目标。它作为 IoT 设备的单个写入只入口,减少了配置开销,并使得将数据分发到多个独立系统变得更加容易。

对 Pixy 有建议吗?请为功能请求打开一个 问题,或开始一个 讨论

动机

在设置好 Enviro Pico 并将其通过 MQTT 连接到我的 Home Assistant 实例后,我开始考虑它的一些其他用途。我一直在思考如何将其连接到其他自动化平台(如 IFTTT),如何将数据传输到公民科学项目,或者如何构建更强大的警报系统,提高容错性等,这些在尽可能延长 Pico 电池寿命的情况下似乎是不可能实现的。

在浏览了一些论坛和 GitHub 仓库后,我发现使用这块板的其他人也有类似的想法,即上传到多个目标,以及增加可用的目标列表。然而,多个上传目标 = 花更多时间上传 = 使用更多电池,所以从 Pico 本身进行此操作似乎不是一个好主意。我决定编写某种类型的传感器代理来处理多目标上传,这样 Pico 就只需要上传到一个目标。

我对这个代理的目标是

  1. 代理应该 快速,所以 HTTP 服务器监听器应在完成传感器数据的重新导出之前返回。
  2. 代理应该 小巧,所以它理想上应该能在 Raspberry Pi Zero 上运行。
  3. 代理应该 简单,所以编写配置文件应该是直截了当的。
  4. 代理应该 灵活,所以应该有多种安装/运行它的方法。
  5. 代理应该可扩展,因此它应该能够处理你扔给它的尽可能多或尽可能少的板。

安装

根据您的偏好和平台,Pixy可以以多种方式进行安装。有关更多信息,请参阅安装文档。

如果您希望在Raspberry Pi或Pi Zero上运行Pixy,您应该首选使用Debian/Ubuntu/Raspian说明,这些说明设置systemd服务在后台运行。

目前,Windows和Mac OS支持仅通过Docker安装提供。

配置Pixy

在运行相关安装步骤之后,请阅读配置

许可证

本项目的许可证主要是MIT许可证。有关所有条款,请参阅LICENSE文件。

pkg/debian目录中的一些脚本基于MPL 2.0许可的代码,因此这些脚本也根据MPL 2.0许可。任何此类脚本都将

  1. 包含说明脚本是根据MPL 2.0许可的,其全文可在LICENSE-MPL文件中找到
  2. 包含MPL 2.0常见问题解答的链接
  3. 包含指向创建现有脚本的原始脚本的链接

路线图

有关Pixy当前计划的快照,请参阅GitHub上的里程碑页面。

依赖项

~17–31MB
~490K SLoC