前言

前几天在某淘宝优惠中看到一个 WiFi 智能插座卖 29 块包邮,心想要是里面是 ESP8266 模块说不定可以刷上固件玩玩,就买了俩回来,记下折腾过程。

拆解

WiFi 智能插座的淘宝介绍页

开拆,果然是 ESP8266 模块,具体型号是 ESP-WROOM-02,看起来整个控制包括按键、驱动继电器,LED 等都是由 ESP8266 完成

测出引脚,左右两颗 LED 是蓝灯和红灯

再量出其他用到的引脚

按钮 → GPIO4(D2)
继电器 → GPIO5(D1)
蓝灯 → GPIO0(D3)
红灯 → GPIO14(D5)

刷 ESPEasy 固件和配置

官网下载 release 固件,用串口连接到此板,用镊子将上图中的 GPIO0 短接到地之后上电,然后打开 FlashESP8266.exe,选择固件烧写

烧写成功后重新上电,连接到 ESP_Easy_0 的 WiFi,密码为 configesp,连接成功后浏览器会自动跳转到配置页面,或者手动在浏览器打开 192.168.4.1,在配置页面中重新配置连接到路由器,记下显示的 IP
打开记下的 IP,看到下图

Bingo!接下来是配置一下基础设置,Config 中设置 Unit Name 和 Unit Number,比如设置为 Switch 和 1,然后 Submit
Tools → Advanced 中勾选 Rules,勾选 MQTT usage unit name as ClientId,勾选 Use NTP,NTP Hostname 填 ntp1.aliyun.com,然后下方的 Timezone Offset 填 480,即 60 分钟 * 8,才能对上北京时间

然后让插座连接到树莓派上的MQTT 服务器,Controllers 修改第一项,配置完成后 Submit

EMQ 控制台可看到 Switch_1 已连接

接着让插座原本的功能恢复正常,包括 LED 显示和按键控制继电器
根据上面量出来的 GPIO,在 Hardware 中配置 GPIO 功能

然后在 Devices 中添加按钮触发,Switch Button Type 选 Push Button Active Low,按钮按下时变为低电平才触发,IDX 不能重复,这个是 Domoticz 中区分设备的序号

在 Rules 中添加规则,大概意思是 button 按下时,会修改 Devices 中 Values 的值,0 和 1 为关闭/开启 LED 和继电器

On button#Switch=0 do
  gpio,5,0
  gpio,14,1
endon

On button#Switch=1 do
  gpio,5,1
  gpio,14,0
endon

按动按钮,已经可以控制继电器了,而且开关状态也会同步到 Domoticz

最后

下一篇文章将介绍 Domoticz 中绑定该插座的流程

将优狐智能插座接入 Domoticz的更多相关文章

  1. Opera Browser -- Access Restricted Sites using Free VPN /Free VPN Services List

    Opera Browser  -- Access Restricted Sites using Free VPN: currently the feature is available in Oper ...

  2. IM推送保障及网络优化详解(二):如何做长连接加推送组合方案

    对于移动APP来说,IM功能正变得越来越重要,它能够创建起人与人之间的连接.社交类产品中,用户与用户之间的沟通可以产生出更好的用户粘性. 在复杂的 Android 生态环境下,多种因素都会造成消息推送 ...

  3. tracert命令详解_tracert结果详解_tracert命令使用详解

    17:06:40 正在等待客服售后工程师令狐冲接入,您可以先简单描述所要咨询的问题,如果长时间没有响应,您也可以 重新选择客服 . 17:06:42 您好,客服售后工程师令狐冲为您服务.售后工程师令狐 ...

  4. 刚体验完RabbitMQ?一文带你SpringBoot+RabbitMQ方式收发消息

    人生终将是场单人旅途,孤独之前是迷茫,孤独过后是成长. 楔子 这篇是消息队列RabbitMQ的第二弹. 上一篇的结尾我也预告了本篇的内容:利用RabbitTemplate和注解进行收发消息,还有一个我 ...

  5. 上手了RabbitMQ?再来看看它的交换机(Exchange)吧

    人生终将是场单人旅途,孤独之前是迷茫,孤独过后是成长. 楔子 本篇是消息队列RabbitMQ的第三弹. RabbitMQ的入门和RabbitMQ+SpringBoot的整合可以点此链接进去回顾,今天要 ...

  6. RabbitMQ高级之如何保证消息可靠性?

    人生终将是场单人旅途,孤独之前是迷茫,孤独过后是成长. 楔子 本篇是消息队列RabbitMQ的第四弹. RabbitMQ我已经写了三篇了,基础的收发消息和基础的概念我都已经写了,学任何东西都是这样,先 ...

  7. RabbitMQ高级之消息限流与延时队列

    人生终将是场单人旅途,孤独之前是迷茫,孤独过后是成长. 楔子 本篇是消息队列RabbitMQ的第五弹. 上篇本来打算讲述RabbitMQ的一些高级用法: 如何保证消息的可靠性? 消息队列如何进行限流? ...

  8. 出售爱奇艺 tx好莱坞 优酷 乐视 芒果 搜狐 等一个月会员激活码

    出售爱奇艺 tx好莱坞 优酷 乐视 芒果  搜狐 等一个月会员激活码  进群价格有优惠  QQ群:569333649

  9. Domoticz 接入苹果的 HomeKit 实现 Siri 控制

    前言 接上次的折腾,这次尝试将 Domoticz 接入到苹果的 HomeKit,也就是在 iPhone 的 Siri 中可以语音控制.参考官方文档 步骤 安装 nodejs curl -sL http ...

随机推荐

  1. 清空select标签中option选项的4种不同方式

    转自:https://blog.csdn.net/pt_sm/article/details/53521560 方法一 document.getElementById("selectid&q ...

  2. Git分支和指针

    Git中的分支本质上是个指向commit对象的指针. 在当前commit点创建一个新的分支test git branch test 创建了一个新的可变指针指向f30ab  commit Git 是如何 ...

  3. spring中的class配置不能使用properties中的字符串

    1.比如在a.properties中我们声明了一个变量: classRoom=com.wc82.ClassRoom 2.然后在spring的配置文件中:applicationContext.xml,有 ...

  4. day36-hibernate检索和优化 09-Hibernate中的事务:事务处理

  5. ROS探索总结(一)——ROS简介

    转自古-月 ROS探索总结(一)——ROS简介 一.历史 随着机器人领域的快速发展和复杂化,代码的复用性和模块化的需求原来越强烈,而已有的开源机器人系统又不能很好的适应需求.2010年Willow G ...

  6. C++面向对象类的实例题目五

    题目描述: 编写一个程序,采用一个类求n!,并输出5!的值. 程序代码: #include<iostream> using namespace std; class CFactorial ...

  7. 生产者与消费者-N:N-基于list

    多个生产者/多个消费者: /** * 生产者 */ public class P { private MyStack stack; public P(MyStack stack) { this.sta ...

  8. Gstreamer编程

    一.简介 GStreamer是一个开源的多媒体框架库.利用它,可以构建一系列的媒体处理模块,包括从简单的ogg播放功能到复杂的音频(混音)和视频(非线性编辑)的处理.应用程序可以透明的利用解码和过滤技 ...

  9. Luogu 3233 [HNOI2014]世界树

    BZOJ 3572 首先看出虚树,然后考虑如何$dp$. 我们先在处理出的虚树上$dp$一遍,处理出虚树上所有点距离最近的关键点(关键点一定在虚树上嘛). 具体来说,先搜一遍处理出每一个点的父亲到它的 ...

  10. for与break的用法

    # Auther: Aaron Fan age_of_oldboy = 56 #执行3次循环for i in range(3): guess_age = int(input("猜一下oldb ...