前言

前几天在某淘宝优惠中看到一个 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. 如何深度优化MySQL内核

    MYSQL数据库适用场景广泛,相较于Oracle.DB2性价比更高,Web网站.日志系统.数据仓库等场景都有MYSQL用武之地,但是也存在对于事务性支持不太好(MySQL 5.5版本开始默认引擎才是I ...

  2. C语言枚举类型enum-(转)-温故而知新

    在实际编程中,有些数据的取值往往是有限的,只能是非常少量的整数,并且最好为每个值都取一个名字,以方便在后续代码中使用,比如一个星期只有七天,一年只有十二个月,一个班每周有六门课程等. 以每周七天为例, ...

  3. 在IDEA 中用maven创建web项目

    安装Maven 下载安装 去maven官网下载最新版. 解压到安装目录. 配置 右键桌面的计算机图标,属性–>高级系统设置–>环境变量,添加M2_HOME的环境变量,然后将该变量加入的PA ...

  4. 【262】pscp命令 实现windows与linux互传文件

    首先将pscp.exe文件放在某个文件夹中 新建*.bat文件 w-wx.bat代码 @echo off pscp.exe -pw l*****h D:\Windows-Linux\Data\* oc ...

  5. 第四天:servlet的生命周期和一些细节问题

    1.  servlet的生命周期: a)  流程 i.  Web服务器首先会检查是否装载了该servlet的实例对象.如果装载了直接进行第四步. ii.  装载并创建该servlet的实例对象. ii ...

  6. wait命令

    wait命令用来等待指令的指令,直到其执行完毕后返回终端.该指令常用于shell脚本编程中,待指定的指令执行完成后,才会继续执行后面的任务.该指令等待作业时,在作业标识号前必须添加备份号"% ...

  7. CSS中cursor的pointer 与 hand(转)

    CSS中cursor的pointer 与 hand 转载 2015年12月25日 16:18:36 标签: cursorpointer / cursorhand 1781 cursor:hand 与 ...

  8. javascript使用setTimeout、setInterval时找不到变量的问题

    我们在某个作用域内或者在自己定义的一个类里调用setTimeout.setInterval会经常会遇到找不到某个变量的错误. 比如下面这个例子: window.onload = function(){ ...

  9. 1054D&EZOJ #93 Changing Array

    传送门 分析 我们可以对一个数列求前缀和,如果pre[l]=pre[r]则我们可以知道区间[l,r]一定不合法 于是我们就要让不合法的区间尽量少 我们知道对于一个数$x$,他只受x和$(2^k-1)$ ...

  10. beforeFilter()

    在控制器每个动作之前执行,可以方便地检查有效的会话,或者检查用户的权限. function beforeFilter() { parent::beforeFilter(); if(empty($thi ...