Sonoff 鱼塘水泵

图片

Sonoff系列产品包含Espressif的ESP芯片,用途广泛,最重要的是你可以自定义它,即所谓的可定制。 这个快速食谱旨在提供一个清晰、简单的操作示例。

这个示例在操作上非常基础。

  • 每小时启动水泵并运行10分钟。
  • 通过Sonoff Basic上的切换按钮手动启动和停止水泵。
  • 使用水位传感器,如果水位过低则停止水泵。

部分较新的Sonoff Basic没有GPIO引脚可用,请先检查你的板子。

这个示例使用的是ESPHome 1.10.1和Home Assistant 0.85.1

假设

由于这里的许多细节都是基于现有的安装和知识,因此假设如下:

  • 你已经安装了相关的环境并且它是功能性的(Home Assistant, ESPHome)。
  • 你需要创建自己的secrets.yaml文件。
  • 你熟练阅读说明并且能够使用搜索引擎。
  • 你会查看这个网站的文档(我们可能在这个示例中遗漏了某些内容)。
  • 这只是一个指南,错误和插座都被排除了。

⚠️ Warning

编程时不要将你的设备连接到电源。 始终小心操作电源

1. 配置

以下是上述基本操作的配置。

## 鱼塘sonoff
## 文件名: fishpond.yaml
# Sonoff Basic
# 按钮切换水泵的开/关
# 浮力传感器停止水泵
# 定时任务每小时运行一次,整点运行10分钟
esphome:
  name: fishpond

esp8266:
  board: esp01_1m

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

# 启用日志记录
logger:

ota:
  platform: esphome

api:

status_led:
  pin: GPIO13

sensor:
  - platform: uptime
    name: "ESP 鱼塘系统运行时间"

  - platform: wifi_signal
    name: "ESP 鱼塘WiFi信号"
    update_interval: 15s

switch:
  ## 重启
  - platform: restart
    name: "ESP 鱼塘重启"

  ## 继电器/水泵
  - platform: gpio
    pin: GPIO12
    name: "ESP 鱼塘水泵"
    id: esp_fishpond_pump

binary_sensor:
  - platform: status
    name: "ESP 鱼塘系统状态"

  ## 按钮 - 切换继电器
  - platform: gpio
    name: "ESP 鱼塘按钮"
    pin:
      number: GPIO0
      inverted: true
    # 用户按下Sonoff按钮时切换水泵
    on_press:
      - switch.toggle: esp_fishpond_pump

  # 板载引脚 - 传感器
  # 当达到阈值时,关闭
  - platform: gpio
    name: "esp_fishpond_gpio14"
    pin:
      number: 14
      mode:
        input: true
        pullup: true
    on_press:
      - switch.turn_off: esp_fishpond_pump

## 使用时间
time:
  - platform: homeassistant
    ## 设置你的时区
    timezone: Africa/Johannesburg
    on_time:
      # 整点开启
      - seconds: 0
        minutes: 0
        hours: '*'
        then:
          - switch.turn_on: esp_fishpond_pump
          # 10分钟后关闭
          - delay: 10min
          - switch.turn_off: esp_fishpond_pump

2. 编程

按照将程序上传到Sonoff Basic的标准方式。

图片

对于USB上传,通常包括:

  • PCB上对USB UART / FTDI上传进行的修改(焊接)。
  • 将相关的USB UART / FTDI上传设备连接到你的电脑和Sonoff。
  • 将Sonoff置于编程模式。
  • 通过USB编译并上传固件使用 esphome <some-yaml-file> run

对于OTA,通常包括:

  • 确保设备已开启。
  • 通过USB编译并上传固件使用 esphome <some-yaml-file> run

这两种选项USB和OTA都是通过运行以下命令完成的:

esphome <some-yaml-file> run

3. 准备和安装

  • 确保电源已关闭。
  • 现在你可以将你的水位传感器接线焊接到PCB上,并安全地将其延伸到你的连接块旁边。
  • 这里将是你在切换按钮上焊接的最远引脚(GPIO14),然后是它旁边的引脚(接地)。
  • 现在你可以轻松地连接和断开你的液体水位传感器。

连接它

  • 连接你的水位传感器。
  • 将你的水泵连接到Sonoff输出。
  • 连接你的输入电气线路。
  • 测试所有连接是否牢固。
  • 你可以通过按下切换按钮来切换水泵的开/关。

一旦水泵开始运行,改变浮力传感器的浮子位置将导致Sonoff停止水泵。

图片

为了方便连接和断开水位传感器,已连接的线缆

图片

这需要浸没,水泵(生物过滤器)和传感器连接在同一个外壳(冰淇淋桶)中。

图片

在这个PVC外壳中,使用橱柜门磁铁固定板子,以便于访问和维护。

  • 确保你使用一个合适且合规的防水盒来存放你的电气设备(Sonoff Basic)。
  • 确保你计划能够轻松地取出设备,以便在未来需要时手动USB重新刷新它。

2.6. Home Assistant

现在你可以通过配置页面和集成选项将你的设备添加到Home Assistant。

参考资料见