电子说
步骤1:硬件列表
TTGO T5板$ 17
Adafruit TPL5110板$ 5
Adafruit Perma-Proto四分之一板(可选)$ 0.71(最低订单$ 8.50)
锂聚合物电池1200毫安10美元(或其他合适的电源)
JST PH 2针电缆 - 公头#0.75
220 uF电容器
步骤2:工具
烙铁
剥线器
锂电池充电器,如此。
步骤3:组装硬件
如图所示,组装硬件非常简单。我使用了Adafruit Perma-proto板,它像普通的原型板一样,除了它像面包板一样布局,与面包板具有相同的电气连接,这很不错。由于我只需要几个连接,并希望将整个组件装入一个小盒子,我用Dremel切割轮将其中一块板切成四分之一。
220 uF电容非常重要。没有它,TPL5110将永远不会打开T5。有点不清楚为什么,但使用TPL5110的其他人也遇到了同样的问题。也许ESP32在启动时比TTL5110可以提供更多的电流?
不要硬连接电池。使用JST-PH电缆,您可以断开电池充电。如果TPL5110“打开”,可能有办法从T5通过TPL5110向T55110充电,但是我不能保证这种技术。
我做了一个木箱作为外壳,但任何最小内部尺寸为1.5“x 2.75”x 1“的东西都可以使用。
步骤4:调整时序
TPL5110板上有一个微调电位器,用于设置TPL5110唤醒的时间间隔。用一把小螺丝刀逆时针旋转。在我的电路板上,这将间隔设置为145分钟,实际上超过规定的最大值120分钟,但它的工作和一致性将比每120分钟唤醒更省电,所以我使用它。您不需要精确地知道间隔,因为目标只是每天大约凌晨4点大致下载一次数据。您可以在env_config.h中指定间隔(例如,145分钟)和唤醒时间(例如,凌晨4点)。
(如果您想更好地控制其他项目的时序,TPL5110板已经有了您可以切断背面的迹线以禁用电位计。然后根据此图表将电阻连接到延迟引脚,电阻确定间隔。)
步骤5:软件
您将需要带有ESP32软件包的Arduino IDE。在IDE中,将您的电路板设置为“ESP32开发模块”。
该草图可在https://github.com/jasonful/Tides获得,需要3个库:
“ESP8266气象站”,可从Arduino图书馆经理(或此处)获得。您只需要这6个文件:ESPHTTPClient.h,ESPWiFi.h,OpenWeatherMapCurrent.cpp,OpenWeatherMapCurrent.h,OpenWeatherMapForecast.cpp,OpenWeatherMapForecast.h并可以删除其余文件。
“Json Streaming Parser”可从Arduino Library Manager(或此处)获得
https://github.com/LilyGO/TTGO-Epape-T5-V1.8/tree/master/epa2in13-demo即使代码没有打包成真正的库,你也可以将它复制到你的库目录下并包含它。
步骤6:配置软件
您需要设置几个参数(以及一些您可能想要设置的参数)在env_config.h文件中,包括:
WiFi SSID和密码
NOAA工作站ID(换句话说,你在哪里)
OpenWeatherMap AppID,你需要注册(它很简单,免费)
OpenWeatherMap LocationID(再次,你在哪里)
CONFIG_USE_TPL5110,它允许你在没有TPL5110的情况下使用T5 。相反,软件将进入深度睡眠模式。 T5板在深度睡眠时吸收大约8毫安,所以我只希望电池可以使用几天。
第7步:软件如何工作
(如果你不在乎,你可以跳过这部分。)
目标是每天醒来一次,但由于TPL5110的最大间隔时间仅为2小时或者说,T5必须经常醒来。因此,在下载潮汐和天气数据后,它会计算从现在到明天早上4:00之间的2小时间隔中有多少。由于TPL5110完全切断了T5的电源,这有点复杂,这对电池有利,但这意味着我们失去了RAM和实时时钟。这就像每天早上醒来失忆。因此,要弄清楚现在是什么时候,它会从NOAA的HTTP标头中提取它。并且为了记住剩余的2小时间隔,它写入与非易失性存储(闪存)的对应。每次唤醒时,它会检查计数器,减少它,存储它,如果它大于零,它会立即向TPL51110发送信号(“完成”),告诉它让它进入睡眠状态。当计数器达到零时,代码将下载新数据,并重新计算并重置计数器。
步骤8:运行它
确保T5左侧的开关处于向上(开)位置,上传草图到T5,并在几秒钟内屏幕应更新潮汐和天气信息。
如果您需要调试软件,请更改Tides.ino顶部的“#define DEBUG 0” “#define DEBUG 1”。这将打开串行调试输出,并在电子纸的底部显示下载新数据之前剩余的重启次数,以及上次下载数据的时间。
步骤9:未来方向
使用TPL5110与电子纸显示相结合是显示任何不经常更改的数据的好方法,具有出色的电池寿命。
当我设计时,我考虑使用TrigBoard,这是一块带有TPL5111板的ESP8266板。它需要像这样或那样获得一个单独的电子纸显示器和电子纸驱动板。或者像这样或者这样的驱动程序+板组合。要将代码移植到ESP8266,我认为SSL代码必须使用指纹而不是证书,非易失性存储代码需要使用EEPROM或RTC内存。
全部0条评论
快来发表一下你的评论吧 !