#energy #server #solar #power #control #smart #meter

app hackdose-server

一个使用智能电表数据来控制智能插座的服务器

11 个版本 (6 个破坏性更新)

0.10.0 2023年2月10日
0.9.2 2023年1月21日
0.8.0 2023年1月6日
0.7.0 2022年12月23日
0.1.0 2022年11月12日

#546 in HTTP 服务器

每月 42 次下载

MIT/Apache

98KB
1.5K SLoC

关于 Hackdose

这是 hackdose 项目,一个旨在提高您微型太阳能发电站利用率的方案。想法很简单:如果太阳能比所需的多,就将其储存在电池(您每天使用的设备中的电池)或冰箱中,或者直接使用它(例如,运行洗碗机)。这不是我的想法,但我没有找到适合我需求(最重要的是,价格低廉的硬件)的实现。

需求

您基本需要

  • 一个树莓派或芒果派
  • 一个与该软件兼容的智能电表(如果不兼容,请提交一个问题)
  • HS-100 智能插座(或合适的光电隔离器)
  • 一个微型太阳能发电站

技术原理很简单:如果您产生的能量多于您房屋所需的,您的智能电表会知道并告诉 hackdose。在满足某些条件的情况下,hackdose 将打开一个带充电器(或您想要控制的任何设备)的智能插座。

警告

此项目为实验性质。请自行承担风险。风险可能包括

  • 此软件可以控制高功率设备。它可能引起任何电气设备可能引起的问题。
  • 尽管设计上没有远程控制软件(除红外线外),但存在一个REST接口,可能存在安全漏洞

功能

监控

  • 在8080端口上有一个能源监控端点,路径为 /energy
  • /day 上有一个24小时统计端点,显示一个漂亮的图表

智能能源使用

您目前可以设置智能插座(目前仅限于 HS-100),以防止太阳能逃逸到您的智能电表后面。例如,您可以使用此功能为笔记本电脑电池、智能手机或电动自行车充电。

设置

您可以选择自行编译或检查此处提供的最新工件之一 这里

安装编译器工具链

rustup target add riscv64gc-unknown-linux-gnu

如果您使用的是其他架构(例如 arm),请在 install.sh 中安装适当的 rust 目标并设置它。

安装交叉链接器(用于链接)

sudo apt install gcc-riscv64-linux-gnu

安装 sshpass(用于部署)

sudo apt install sshpass

设置您的硬件

我假设您有一个Mango PI Pro-Q。

  • 连接红外读取器(使用PIN 35作为电源,以避免启动启动问题)
  • 安装systemd配置文件(见示例)

设置演员

  • 查看yaml配置示例
  • 将您的HS100/HS110智能插座列入列表

部署

您可以使用部署脚本install.sh进行部署。将一个hackdose.yaml和一个.env(包含示例)文件放入server/profiles/<profile>目录。

要部署,请运行

PROFILE_NAME=test ./install.sh 

许可证

本项目根据Apache 2.0或MIT许可证授权。

贡献

欢迎贡献。只需提交一个问题(即使您只有一个想法)或解决一个问题。

依赖关系

~18–32MB
~520K SLoC