构建一台完全自主运行的环境记录仪
使用Beetle ESP32-C6、DFRobot SEN0500多传感器、W25Q32 SPI NOR闪存芯片、可充电3.7V电池以及JUSTWAY定制的3D打印外壳,构建一台完全自主运行的环境记录仪。该设备可连续十年每小时记录一次温度、湿度、气压、海拔、光照和紫外线指数,且在每次充电后完全独立供电,无需外部电源支持。
Beetle ESP32-C6 通过 I2C 从 SEN0500 传感器读取 6 个环境参数,并将每个带时间戳的记录存储在 W25Q32 SPI 存储芯片上。一块 4MB 的闪存芯片可存储约 13 万个记录。
每小时读取一次,相当于超过5000天——近15年不间断的记录,完全不依赖云服务、WiFi或云端。
为什么选择W25Q闪存而不是SD卡?
•可靠性——无文件系统,原始扇区,无损坏。
•功耗 — SD卡的微安怠速与毫安。
•尺寸 — 5mm SOP-8 引脚。无需卡槽。
•价格:4MB 为 2 美元,SD + 模块则为 4 美元以上。
•长寿——20年以上存储寿命。SD卡故障不可预测。
•简洁性——4条线(CS/MOSI/MISO/SCK),无文件系统开销。
接线图
以下是完整的电路图,包含甲壳虫、传感器、闪光芯片、充电模块、电池和LED。
引脚连接快速参考
请参考上方的电路图进行视觉对照。
3D打印外壳(JUSTWAY)
为了保持机身紧凑并便于部署,我将Beetle ESP32-C6及其他传感器封装在一个专为本项目设计的定制3D打印外壳中。
该案例由JustWay制造,这是一家专注于嵌入式系统和物联网设备快速原型制作的、面向制造商的服务平台。
JUSTWAY 案件是一款定制的 SLA/FDM 3D 打印外壳,具有以下特点:
•保护PCB免受灰尘、湿气和光线的侵害
•安装在甲壳虫上,传感器位于外侧,闪光灯/电池位于内部
•提供 USB-C 接口,用于充电和数据传输
•包含线缆布线槽和传感器安装支架
最佳实践
•采用ABS或PETG打印,具有抗紫外线和耐温性能(不使用PLA)
•如果记录仪将放置在户外,请用环氧树脂或硅胶密封接缝。
•将传感器安装在外部,远离电池发热处
•在电池与外壳之间使用硅胶热垫
•在顶部安装一块小型太阳能板,用于 trickle 充电(可选 100mA 5.5V 面板)
软件设置
1. 安装ESP32板
2. 安装库
通过库管理器(Ctrl+Shift+I)安装:
• DFRobot_EnvironmentalSensor — 用于 SEN0500
• Adafruit SSD1306(如果使用OLED显示屏)
• DFRobot_GDL(如果使用TFT屏幕)
注意:SPI.h、Wire.h 和 WiFi.h 已内置。
Arduino 代码
Logger Sketch(beetle_sensor_logger.ino)
这是主日志记录程序。上传到 Beetle ESP32-C6 后,即可每小时记录一次环境数据。
Reader Sketch(beetle_sensor_reader.ino)
上传此独立的草图,以读取闪存中的所有数据并导出为CSV格式。将输出内容复制到DATA标记之间的区域,然后粘贴到电子表格中。
持续日志记录
记录器在每次读数之间处于睡眠状态。每小时它会醒来一次,进行采样、写入数据,然后再次进入睡眠。每次写入时,LED灯闪烁约80毫秒——从房间的任何位置都能轻松确认。
存储容量与使用寿命
对于一个W25Q32(4MB芯片),每小时记录一次,每次记录36字节:可使用约5,400天,相当于约14.8年寿命。实际极限为约11年,之后每个扇区的擦除次数将达到10万次。
结论
这是一款完整且实用的环境记录仪,采用价格实惠、广泛可得的零部件组装而成。Beetle ESP32-C6 小巧且功耗低。SEN0500 可采集六个关键指标。W25Q32 Flash 芯片可存储 13 万次读数,无需 SD 文件系统的复杂操作。可充电电池让您可随时随地部署,而 JUSTWAY 3D 打印外壳则能有效保护设备免受恶劣天气影响。
无论您是在监控远程气象站、温室、机房还是博物馆展厅,这款记录仪都能一目了然地呈现长达十年的历史数据。
本文编译自hackster.io





