斐讯DC1排插OTA更新ESP DC1固件

前情

  1. 斐讯DC1排插无法使用,需要刷写ESPHOME固件,接入Home Assistant。
    具体查看《斐讯DC1排插硬改esp8266刷esphome教程汇总》
  2. 通过OTA的方式更新了固件。
    具体查看《DC1更新固件及OTA中遇到的问题

问题

自从上次更新完固件后,排插就不正常了,首先是无论是否连接成功,WiFi指示灯一直处于闪烁状态;其次是每隔一段时间都会听到斐讯DC1排插自动重启的声音。

一直刷项目主页,等待固件的再次更新,但直到最近一次查看,发现这个项目已经停止维护了,也就是说不会有更新固件来解决这个问题了。

不过还好的是,项目里也标记了另两个可作为替代的项目。

    1. https://github.com/qlwz/esp_dc1
      推荐,功能完善,有WEB后台
    2. https://github.com/IoTDevice/phicomm_dc1
      程序更简洁,可作为学习参考

本篇文章将讲解固件1的更新。

固件准备

首先访问 https://github.com/qlwz/esp_dc1/releases ,下载最新的dc1.bin固件文件。

由于编译、配网等方式的不同,本固件无需二次编译即可使用。

刷写固件

首先确认:目前斐讯DC1排插的固件是否已经刷入了ESPhome:

  1. 如果你之前跟着教程,通过ttl硬改的方式刷入了ESPhome的固件,那么你可以继续阅读本文章。
  2. 如果你的斐讯DC1排插没有硬改过,那么可以直接阅读教程,并把要刷写的固件改为上一步下载的固件。

OTA更新ESP DC1固件

为了方便,我们直接使用之前固件的OTA配置更新新固件。ESPhome的基础环境配置请查看本文开篇提到的两篇文章。

首先查看配置文件(我这里的是dc1_homeassistant_api.yaml)中device_name的值,例如我的是:

device_name: phicomm_dc1_1

那就在配置文件同级目录下创建文件夹:

# /build/device_name的值/.pioenvs/device_name的值
/build/phicomm_dc1_1/.pioenvs/phicomm_dc1_1

这个文件夹其实是通过命令 esphome dc1_homeassistant_api.yaml compile 编译好固件之后,固件的存放地址。

进入该文件夹,将之前下载好的dc1.bin改名为firmware.bin,复制进来。如果你之前有编译过固件,那么需要你替换文件。

回到配置文件目录,在终端中执行OTA更新命令。

# OTA更新固件(xxxxx.yaml为你的配置文件名字)
esphome xxxxx.yaml upload

如果不成功,请检查配置文件中OTA更新地址是否正确,具体步骤请查阅教程

设备配置

OTA成功更新后,设备会进入配网模式,此时WiFi灯闪烁(但也有可能没闪,不过没关系)。

使用电脑或手机,搜索WiFi,查找有无“dc1_”开头的无密码热点,连接好后即可进入设备配置页面。如果长时间搜索不到,可尝试长按排查的总开关键,进入配网模式。

点击“联网”tab,配置WiFi,成功联网后,可使用电脑连接原有WiFi,访问设备地址再次进入配置页面。

其他配置如果不会配,请在本文后留言,我再解答,

斐讯DC1排插OTA更新ESP DC1固件

斐讯DC1排插OTA更新ESP DC1固件

 

《斐讯DC1排插OTA更新ESP DC1固件》上有10条评论

  1. 我原厂机,直接刷的固件,留情蚊子开发的固件,而且我不会编译固件。插排每次只能开1分钟,过一分钟就自动断电,而且修改过的状态灯设置恢复默认值。求修复

    1. 怎么刷的是没影响的,请确认下固件是否刷入成功。
      看你表述,应该是成功刷入后,出的问题。你需要排查:
      1. 成功配网后,在局域网里能否通过ip访问设备。
      2. 配置中关于无连接(WiFi/mqtt)多长时间重启,这个你是不是设置了1分钟。

      如果这两个都没问题,请修改日志设置,查看详情日志。

  2. 请教下, 按照这个topic : module/hostname/prefix, HA 中 的topic改写啥, 能给个你写的配置参考下吗?

    1. 这个不用自己配置,直接从文中截图的那个后台里下载就可以了,在“控制”tab点击“下载HA配置文件”就可以了。

  3. 在下小白,请教一下,我已经刷好了这个固件,也能进入web后台,接下来需要怎么设置才能接入homeassistant?不太了解mqtt的设置,不会接入。
    能不能把详细的步骤,以及设置所使用的参数解释一下,好让我学习一下。谢谢。

    1. mqtt的设置比较基础,且环节较多,建议你自行查询。
      整个流程包含几个关键点:
      1. 安装mqtt,如果你用的是hassos,直接在supervisor里安装就好。
      2. 配置mqtt,按照说明填写好安装mqtt服务器的ip、密码什么的。
      3. 在固件后台“联网”-“mqtt设置”中,填写你mqtt服务器设置的信息(步骤2)。
      4. 在“控制”tab点击“下载HA配置文件”,将文件放到HA配置目录package文件夹下。

  4. 请教一下,我刷的a2633063 的target.bin,请问如何不拆插排升级这个dc1.bin,小白求助,谢谢

  5. 我也是之前看什么值得买的教程刷的a2633063的target.bin,现在想换这个固件试试,能否在不重新拆插座的情况下刷这个?
    试了下按文章中说的用esphome xxxx.yaml upload 会报这个错,把OTA密码改成空也不行。。

    PS C:\esp8266\espdc1> esphome .\dc1_homeassistant_api.yaml upload
    [32mINFO Reading configuration .\dc1_homeassistant_api.yaml…[0m
    [32mINFO Connecting to 192.168.123.101[0m
    [31mERROR Connecting to 192.168.123.101:8266 failed: [WinError 10061] 由于目标计算机积极拒绝,无法连接。[0m
    PS C:\esp8266\espdc1> esphome .\dc1_homeassistant_api.yaml upload
    [32mINFO Reading configuration .\dc1_homeassistant_api.yaml…[0m
    [32mINFO Connecting to 192.168.123.101[0m
    [31mERROR Connecting to 192.168.123.101:8266 failed: [WinError 10061] 由于目标计算机积极拒绝,无法连接。[0m
    PS C:\esp8266\espdc1>

    然后看zDC1的文档说发送这个能OTA升级:
    {
    “mac” : “1234567890ab”,
    “setting”:
    {
    “ota1″:”http://www.uri.com/user1.1024.new.2.bin”,
    “ota2″:”http://www.uri.com/user2.1024.new.2.bin”
    }
    }
    但也还没成功。不知道有啥好办法吗?

    1. 首先先回答第一个问题,如果是基于ESPhome的,大概率可以通过OTA功能互刷。

      至于你的案例为什么不成功,从报错看是无法连接上。大概率是当前固件的OTA没开启或OTA密码有问题。

      文中之所以我能通过OTA升级成别的固件,是因为当前使用的固件是我自己编译的,OTA端口、密码都是我设置的。这是个前提条件。

      建议还是重头开始吧。毕竟zDC1是个连使用都得先激活的垃圾固件,谁知道他留没留什么后门呢。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注