『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 41032|回复: 70

[进阶教程] ESP8266 替代遥控器并接入到ha里面之433OR315方案

  [复制链接]

8

主题

270

帖子

1337

积分

金牌会员

Rank: 6Rank: 6

积分
1337
金钱
1067
HASS币
0
发表于 2017-8-16 10:54:19 | 显示全部楼层 |阅读模式
本帖最后由 671792320 于 2018-12-14 18:28 编辑

提示提示提示:由于本方案的github上的代码更新的已经很多,但是楼主没有更新。所以本教材只能作为参考
提示提示提示:由于本方案的github上的代码更新的已经很多,但是楼主没有更新。所以本教材只能作为参考
提示提示提示:由于本方案的github上的代码更新的已经很多,但是楼主没有更新。所以本教材只能作为参考
提示提示提示:由于本方案的github上的代码更新的已经很多,但是楼主没有更新。所以本教材只能作为参考


首先是项目地址



其他的自行查看

然后是项目简介,我谷歌翻译的哈
ESP8266 替代遥控器并接入到ha里面之红外方案(可以学习空调)https://bbs.hassbian.com/thread-1124-1-1.html
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
OpenMQTTGateway作为您的433MHz /红外信号与MQTT代理之间的WIFI或以太网网关。它兼容:Arduino板+ W5100
ESP8266:NodeMCU V1.0 NodeMCU V2.0,NodeMCU V3.0,ESP8266 12F和Wemos D1。
它能够:
  • 发送对应于接收的MQTT数据(MQTT-> RF)的RF信号
  • 发布与收到的433Mhz信号相关的MQTT数据(RF - > MQTT)
  • 发送对应于接收到的MQTT数据的IR信号(MQTT-> IR)
  • 发布与收到的IR信号相关的MQTT数据(IR - > MQTT)
  • 发布与BLE信标相关的MQTT数据(BT - > MQTT)
如果您喜欢,您可以直接向网关添加额外的传感器!
功能:
  • 双向,网关可以发送和接收信号,例如,如果您有RF墙壁插头,您可以使用家庭自动化软件(MQTT - > RF)或物理遥控器进行控制。当您按物理遥控器上的按钮时,墙壁插头将打开,家庭自动化软件(RF - > MQTT)中的按钮将被更新。
  • 信号重复删除,与RF的RF我们得到很多重复,为了避免这个网关能够过滤发送到MQTT代理的代码数量在一个定义的时间“time_avoid_duplicate”
  • BLE信标检测,网关通过HM 10模块发布信标,并发布每个模块地址的信号强度。通过这种方式,您可以轻松地处理人,事物或其他人的存在检测。
  • 插件的可能性,您可以直接添加到您所需的传感器网关,只需创建一个新的Z .ino文件到您的代码的网关文件夹,并在client.loop()之后调用它; 进入OpenMQTTGateway.ino。该程序提供了一个DHT传感器插件实现(ZaddonDHT.ino)
  • 高级信号详细信息发布,以便了解MQTT发布的网关收到的详细信息,主题为RF和主机IRTMQTT高级IR接收信号的详细信息(此信号必须与RCSwitch和IRRemote库兼容) 。
  • 确认,为了确保网关从MQTT接收到有效载荷,它向用户定义的主题发送确认,用于RF的“subjectGTWRFtoMQTT”或用于IR的“subjectGTWIRtoMQTT”,可以将交换机或其他组件的状态更新到家庭自动化。
  • 多板兼容性,网关目前已经使用ESP8266 12F,NodeMCU V1,NodeMCU V2,Wemos D1 mini,Arduino Uno和Arduino Mega进行测试。
  • 多协议处理,网关基于RCSwitch和IRRemote库,您可以通过在主题内指定要使用的协议来定义协议。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~首先下载arduino IDE 链接如下
https://www.arduino.cc/en/Main/Software
下载添加esp8266支持
添加开发板esp8266.png
链接在这里(可能需要fq)http://arduino.esp8266.com/stable/package_esp8266com_index.json
然后选择工具-开发板-开发板管理。拉到最下面即可看到esp8266
开发板管理.png
点击安装即可。
ps如果下载失败可以通过迅雷下载,然后将文件丢到这个目录
目录.png
然后在点击安装即可安装完成。
然后就是选择开发板,端口,型号即可。
在编译这个项目的时候需要下载库文件,然后添加到arduino里面
由于手动添加比较麻烦可以在这里修改库的位置,然后下载好的直接丢里面即可。
然后用arduino打开下载到的源码的OpenMQTTGateway.ino文件,
然后手动修改User_config.h里面的mqtt和wifi配置如图所示。
配置链接信息.png
修改完毕后保存,点击上传然后就会开始编译。完成后可以通过串口监控看到当前板子的启动状态。
启动成功.png
到达这里后,ubuntun server 按照mqtt服务器,
在ubuntu的无坑版本中需要屏蔽
allow_anonymous false删除这一句,然后启动mqtt服务器即可ps:此处感谢群内也在研究这个项目的网友“哦哦哦”指明
~~~~~~~~~~~~~~~~~~~~~
#在上面文件里加入:
=====================================
allow_anonymous false
password_file /etc/mosquitto/pwfile
=====================================
~~~~~~~~~~~~~~~~~~~~~·
然后虚拟机输入命令来接受433信号或者315或者红外信号。当然我是433设备所以用的是433测试的
sudo mosquitto_sub -t home/# -v

输入这个命令按下遥控器如果不出意外的话,就可以看到接受到的信号了。
关于发射信号,教程内给到命令是
mosquitto_pub -t home/commands/MQTTto433 -m 1315156

但是我这样测试后发现并没有反馈
然后有发现这么一段话
Example: mosquitto_pub -t home/commands/PLSL_315/433_4/BITS_25 -m 33151562 will make RCswitch use the protocol 4 with a pulselength of 315ms and a bits number of 25
RF supported protocols:
  • 433_1
  • 433_2
  • 433_3
  • 433_4
  • 433_5
  • 433_6
If you don’t want to use special parameters for RF just publish your data into “home/commands/MQTTto433”
经翻译。。加实践发现这个
mosquitto_pub -t home/commands/MQTTto433_2 -m xxxxxxxxx然后恍然大悟啊,上面有写的433_1-6
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
以上esp8266的学习和发射就完成了。然后就说接入HA里面。配置如下

switch:
  - platform: mqtt
    name: "on"
    state_topic: "home/433toMQTT" # defined by subjectGTWRFtoMQTT in User_config.h
    command_topic: "home/commands/MQTTto433_2"#发射的命令,如果没有反馈请更换后面的数字
    payload_on: "16200881"#学习到的代码
    payload_off: ""
    optimistic: false
    retain: true
  - platform: mqtt
    name: "off"
    state_topic: "home/433toMQTT" # defined by subjectGTWRFtoMQTT in User_config.h
    command_topic: "home/commands/MQTTto433_2"
    payload_on: "16200884"
    payload_off: ""
    optimistic: false
    retain: true
  - platform: mqtt
    name: "lock"
    state_topic: "home/433toMQTT" # defined by subjectGTWRFtoMQTT in User_config.h
    command_topic: "home/commands/MQTTto433_2"
    payload_on: "16200888"
    payload_off: "16200882"
    optimistic: false
    retain: true
mqtt:
  broker: 192.168.123.26#你的mqtt服务器地址
  username: mqtt#你的用户名
  password: mqtt#你的密码

完成后重启即可看到。剩下的大家共同研究!



评分

参与人数 1金钱 +6 收起 理由
+ 6 再写详细点,去除点没用的信息~.

查看全部评分

回复

使用道具 举报

123

主题

4661

帖子

1万

积分

管理员

囧死

Rank: 9Rank: 9Rank: 9

积分
16410
金钱
11664
HASS币
45
发表于 2017-8-16 11:08:10 | 显示全部楼层
非常好,然后呢
回复

使用道具 举报

8

主题

270

帖子

1337

积分

金牌会员

Rank: 6Rank: 6

积分
1337
金钱
1067
HASS币
0
 楼主| 发表于 2017-8-16 11:13:30 | 显示全部楼层
Jones 发表于 2017-8-16 11:08
非常好,然后呢

然后不知道应该如何搞咯,求搭救咯
回复

使用道具 举报

123

主题

4661

帖子

1万

积分

管理员

囧死

Rank: 9Rank: 9Rank: 9

积分
16410
金钱
11664
HASS币
45
发表于 2017-8-16 11:14:32 | 显示全部楼层
671792320 发表于 2017-8-16 11:13
然后不知道应该如何搞咯,求搭救咯

有空研究下,论坛其他大神,也来研究下~
回复

使用道具 举报

8

主题

270

帖子

1337

积分

金牌会员

Rank: 6Rank: 6

积分
1337
金钱
1067
HASS币
0
 楼主| 发表于 2017-8-16 11:25:50 | 显示全部楼层
Jones 发表于 2017-8-16 11:14
有空研究下,论坛其他大神,也来研究下~

我看项目还是不错的。就研究咯。昨天刚刚入坑!

评分

参与人数 1金钱 +6 收起 理由
+ 6 加油!

查看全部评分

回复

使用道具 举报

4

主题

266

帖子

2527

积分

金牌会员

Rank: 6Rank: 6

积分
2527
金钱
2261
HASS币
0
发表于 2017-8-16 13:52:58 | 显示全部楼层
这貌似是说要在nodemcu上扩展其他感应器的节奏啊。这个可以有,不过还要真的替代博联的那玩意儿,可能还有很长的路要走
回复

使用道具 举报

8

主题

270

帖子

1337

积分

金牌会员

Rank: 6Rank: 6

积分
1337
金钱
1067
HASS币
0
 楼主| 发表于 2017-8-16 20:01:08 | 显示全部楼层
crazymouse 发表于 2017-8-16 13:52
这貌似是说要在nodemcu上扩展其他感应器的节奏啊。这个可以有,不过还要真的替代博联的那玩意儿,可能还有 ...

最新进展,另外一位网友已经可以成功的学习到红外信号了。但是还有一些不兼容。以后遥控器都节省了。
回复

使用道具 举报

10

主题

270

帖子

2261

积分

超级版主

Rank: 8Rank: 8

积分
2261
金钱
1971
HASS币
61

教程狂人

QQ
发表于 2017-8-16 20:47:11 | 显示全部楼层
我觉得我可以能做出:发送对应于接收到的MQTT数据的IR信号(MQTT-> IR),我现在是能够利用sonoff发射有效红外信号,MQTT传输信息本来想用老高的固件做修改的。但是编译还有问题,说什么缺少库。老高的固件,和我的固件单独编译都没问题。两个融合我还有困难
回复

使用道具 举报

8

主题

270

帖子

1337

积分

金牌会员

Rank: 6Rank: 6

积分
1337
金钱
1067
HASS币
0
 楼主| 发表于 2017-8-16 22:06:55 | 显示全部楼层
893399065 发表于 2017-8-16 20:47
我觉得我可以能做出:发送对应于接收到的MQTT数据的IR信号(MQTT-> IR),我现在是能够利用sonoff发射有效 ...

今天已经搞定了。我自己编译的固件。然后接入mqtt,学习然后发送,已经达成。
回复

使用道具 举报

3

主题

286

帖子

2666

积分

版主

懵懂的小白

Rank: 7Rank: 7Rank: 7

积分
2666
金钱
2380
HASS币
0
发表于 2017-8-16 22:22:27 来自手机 | 显示全部楼层
支持一下,来学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-25 21:45 , Processed in 0.121104 second(s), 37 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表