将优狐智能插座接入 Domoticz
前言
前几天在某淘宝优惠中看到一个 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的更多相关文章
- 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 ...
- IM推送保障及网络优化详解(二):如何做长连接加推送组合方案
对于移动APP来说,IM功能正变得越来越重要,它能够创建起人与人之间的连接.社交类产品中,用户与用户之间的沟通可以产生出更好的用户粘性. 在复杂的 Android 生态环境下,多种因素都会造成消息推送 ...
- tracert命令详解_tracert结果详解_tracert命令使用详解
17:06:40 正在等待客服售后工程师令狐冲接入,您可以先简单描述所要咨询的问题,如果长时间没有响应,您也可以 重新选择客服 . 17:06:42 您好,客服售后工程师令狐冲为您服务.售后工程师令狐 ...
- 刚体验完RabbitMQ?一文带你SpringBoot+RabbitMQ方式收发消息
人生终将是场单人旅途,孤独之前是迷茫,孤独过后是成长. 楔子 这篇是消息队列RabbitMQ的第二弹. 上一篇的结尾我也预告了本篇的内容:利用RabbitTemplate和注解进行收发消息,还有一个我 ...
- 上手了RabbitMQ?再来看看它的交换机(Exchange)吧
人生终将是场单人旅途,孤独之前是迷茫,孤独过后是成长. 楔子 本篇是消息队列RabbitMQ的第三弹. RabbitMQ的入门和RabbitMQ+SpringBoot的整合可以点此链接进去回顾,今天要 ...
- RabbitMQ高级之如何保证消息可靠性?
人生终将是场单人旅途,孤独之前是迷茫,孤独过后是成长. 楔子 本篇是消息队列RabbitMQ的第四弹. RabbitMQ我已经写了三篇了,基础的收发消息和基础的概念我都已经写了,学任何东西都是这样,先 ...
- RabbitMQ高级之消息限流与延时队列
人生终将是场单人旅途,孤独之前是迷茫,孤独过后是成长. 楔子 本篇是消息队列RabbitMQ的第五弹. 上篇本来打算讲述RabbitMQ的一些高级用法: 如何保证消息的可靠性? 消息队列如何进行限流? ...
- 出售爱奇艺 tx好莱坞 优酷 乐视 芒果 搜狐 等一个月会员激活码
出售爱奇艺 tx好莱坞 优酷 乐视 芒果 搜狐 等一个月会员激活码 进群价格有优惠 QQ群:569333649
- Domoticz 接入苹果的 HomeKit 实现 Siri 控制
前言 接上次的折腾,这次尝试将 Domoticz 接入到苹果的 HomeKit,也就是在 iPhone 的 Siri 中可以语音控制.参考官方文档 步骤 安装 nodejs curl -sL http ...
随机推荐
- 关于android studio中使用class.forname()方法动态获取类实例报NO CLASS FOUND异常的几种处理方法
最近在做一个项目的时候需要用到反射来回调子类的方法,但是在反射过程中总是在class.forname()方法抛出NO CLASS FOUND异常,经过几部检查,问题解决,在此总结一下引起该问题的原因 ...
- node Util 模块
该util模块主要设计用于支持Node.js自己的内部API的需求.但是,许多实用程序对于应用程序和模块开发人员也很有用.它可以通过以下方式访问: const util = require('util ...
- 使用VBSCRIPT安装字体
根据新系统要求,经常要部署一些原来系统里没有的字体,原先我为了图省事经常会要求用户手动安装字体文件,虽然Windows的易用性做得相当不错,但是仍然要照顾一些不会安装字体的人,其实把这些字体打包进安装 ...
- javascript使用setTimeout、setInterval时找不到变量的问题
我们在某个作用域内或者在自己定义的一个类里调用setTimeout.setInterval会经常会遇到找不到某个变量的错误. 比如下面这个例子: window.onload = function(){ ...
- 杭电acm 1015题
马上要找工作了,锻炼下自己的写程序能力,不多说,上代码 /********************杭电acm 1015 已AC 在这个程序里,使用穷举法来实现,但是输出顺序需要安装字典的最大 来输出 ...
- Python程序设计4——控制语句
1 print和import的更多信息 1.1 使用逗号输出 前面已经讲解过如何使用print来打印表达式,可以使用都好来打印多个表达式,只要用逗号隔开即可. >>> print ' ...
- 《Head First Servlets & JSP》-13-过滤器和包装器
过滤器是什么 与servlet非常类似,过滤器就是java组件,请求发送到servlet之前,可以用过滤器截获和处理清求,另外 servlet结束工作之后,在响应发回给客户之前,可以用过滤器处理响应. ...
- iOS逆向编程工具篇:class-dump
class-dump是用来dump目标对象的class信息的工具,利用OC的runtime特性,将存储在Mach-O文件中的@interface.@protocol信息提取出来,并生成对应的.h文件. ...
- sizeof的用法与字节对齐
一.sizeof是什么? sizeof是一种预编译处理,不是函数,不是一元表达式.也即,作用阶段在编译期. 二.功能是什么? sizeof返回变量或类型的字节数. 三.调用方式 sizeof(obje ...
- JS万金油的类型判断方法
Object.prototype.toString.call(data).slice(8, -1).toLowerCase();