亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

DIY Virtual Alike NEST Thermostat with Node-RED

创建您自己的DIY 虚拟 NEST 恒温器,无论您身在何处,都可以通过所需的设备设置和控制家中的温度。

故事

大家好!创客们怎么了?!

这是我想与 Hackster 社区分享的第一个项目! 🙂

我创建了这个项目,因为当我轮班工作时,由于我的轮班不依赖于我的 Old-Home-NO-InternetOfThings-device-Thermostat,每周手动设置和配置总是一场噩梦定期。

所以我需要一个解决方案,它可以让我无论身在何处都可以打开或关闭我的供暖系统,在回家前几分钟,然后……在家中节省一些能源效率!

因为我一直很喜欢 NEST 设计的恒温器,所以我最终建立了一个虚拟的类似的恒温器!

将能够监控温度和湿度 你家的房间 以及(当然)从任何地方直接从任何联网设备(PC/平板电脑/移动设备)打开/关闭您的供暖系统。

所以,一旦我们了解了这个项目背后的故事及其目标,让我们开始吧!

安装软件!

1.在 RaspberryPi 3 上设置 Raspbian Stretch OS

2.在 RaspberryPi 3 上安装 Mosquitto Broker

3.在 RaspberryPi 3 上安装 Node-Red

4.在您的 PC 上安装 Atom+PlatformIO

黑客硬件!

可以打开/关闭加热系统的设备是 ITEAD 1CH。我选择这个设备是因为它很小,真的很便宜,而且可以通过微型 USB 连接器用 5V 手机充电器供电。正如您所看到的,这是一个完美的 DIY Wi-Fi 中继模块,ITEA 出售,供创客修补。

1 CHANNEL INCHING /SELF-LOCKING WIFI WIRELESS SWITCH 5V 12V

它配备了专有软件(也称为固件),可与名为 EWeLink 的移动应用程序配合使用。

有什么问题? 你必须注册。登录后,您可以打开/关闭连接到中继终端的任何设备。 但是,嘿!我们是创客! 我们想使用/破解我们购买的设备,不依赖外部供应商、服务器和应用程序!我们要建立自己的基础设施!信息隐私!

这是硬件黑客攻击的开始......

当您意识到可以修改设备的原始固件并安装另一个不依赖于供应商的固件时,最好的部分就来了。由于该设备基于模块ESP2866,因此该模块的开源项目很少,我特别喜欢一个叫ESPurna Firmware的。

ESPurna 固件 + 添加 DHT22 传感器

ESPurna(加泰罗尼亚语中的“spark”)是基于 ESP8266 的智能开关和传感器的自定义固件。它使用 Arduino Core for ESP8266 框架和许多第三方库。

感谢作者 (@xoseperez) 发表的精彩文章以及他在 Twitter 上的出色帮助,我能够学习如何修改、构建和刷新自定义固件添加新设备特点 购买时没有出现。

在 Internet 上浏览设备原理图详细信息,我找到了 PSA-01(基于 ESP8266)模块的 GPIO 引脚。

ITEAD PSA-01 GPIO 引脚

由于它基于 ESP2866,我猜它可以有一些 GPIO 与之交互......我是对的 !此外,我检查了 ITEAD 是否有其他类型的产品,例如 SonOff TH10/TH16 带有音频插孔以连接温度/湿度探头传感器。

在检查 ITEAD 产品可以被“黑客”添加更多类型的传感器后,我想知道是否可以在我的设备 ITEAD 1-CH 中添加一个。将传感器添加到智能 Wi-Fi 继电器以监控放置的房间的温度和湿度,然后用它创建某种恒温器会很有趣。

因此,我尝试将一些引脚直接焊接到 PSA-01 模块的 GPIO 引脚上,以连接 DHT22 传感器。您只需要焊接 3 个引脚 (GND、3v3 和 GPIO14) 将其与 3 个引脚(RX、TX、 地) 闪存模块。我最终在所有 GPIO 中焊接了引脚,​​但这不是强制性的,因为我们将只使用 GPIO14。

焊接引脚详细信息

现在是修改正确源文件、构建 ESPurna 自定义固件并检查设备是否从添加的传感器读取数据的时候了。

PlatformIO – 构建自定义固件

安装 Atom+PlatformIO 后,您需要下载最新版本的 ESPurna 自定义固件并解压。

添加项目文件夹(文件-> 添加项目文件夹)并选择名为 code 的文件夹 来自最近提取的文件夹。

现在您会将项目添加到项目列(左窗格)中。

您需要修改 以下源文件 如下图所示。

/config/sensors.h

将 DHT_SUPPORT 设置为 1,将 DHT_PIN 设置为 14

/platformio.ini

设置 env_default =itead-1ch-inching

现在,我们准备刷机 我们的设备带有 ESPurna 自定义固件!

按照以下连接将您的 USB 转串口线连接到 ITEAD 设备:

TX <–> RX
RX <–> TX
3v3 <–> 3v3
GND <–> GND

将 USB 转串口设备线连接到 ITEAD 1-CH WiFi 开关焊接引脚

为了刷入 ITEAD 设备,您需要进入刷入模式。按下靠近微型 USB 连接器的按钮,即可轻松完成为电路板供电(连接到 PC 上的 USB 端口)。

连接到 USB 端口时按下按钮进入设备 Flash 模式

一旦连接,LED 将亮红色表示设备处于 Flash 模式,准备上传固件。

LED 将亮红色表示 Flash 模式

在刷新设备之前,检查构建是否成功结束。只需点击构建按钮(勾号图标),过一会儿,如果一切正常,您将收到成功消息。

如果您在 Flash 设备之前已配置一切 OK,您将看到 SUCCESS 消息

现在您已准备好使用 PlatformIO 上传 ESPurna 自定义固件。只需按下 PlatformIO 上的上传按钮(右箭头),USB 转串口适配器就会开始闪烁并刷新您的设备。

按上传以 Flash 您的设备

下面是 Flash 过程的快速视频。

如何使用 PlatformIO 上传 ESPurna 自定义固件

刷完设备后,断开 USB 转串口线,相应地连接 DHT22 传感器(3v3、GND、GPIO14)并使用 microUSB 手机充电器为其供电。

DHT22/AM2302 温度和湿度传感器连接到焊接引脚 3v3、GND 和 GPIO14

首次启动时,设备将在软 AP 上启动,创建一个名为“DEVICE_XXXXXX”的 Wi-Fi SSID,设备将在其中您设备的标识符和 XXXXXX 是无线电 MAC 的最后 3 个字节。

连接手机、PC、笔记本电脑,无论网络,密码是“fibonacci”。连接后浏览到 http://192.168.4.1

配置ITEAD“恒温器”

首先,系统会提示您进行身份验证挑战。请按照官方程序设置您的 Wi-Fi 并更改默认密码。

输入默认 AP 登录凭据更改您的默认密码

配置后,您应该会看到 ESPurna 的默认 Web 界面 自定义固件,您可以在其中检查 DHT22 传感器的开关状态、温度和湿度值读数以及配置您自己的 Wi-Fi 详细信息、MQTT、NTP、HTTP API、端口、开关、时间表、Thingspeak、Domoticz,亚马逊 Alexa 集成...

ESPurna 具有多种不错的功能(比原始固件更多)!

这就是为什么我们都应该喜欢这样的开源项目。

ESPurna 网络界面

“恒温器”沟通 使用我们的 RaspberryPi 3,通过 MQTT 协议和Node-RED在其流程编辑器中管理逻辑 取决于传感器接收到的值并部署用户界面 与之互动。这就是您在本教程开始时在 RaspberryPi 3 上安装 Mosquitto Broker 和 Node-RED 工具的原因!

一旦您将设备设置为连接 到您想要的家庭 Wi-Fi 网络 (网络界面的左窗格 -> WIFI,您可以在其中扫描网络并选择所需的网络)您需要设置 MQTT 详细信息 相应地,这将与您的 Mosquitto Broker 的安装相匹配。

阅读更多详细信息:带有 Node-RED 的 DIY Virtual Alike NEST 恒温器


制造工艺

  1. 使用廉价传感器绘制家庭温度流量图
  2. 使用 Raspberry Pi 的简单 DIY 婴儿哭闹检测器
  3. 使用 MQTT 轻松进入物联网世界
  4. DIY 最简单的 IV9 Numitron 时钟与 Arduino
  5. 在 E3.cable 中插入的连接器
  6. 带模拟传感器的压力气流测量设备
  7. 使用 Arduino 和 Android 设备控制 Roomba 机器人
  8. DIY 虚拟现实滑板
  9. 带安卓设备的便携式温度计
  10. DIY 电压表与 Arduino 和诺基亚 5110 显示器
  11. 带旋转编码器的DIY简易测量轮
  12. Node-RED 和 Docker 入门