本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

使用 Esp-01F 和 Web Socket 的智能温度计

发布时间:2021-07-26
分享到:

使用 Esp-01F 和 Web Socket 的智能温度计

发布时间:2021-07-26
分享到:

本教程教你如何使ATTINY 85一个简单的温度计,一节电池可以使他工作140余天,工作40天之后,它仍然可以以极高的效率完成工作。

当涉及到电子设备和编程时,很多人可能会望而却步。因此,在本教程中,让我向您展示如何制作类固醇温度计,在学习的过程中,我相信您一定会学到许多电子设备和编程的知识,那么就让我开始吧!

该设备将具有以下功能:

1.使用 WebSockets 实时阅读
2.不使用时自动休眠
3.从网页控制温度计
4.时尚的PCB设计
5.集成esp-01F编程器
6.3D打印案例

第 1 步:为什么是 ESP-01F?

在版本 1 中,闪存存储非常有限,几乎只有 8kb,我在运行不同的库时遇到了一些困难。所以,这次我选择了esp-01f,它自带1MB闪存,比ATTINY 85大128倍。同时它还具有WiFi、UART等功能,时钟速度高达160MHz。即使对于这个特定项目无关紧要,我们也可以调整规格以使温度计看起来更加实用高效。

但代价是它的成本不低,esp-01f 是一个非常耗电的模块,因为它具有板载 wifi 连接,但是通过将模块置于深度睡眠状态可以大大降低这种功耗,它应该只消耗 20uA。

第 2 步:其他组件

其他组件与温度计版本 1 类似。对于显示器,我使用相同的 0.91 英寸 128X32 OLED 显示器,用于温度传感器 DS18B20 探头,最后电池使用 150MAh 小型锂电池。

第 3 步:一些细节

首先,esp-01f 的尺寸非常小,没有内置天线。因此,要么我们必须在 PCB 上构建一个,要么添加一个外部天线,否则会出现稳定性问题和更短的 wifi 连接范围。

无论如何,除了编程之外,这个模块很难使用,因为占用空间很小,并且无法在任何性能板上焊接它。我以前的许多编程方法和技术都不能很好地解决这个问题。

第 4 步:USB 转串口转换器

这就是我计划集成一个 USB 转串口转换器来对 esp-01f 进行编程的原因。就像 Arduino、Nodemcu 等开发板上的那些一样。所以,从技术上讲,如果你能给温度计提供更多的引脚,它可以用作开发板,这就是我说它是高效的原因之一。

要实现串行编程器,有很多选择,我们可以使用最便宜的 CH340,主要在 Arduino 克隆上看到,或者 FTDI。以前用于原始 Arduino 开发板。我不会使用它们,因为它们的 IC 封装非常大,而且比 wifi 模块大得多。

第5步:CP2102 USB转串口

我选择了CP2012。这是硅实验室的 USB 串行转换器,主要用于 NodeMCU 和 ESP32 开发板,与 FTDI 相比,它们的价格相当适中,而且 IC 封装的尺寸非常小,非常适合我们的设备。

第6步:充电电路

还有一个问题,锂聚合物电池。由于它是可充电电池,因此我们需要为其充电。我们可以做到这一点的一种方法是将电池取出并充电,并在完成后重新安装。但是我们需要添加一个 tp4056 IC 和一个微型 USB 以具有板载充电电路。

第7步:焊接

一切非常顺利,只需插入微型 USB 和充电电路为电池充电,只需将此微型 USB 连接到 PC,您就可以使用 Arduino IDE 对 esp-01f 进行编程。

第8步:对智能温度计进行编程

在这个版本中编程非常简单。只需在 Arduino IDE 中打开代码(Github)“温度计 V2.ino ”并设置 Arduino IDE 将代码上传到 esp8285。当您按下上传按钮时,代码应该会自动使用最新的代码刷新 esp8285,但如果没有,只需在上传过程中单击并按住第一张图片中所示的程序按钮。

第9步:制作网页

我有点讨厌 Web 开发,但我还是设法用WebSockets构建了一个草率的网页,显示温度传感器的一些实时温度读数。它不使用任何花哨的库或花哨的框架。它是用 HTML、CSS 和 Vanilla Javascript(代码)编写的。

第10步:3D 打印和组装

由于电路板已准备就绪,我想为温度计制作一个时髦的外壳。本来想做一个烟斗,可惜在做PCB设计的时候没有这个想法。所以建造起来相当困难,而且看起来也不那么好看,所以我不得不放弃这个想法。

相反,我测量了 PCB 的确切尺寸并开始设计一个简单优雅的外壳,同时仍然设法像版本 1 一样轻松访问电路而无需任何紧固件。

第11步:测试智能温度计

只需单击顶部按钮,这将重置 esp 并将其从睡眠模式中唤醒。一旦设备处于活动状态,它将打开我们可以连接的接入点。连接后打开任何网络浏览器并搜索代码中分配的 IP 地址或通过搜索网站。就是这样,现在我们可以通过单击开始来测量温度,并在网页上查看实时数据。您也可以通过单击睡眠按钮使温度计进入睡眠状态。这将清除显示并使温度计进入深度睡眠。如果设备开启超过一分钟且没有人连接到网页,设备将自动进入深度睡眠以节省电量。

最后一步:测试功耗

正如我在教程开始时告诉您的那样,由于 ESP-01F,功耗将高于版本 1。因此,如果您在接入点打开且客户端已连接时看到万用表读数,则功耗约为93mA。当温度计处于深度睡眠状态时,它消耗大约1.8mA 的电流,与之前的版本消耗低于 60uA 的电流相比,这是非常重要的。考虑到 ESP-01F 消耗约 20uA(来自数据表),总电路消耗仍应低于 100uA。它消耗1.8mA的原因是因为我们添加了其他功能,例如充电电路和板载CP2102 USB转串口编程器。

非常感谢您来到这里并且对我的项目感兴趣。我希望你喜欢我的项目,并祝贺那些完成项目的人。如果您也制作或喜欢它,请在评论中告诉我,并随时提出任何问题。

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论