使用配备 SSD1306 显示屏的 esp32 板(可选),通过 Hichi 单元从智能电表读取功耗,从而监控和记录功耗 - 无需安装家庭自动化服务器。 :)
将config.h.default
复制到config.h
并根据需要编辑config.h
:
Hichi-mon.ino
并将其安装到您的esp32上以用作监视器。如果一切顺利,您应该会在 Hichi-mon 设备上看到来自 Hichi 设备的数据。
Hichi-mon 每秒通过 HTTP 从您的 Hichi 设备获取当前功率读数,用于显示和记录。
显示最新功耗值的滚动图表。根据FULL_DAY_DISPLAY
是否在config.h
中定义,它将包含最近 24 小时的绘图(这将在开始滚动之前需要 24 小时才能完成)或最近 10 分钟的绘图(提供更多详细信息,但更短暂)。
请注意,对于该图表,功率读数是十二分钟(对于 24 小时显示)或五秒(对于十分钟显示)的平均值。
图表左侧打印了三个值:图表中显示的最低功率读数、从 Hichi 装置获得的最新功率读数以及图表中显示的最高功率读数。
十分钟配置示例:
24 小时配置示例:
(如果您想知道这些负功率读数:我安装了一个小型太阳能发电站。)
您还应该能够通过加载http://<your-Hichi-mon-address>/
在网络中的任何 Web 浏览器上显示 Hichi-mon 屏幕内容(即使没有连接 ssd1306 显示器)。
如果您希望浏览器在加载时显示放大的小图像,您可以使用Hichi-mon.html
而不是直接从 Hichi-mon 设备加载图像。 (为此,您可能需要调整*.html
中 Hichi-mon 单元的地址。)
可以在config.h
中启用将日志文件和屏幕截图(见上文)定期保存到 Dropbox 帐户。为了使该功能发挥作用,必须授予 Hichi-mon 读/写访问权限;为此,请在网络浏览器中加载Get_Dropbox_token_for_Hichi-mon.html
并按照说明进行操作。
保存的日志文件将命名为yyyy-mm-dd_hh.csv
,文件的基本名称代表当前日期和小时。它们将按照config.h
中的指定进行更新,并包含hh:mm:ss W
形式的文本行,提供给定时间的功率读数,例如23:45:12 98
表示大约 98 瓦的功率需求午夜前一刻。
为了限制重新启动 Hichi-mon 设备时的日志数据丢失,当切换到新的yyyy-mm-dd_hh
时,将读取并继续现有的*.csv
文件。执行 OTA 更新(见下文)将强制在设备重置之前立即写入*.csv
,并从文件中重新加载数据,并在重置后继续执行。
屏幕截图以 Windows 位图格式保存,并且始终被覆盖:仅hichi-mon.bmp
保留为最新的屏幕截图。
只需将*.csv
日志文件加载到您最喜欢的电子表格应用程序(例如 Excel,...)中,然后它就会为您提供功耗图!
...或者,如果您使用的是 Unix 系统并安装了 feedgnuplot (以及 gnuplot、perl 等),您可以尝试hichi-mon.sh
,看看它是否满足您的需求。
当不带参数调用时,它会尝试从您的 Dropbox 帐户读取当天的*.csv
日志文件(见上文),并为您提供文件中包含的数据的交互式图形显示。如果您想查看较旧的数据,请以 yyyy-mm-dd 格式提供所需的日期作为参数,例如hichi-mon.sh 2023-07-17
。
输出示例:
(如果您家里没有发电机(例如光伏发电),因此没有负功率读数,“能源(付费)”曲线将等于“能源(净需求)”曲线,以及“能源(光伏过剩)” " 将是一条平线。只需根据您的需要调整hichi-mon.sh
即可。)
通过在网络浏览器中加载http://<your-Hichi-mon-address>:8080/
,您可以“无线”(OTA) 更新 Hichi-mon 的软件。在那里,您可以上传通过 Arduino IDE 中的Sketch -> Export compiled binary file...
创建的文件。 (当然,这仅适用于已经运行支持 OTA 的软件的 esp32,即第一次必须通过 USB 将 Hichi-mon 软件加载到 esp32 上。)
Hichi-mon 源自我的 BSBmonCR。
String
与char*
的使用)。