← 返回信息流
AI 资讯Hacker News·2 小时前

开源电子宠物Weathergotchi带你关注气候变化

原标题:Weathergotchi – an open-source climate Tamagotchi

速览

Weathergotchi是一个类似Tamagotchi的开源项目,但它的核心是气候变化。用户可以通过虚拟宠物互动,了解气候数据并参与环保行动。该项目强调开源和社区参与,为气候教育提供了一种创新方式。

AI 深度解读

背景

近年来,随着物联网和低功耗嵌入式技术的普及,个人环境监测设备逐渐从专业实验室走向爱好者与创客社区。传统的温湿度记录仪通常体积较大、成本较高,且依赖专用软件或云端服务查看数据。与此同时,复古电子宠物(如 Tamagotchi)的设计理念启发了许多开发者将功能性与趣味性结合。Weathergotchi 项目正是这一趋势的产物——它是一款开源、电池供电的气候数据记录器,采用常亮电子墨水屏显示,旨在以极低功耗实现长时间的环境监测,同时保持硬件的完全开放和可定制性。

核心内容

Weathergotchi 是一个完整的开源硬件+固件项目,核心是一个基于 ESP32-S3 微控制器的温湿度数据记录器。它配备了一块 1.54 英寸的电子墨水屏(常亮显示),通过外部 EEPROM 存储历史读数,并能在屏幕上同时显示当前数据与历史曲线图。设备由一块小型锂聚合物电池(如 400 mAh)供电,在深度睡眠模式下仅消耗不到 20 µA,配合 DS3231 RTC 定时唤醒,默认每 1 分钟记录一次数据,可连续运行超过一周。

其主要硬件特性包括:

  • ESP32-S3 主控,支持深度睡眠与 RTC 定时唤醒
  • 温湿度传感器(SHT45)与外部 EEPROM(24LC512)用于数据记录
  • 精准电池监测(BQ27441 电量计)与充电管理(BQ24075 充电芯片)
  • 软电源按钮控制器(LTC2954),可实现真正的开/关控制
  • 1.54 英寸电子墨水屏(兼容 Waveshare 引脚)
  • 定制 PCB 与 3D 打印外壳

所有设计文件均开源,包括:

  • CAD/ – 3D 外壳设计(OpenSCAD 源文件与 STL 导出文件),完全参数化,可通过修改 constants.scad 调整尺寸
  • PCB/ – KiCad 硬件设计文件(原理图、PCB 布局、元器件数据手册),参考了 SparkFun 和 Waveshare 的参考设计
  • firmware/ – 基于 PlatformIO 的固件(ESP32-S3,Arduino 框架),负责传感器读取、计时、EEPROM 数据记录、电子墨水屏更新、按钮处理、电源管理(深度睡眠与唤醒源配置)

组装与使用步骤:

  1. 将固件通过 PlatformIO 上传至 ESP32-S3(需安装 PlatformIO Core 或 VS Code 扩展)
  2. 使用高分辨率 FDM 打印机(推荐 0.1 mm 层高)打印外壳 STL 文件,外壳使用 M2 热熔嵌件与 M2 螺丝固定
  3. 将 PCB、电池、电子墨水屏装入外壳,合上前后面板

所有 I2C 外设(SHT45、DS3231、24LC512、BQ27441)共享同一总线,电子墨水屏通过 SPI 驱动,LTC2954 软电源按钮通过 BQ24075 控制系统断电。

关键要点

  • 超低功耗设计:深度睡眠时 ESP32-S3 电流低于 20 µA,DS3231 与 BQ27441 保持激活但电流可忽略。DS3231 闹钟以可配置间隔(默认 1 分钟)唤醒 ESP32,唤醒后约 400 ms(50 mA 电流)完成一次记录并更新显示,随后再次进入睡眠。
  • 真正的电源开关:LTC2954 提供软开关功能,可完全切断系统电源,避免电池耗尽后无法重启的问题。
  • 已知问题与限制
    • 电池电量报告不准确:作者认为是 BQ27441 配置错误所致。
    • 低电量无法恢复:当电池电压接近 3.4V 时,设备可能进入不可恢复状态,只能通过断开电池并外部充电后重新连接解决。作者怀疑是使用了廉价 AliExpress 电池所致。
    • 温度读数受手持影响:ESP32 激活时发热会影响 SHT45 读数,固件在唤醒后立即读取传感器以最小化误差,但长时间浏览菜单或手持设备仍会使环境读数偏移数分钟。
    • 电子墨水屏低温限制:模块额定工作温度高于 0°C,低于冰点时屏幕可能无法可靠刷新,但数据记录仍在后台进行,温度回升后显示功能恢复。
    • 无无线连接:本版本未包含蓝牙或 Wi-Fi 数据导出功能,以最大化电池寿命,数据仅能在设备屏幕上查看。
  • 开源许可:项目根目录下的 LICENSE 文件规定了开放且宽松的许可条款,鼓励修改与贡献。
  • 贡献指南:欢迎提交 Issue、Pull Request,要求遵循现有代码风格,并记录硬件或固件的任何变更。

意义与影响

Weathergotchi 项目展示了开源硬件在低功耗环境监测领域的成熟实践。它并非简单的“温湿度计”,而是将电子墨水屏的常亮特性、深度睡眠微控制器、精确 RTC 唤醒与 EEPROM 数据持久化相结合,实现了极低功耗下的长时间自主运行。这一设计思路对物联网终端节点的能效优化具有参考价值。

更重要的是,该项目完全开放了从 PCB 设计到 3D 外壳的每一层文件,使得任何人可以自由复制、修改、扩展。对于教育、创客、甚至小批量定制化生产(如博物馆展柜环境监测、冷链运输记录)而言,Weathergotchi 提供了一个低门槛、可验证的起点。它不依赖任何云服务或专有协议,数据完全本地存储,适合对隐私和自主性有要求的场景。

尽管存在电池电量不准、低温显示受限等已知问题,但作者坦率地指出了这些局限性,并鼓励社区参与改进。这种开放透明的做法正是开源精神的体现。未来,若加入无线数据导出功能(如蓝牙低功耗),或优化电池管理算法,Weathergotchi 有望成为极低成本、超长续航的个人气候记录仪标杆。

查看原文 →github.com