Wifi智能插座2.0





准备工作:
材料:
- 现在我们可以通过 3 个不同的 LED(每个插座一个)看到哪个插座已通电。
- 我们还可以通过物理按钮来控制这 3 个插座,而不仅仅是通过语音。
- 还有一个温度传感器,我们可以选择用它来测量智能灯条的内部温度,或者测量智能灯条所在房间的温度。(我选择了后者)
- 借助 Home Assistant,我们可以设置许多涉及我们的条带的自动化装置。
- 首次打开灯带电源后,您将能够通过 ota(无线)对其进行编程,因此您不再需要将 Esp12f 连接到电脑的 USB 端口。
与之前的版本一样,我们仅以“智能”方式控制 4 个插座中的 3 个。最后一个插座直接连接到 220V 电源。
注意 220V,如果您不知道自己在做什么,可能会严重危及您的生命!
我不负任何责任!
这些是我们将要使用的所有组件:
- 1x Hi-Link 5V 电源
- 1x 小型 2 螺丝端子(用于交流输入)
- 3x 3 螺丝端子(继电器输出)
- 2x 100uF电解电容器
- 1个AMS117 3.3V稳压器
- 3个按钮
- 1个ESP12F
- 3x 1K欧姆电阻
- 3x 5K欧姆电阻
- 3个BC547 NPN晶体管
- 3x PC817光耦合器
- 3x 彩色 LED
- 3个IN4007二极管
- 3个5V继电器
- 1个DHT11温度传感器
- 电缆
- LED 和按钮的电缆(最好使用一些较粗的电缆以避免电气干扰)
- 跳线
工具:
- 面包板
- USB转串口转换器
- 1 个 Mammut 夹钳
- 钻头
- 热胶
- 焊机
对ESP12F进行编程






您需要做的第一件事是在将 esp12f 焊接到 PCB 之前对其进行编程。
市面上有很多分线板非常适合为这款板子编程,所以你可以选择你喜欢的。幸运的是,我有一些非常细的跳线,可以插在 esp12f 引脚的小孔里。这样它们就能与电路板上的引脚进行必要的“接触”。
现在您必须通过以下方式将开发板与 USB 转串行转换器连接起来:
Esp12f -------- USB转串口
VCC--> 3.3V
CH-PD --> 3.3V
GND-->GND
GPIO15-->GND
GPIO0——>GND
发送-->接收
接收-->发送
现在您可以将 USB 转串行转换器插入电脑,并且您应该能够通过 Arduino Ide 看到新的串行端口。
那么我建议你加入这个很棒的 Facebook ESP8266 智能家居社区,下载固件。当然,它是 100% 免费的。在那里你可以找到包含代码的 GitHub 项目,以及与 Home-Assistant 集成的配置。
https://www.facebook.com/groups/351472505248816/
下载固件后,您必须运行 jar 工具,该工具将创建要上传到 esp12f 的配置文件。在该工具中,您必须设置您的 WiFi SSID 和密码、您的 mqtt 代理、用户名和密码。
然后,你必须选择图片中看到的所有其他东西,当然,引脚设置也是一样的。不过,所有细节都在 Wiki 中有解释。
配置文件生成后,在 Arduino IDE 中打开 SmartHome_v50beta5nc.ino。然后选择你的开发板类型(我这里使用的是“NodeMCU 1.0 esp12e”)。
如果您想使用 DHT11 温度传感器代替 DHT22,最后还需要做一件事。您需要打开 routine_termostato.ino 文件,将 DHTTYPE DHT22 行更改为 DHTTYPE DHT11。然后保存并上传代码。
大功告成!现在我们可以把所有东西焊接到 PCB 上了。
将所有部件焊接到PCB上

在开始之前,当然,如果您愿意,您可以修改 PCB。例如,如果您出于某些原因不喜欢我的螺丝端子,您可以选择不同类型的螺丝端子!
您可以在这里下载 PCB 的 gerber 文件:
https://www.dropbox.com/s/lyl27vyue1t1v3j/Gerber_d...
好了,打印出来之后我们就可以开始焊接了。
我的技术不太成熟,从我的 esp12f 焊接就能看出来,所以希望你能比我做得更好!我稍微修改了一下原来的 PCB,因为有一些错误,但我不想重新打印。只有一件事我不能改变,那就是晶体管的方向。你必须按照与 PCB 上设计方向相反的方向焊接它们(如上图所示)。
esp12f 下方电阻的值为 5K(它们是按钮的下拉电阻),光耦合器下方电阻的值为 1k(它们连接到晶体管的基极)。
焊接时务必小心所有元件,尤其是两个有极性的电解电容,如果焊接错误,可能会爆炸。此外,光耦合器和二极管也需要正确焊接!
不要将按钮、LED 和温度传感器直接焊接到 PCB 上,而是先将它们连接到电线上,然后再将电线焊接到印刷电路板上。对于按钮,只需焊接较高的两个引脚即可。另外两个引脚无需焊接。(LED 的长脚必须连接到较高的引脚,短脚连接到较低的引脚;对于按钮,必须连接的是彼此靠近的两个引脚)。
这样,你就可以在灯带的任何地方放置LED灯、按钮和dht11(或dht22)。在介绍图片中,你可以看到我选择放置它们的位置。
现在我们可以在这些组件所需的所有位置上钻孔了!
钻孔




没有太多要说的,决定你想把传感器、按钮和 LED 放在哪里,然后钻孔!
我的并不完美,甚至没有对齐,所以,再说一次,做得比我更好:)
组装智能条

在将 PCB 插入条带之前,我建议先将电线连接到交流输入和继电器输出,正如您在两步之前的图像中所看到的那样。
现在把电路板和四个插座连接起来。如果你不知道怎么做,可以参考我提供的这个灯条第一个版本的说明书。连接方式和图片一样!
插入温度传感器、按钮和 LED 后,用热胶固定它们的电缆,并尝试隔离所有东西,以避免电气干扰。
现在你可以把灯条合上,然后把它连接到220V电源上。如果你按照本指南操作,一切都应该不会有问题!
使用 Home Assistant 进行设置

Home Assistanthttps://www.home-assistant.io/
现在您应该能够看到智能灯条的 IP 地址了。如果您不知道如何操作,请下载 Fing 应用程序,扫描 WiFi 网络,然后您应该就能识别正确的 IP 地址了。
在浏览器中输入该 IP,您将连接到 esp12f 网络服务器。
您可以独立控制所有三个出口,但不能控制第四个出口。
那个是直接接220V的!
现在,在项目的 wiki(您从中下载固件的地方)中,您可以轻松找到要添加到 Home Assistant 的 configuration.yaml 中的所有代码。
在 wiki 的左下角,你必须选择“Interruttore”。然后,你需要将代码复制粘贴到你的 configuration.yaml 文件中三次,因为你需要控制三个插座。注意,你必须将“interruttore/1”和“interruttore/1/ack”中的数字分别改为 2 和 3,这样才能拥有三个不同的实体!在 availabilty_topic 文件中,你必须删除所有数字,并输入智能灯条的 MAC 地址,不要使用大写字母,也不要使用“:”。
然后,对于温度传感器,选择“Termostato”,并仅复制前两段代码,以便测量温度和湿度。记得更改可用性主题。
保存文件,检查配置,如果一切正常,您可以重新启动 Home Assistant。
现在您应该能够控制三个插座并监测房间的温度和湿度(或者如果您将传感器直接焊接到 PCB 上,则监测内部条带的温度和湿度)!
恭喜!现在,您可以通过 Home Assistant 将智能灯条应用于所有自动化功能。之后,如果您想通过语音控制,还可以将 Home Assistant 与 Alexa 或 Google Assistant 连接,一切就绪!











