硬件建设
我选择了 esp-01f,它自带 1MB 闪存,比 ATTINY 85 大 128 倍。除此之外,它还具有 WiFi、UART 等功能,时钟速度高达 160MHz。即使对于这个特定项目无关紧要,我们也可以调整规格以使温度计看起来更坚固。
但它确实有成本,esp-01f 是一个非常耗电的模块,因为它具有板载 wifi 连接,但是通过将模块置于深度睡眠状态可以大大降低这种功耗,根据该模块的功耗仅为 20uA。数据表。
其他组件与温度计版本 1 类似。对于显示器,我将使用相同的 0.91 英寸 128X32 OLED 显示器,用于温度传感器 DS18B20 探头,最后为电池使用 150MAh 小型锂电池。
另外为了让它更强大,我选择了 CP2012。这是硅实验室的 USB 到串行转换器,主要用于 NodeMCU 和 ESP32 开发板,与 FTDI 相比,它们的价格相当适中,而且 IC 封装的尺寸非常小,非常适合我们的设备。
最后,还有一个问题,锂聚合物电池。由于它是可充电电池,因此我们需要为其充电。我们可以做到这一点的一种方法是将电池取出并充电,并在完成后重新安装。但这让我们又回到了老问题。开始笨拙而不优雅。因此,我们将添加一个 tp4056 IC 和一个微型 USB 以具有板载充电电路。
Web开发(代码见附件)
我有点讨厌 Web 开发,但无论如何我还是设法用 WebSockets 构建了一个草率的网页,以显示来自温度传感器的一些实时温度读数。它不使用任何花哨的库或花哨的框架。它是用 HTML、CSS 和 Vanilla Javascript(代码)编写的。
3D打印(文件见附件)
我测量了 PCB 的确切尺寸并开始设计一个简单优雅的外壳,同时仍然设法像版本 1 一样轻松访问电路而无需任何紧固件。
然后剩下的就是 3D 打印和组装!
- 打印机 - Ender 3v2(Cura 切片机)
- 支持 - 开启
- 层高 - 0.2mm
- 灯丝 - PLA+
- 喷嘴温度 - 210c
- 喷嘴加热床 - 72c
工作原理:
只需单击顶部按钮,这将重置 esp 并将其从睡眠模式中唤醒。一旦设备处于活动状态,它将打开我们可以连接的接入点。连接后打开任何网络浏览器并搜索代码中分配的 IP 地址或通过搜索“ http://temperature.local ”。就是这样,现在我们可以通过单击开始来测量温度,并在网页上查看实时数据。
您也可以通过单击睡眠按钮使温度计进入睡眠状态。这将清除显示并使温度计进入深度睡眠。
如果设备开启超过一分钟且没有人连接到网页,设备将自动进入深度睡眠以节省电量。
有关本项目的电路图、3D文件、代码等资料请见附件中下载。