跳到主要内容

宿舍灯的智能化改造方案

前言

鉴于每天晚上各室友都对宿舍关灯的体验不是太好,尤其是在冬天,下床去关灯实在是痛苦。所以,在多方考虑下,准备开始改造宿舍的灯控电路,让宿舍开始智能化。

【文章仍在更新中,尚未完成】

硬件方面

摘要

在硬件方面,采用了esp32的MCU,其实esp8266也完全够用。只是因为刚好手里有块esp32,就顺手拿来用了,感觉有点浪费esp32上面这么多的IO,还顺手去买了一个DTH11用来监测温度和一个PIR人体传感器模块用来做自动化。秉承着不要浪费IO的原则,后续还计划安装一个互感器来监测电流情况。可以实时查看寝室的用电情况。感觉离全寝室智能化又近了一步。

前置准备

  1. esp8266或esp32 开发版
  2. 一台NAS或者其他可以运行home assistant的设备
  3. 宿舍有Wi-Fi连接(可以购买破解路由器或者自己破解)
  4. 亿点点导线(注意220V电路用的导线不能太细!)
  5. 2路继电器
  6. 两个一大一小的电阻(这里采用的是4K和47.8K的电阻)
  7. (可选)其他你想接入的传感器

开始

首先,为了尽最大可能保留原来电路的功能不被改变,需要将开关接入到单片机。让实体开关的开启和关闭产生高低电平信号,从而对单片机进行控制。所以需要首先搭建如下的电路。

搭建好了之后,将搭建好的电路接上单片机。然后连接继电器的IO引脚,以及其他继电器。记好每个设备所对应的IO接口,后续可以在软件中定义这些接口。最后连接好的成品应该是这个样子

然后拆开宿舍的开关面板,修改电路。

软件方面

概述

软件方面主要采用了esphome + homeassistant 的方案。这种方案胜在开源,稳定,简单。不用自己重复造轮子。

安装python环境

python环境的安装比较简单。但更建议的是使用python虚拟环境。最大的问题就是python不同的包之间会互相冲突。为了避免这种情况,我这里安装aconda用于管理虚拟环境。其他的虚拟环境也可使用。去官网下载安装好aconda后,在NAS上执行

conda create -n esphome python=3.7
conda create -n homeassistant python=3.8
conda activate esphome
pip install esphome
conda deactivate
conda activate homeassistant
pip install homeassistant
conda deactivate

安装并配置好环境。然后分别运行两个包

conda activate esphome
esphome dashbaord ~/esphome
conda activate homeassistant
hass -v

然后就可以访问http://{你的服务器IP}:6052打开esphome页面了。打开后根据提示选择你的芯片,并创建一个配置文件。

配置esphome

创建好后,在配置文件中添加如下的设备配置

switch:
- platform: gpio
name: "Light_1"
id: light_1
pin:
number: {继电器1接的IO口}
inverted: false
# 根据你继电器的控制方式确定是否反转信号
restore_mode: ALWAYS_OFF

- platform: gpio
id: light_2
name: "Light_2"
pin: {继电器2接的IO口}
restore_mode: ALWAYS_OFF
sensor:
- platform: gpio
pin:
number: {开关1接的IO口}
inverted: false
filters:
- delayed_on: 100ms
- delayed_off: 100ms
name: "Switch1"
on_press:
- switch.toggle: light_1
on_release:
- switch.toggle: light_1
- platform: gpio
pin:
number: {开关2接的IO口}
inverted: false
filters:
- delayed_on: 100ms
- delayed_off: 100ms
on_press:
- switch.toggle: light_2
on_release:
- switch.toggle: light_2
name: "Switch2"
- platform: gpio
pin:
number: GPIO13
filters:
- delayed_on: 10ms
- delayed_off: 10ms

具体的配置方法可以在esphome.io 网站上面查看。

宿舍灯的智能化改造方案 01.png

配置homeassistant

访问http://{服务器IP}:8123,打开homeassistant,简单初始化后,你应该会进入到homeassistant的配置界面。

宿舍灯的智能化改造方案 02.png

在配置-设备和集成里,点击添加-esphome,等待自动发现后点添加,就大功告成了。后续就可以访问home assistant的地址来控制设备了。更多进阶的玩法可以去homeassistant的官网查看。

成品图

xg08EQ.png

成品图2.JPG