本帖最后由 姚远 于 2020-12-19 11:22 编辑
新更新说明
之前一直使用这个OpenMQTTGateway(简称OMG),将家里的无线开关、门磁等接入homeassistant,还比较正常。最近给父母家配置无线开关和小米温湿度计2,重新配置OMG硬件和刷机固件。这次的变化主要有:
1. 小米温湿度计2需要使用蓝牙网关,增加蓝牙部分。所以选用了ESP32. 20块钱包邮到家,对比8266+蓝牙模块,既稳定又便宜,接线还少了很多
2. 部分OMG增加了DHT温湿度传感器
3. 官方OMG已经升级到0.9.5版本
4. 解决OMG经常没有反应问题
5. 解决传输距离太近的问题。发射可以整体房间一个发射模块就够用了,但是接收模块要一屋一个,太弱了。
具体方案参见#46楼
原方案
背景:为什么我要接入315RF。1、之前使用ESP8266构建了部分终端,但这东西好费电啊,必须接入到某个插座或开关内,而且如果是配置在原开关的位置,还要配一棵零线过来。最重要的是这家伙高能耗啊,总是热热的,是绝对不能使用电池供电的。
2、最致命的是wifi撑不住了。家里虽然人口不多,但接入wifi的设备不少,网络已经明显拥堵,并经常会有设备掉线。而用于智慧家居的wifi设备才接入了6个,还有安防、各房间的温湿度、好多灯没有接入呢。需要为wifi解压。
3、之前有几个灯的开关使用了86型遥控开关+随意贴,虽然使用很方便,但和整体智慧家居形不成一体,需要将它们纳入进来。
4、之前的无线门铃,主从机不稳定,时有时无,而且也没有纳入到整体中来。
5、基本的门磁还没有纳入进来,每个窗户、门,估计要20几个呢,最好还要电池供电。
6、温湿度传感器,应该每个房间都要配置,而且最好不接入ESP8266。8266高能耗,周围都是热热的,影响测温结果。
7、还要接入红外和蓝牙。
好吧,我初步设想,ESP8266还是做单片机+wifi应用吧,把它更多定位在网关环节,或者是节点上需要很多传感器组合的地方
首先要搞清楚我要什么,树莓派+homeassistant+RF网关(ESP8266+RF收发模块)。RF与homeassistant的交互,在网络上有无数的帖子,越看越看不懂,越看越不敢下手,完全懵圈了,整整2个月,才明白我想要什么。我要网关,网关,一个汇集家中所有315、433RF的集中网关,并可对部分终端发送指令的网关,是智慧家居整体控制的一个hub。理论上,RF网关有一个就够了,其他遥控器是“随手而控”的一个组成。
技术路线选择,ESP8266+Arduino,315或433超再生收发模块,RF网关支持学习编码。
开始:组装RF网关,耗时3天,中途差点放弃,很多坑。首先需要感谢前辈们的教程和提供的免费应用。
受到刺激与鼓舞的前辈:https://bbs.hassbian.com/thread-6132-1-1.html
Arduino教程:https://www.geek-workshop.com/thread-2719-1-1.html
RF网关教程:https://bbs.hassbian.com/thread-894-1-1.html
RF网关项目:https://docs.openmqttgateway.com/
选择的版本是,OpenMQTTGateway v0.9.2,主程序是CODE-OpenMQTTGateway-V092.zip,库文件是ESP8266_OpenMQTTGateway_V092_RF.zip
小度接入homeassistant项目:https://ljr.im/articles/plugin-smart-speaker-connected-to-home-assistant-integration-plus/。之前已经接入homeassistant,之所以再次感谢,我觉得智慧音箱是智慧家居的最重要控制入口,简洁、方便,并且越来越成熟。我现在是每个房间一个小度play音箱,几十块钱解决的却是核心的用户体验。
现在的半成品,看起来非常简单的,成本不高,也不需要多么强的动手能力。本质上就是一个ESP8266+RF收发模块,没有其他的了
过程,就是https://bbs.hassbian.com/thread-894-1-1.html这个教程,一步一步做下来就好了。基本步骤是,
1、ESP-01刷机-基本系统,
电脑端安装Arduino IDE,参照前面列出的教程
Arduino IDE中增加8266开发版
ESP8266刷Arduino系统,可参照前面我列出的教程
2、ESP-01刷机-RF网关,
下载OpenMQTTGateway,参考前面的教程和连接,或是直接参考https://docs.openmqttgateway.com/upload/arduino-ide.html
下载RF库文件,解压缩,并放在Arduino IDE默认库文件夹位置
打开电脑端Arduino IDE,并加载OpenMQTTGateway主文件,main.ino
修改user_config.h,启用RF,并配置wifi和mqtt
修改config_RF.h,配置mqtt主题
连接ESP-01,刷机。Arduino IDE“上传”
3、测试,
找一个315的遥控器,按遥控器按钮,应该在MQTT的监视窗口看见遥控器发出的RF编码
ESP-01刷机成功。
遇到的几个坑,
1、刷应用的过程中,找不到相关的库:之前完全没有使用过Arduino,没有下载RF库文件
2、测试的时候,完全没有反应,不知道问题出在哪里:其实要实现RF网关功能,逻辑上分为两部分,即Arduion和8266wifi。测试的时候,ESP-01放置在面包板上,脱离了串口,在电脑Arduino IDE窗口看不到任何情况,不知道是Arduino出问题了,还是8266wifi出问题了。动手改装8266的串口烧录器,引出RF315接收模块所需要的三棵线,然后在USB上直接测试
结果一看,wifi,mqtt配置都有问题。在user_config.h修改,重新刷机
3、Ardino IDE串口窗口观察正常了,但mqtt监视页面还是没有反应。原来接收模块是433的,换成与遥控器匹配的315
4、距离太短,剪一棵25cm的电线,焊在315模块的外接天线位置,立即解决
5、发射模块调试的时候,一切正常,就是我家里的遥控灯没反应。homeassistant的configuration.yaml中mqtt主题配置不对,重新配置。正确主题在Arduino下,config_RF.h库中的字段,拷贝过来就行了
6、还不行,原先编码是带“”的字符,改为数字,通过
将全家86型遥控开关接入homeassistant:
全家已经配置了86型遥控开关,并都已经配有随意贴遥控器,可实现主开关点动开灯或者关灯,以及随意贴点动开灯或是关灯。希望这些遥控开关,通过rf网关接入HA,实现自动控制。 前提,86型遥控开关是315或433无线模式,并且主开关需要具备学习遥控编码能力,以及主开关可以配置某个随意贴点动开/关灯、只是开灯、只是关灯的能力。 自定义每个灯的开关灯RF编码,并与每个灯的主控开关配对。需要配置成“开灯码”只开灯,“关灯码”只关灯。
homeassistant的configuration.yaml的配置:(如果是OMG0.9.5版,此处配置有变。请参看#45楼)
switch:
- platform: mqtt
name: "主卧开关灯"
state_topic: "home/OpenMQTTGateway/433toMQTT" # defined by subjectGTWRFtoMQTT in User_config.h
command_topic: "home/OpenMQTTGateway/commands/MQTTto433_1" #发射的命令,如果没有反馈请更换后面的数字
payload_on: 123456 #自己编制,并已经与遥控接收端匹配的开灯码
payload_off: 654321 #自己编制,并已经与遥控接收端匹配的开灯码
optimistic: false
retain: true
- platform: mqtt
name: "次卧开关灯"
state_topic: "home/OpenMQTTGateway/433toMQTT" # defined by subjectGTWRFtoMQTT in User_config.h
command_topic: "home/OpenMQTTGateway/commands/MQTTto433_1" #发射的命令,如果没有反馈请更换后面的数字
payload_on: 2654321 #自己编制,并已经与遥控接收端匹配的开灯码
payload_off: 2123456 #自己编制,并已经与遥控接收端匹配的开灯码
optimistic: false
retain: true
homeassistant主页面这个样子
配置小度音箱:havcs.yaml
switch.zhu_wo_kai_guan_deng:
havce_device_name: 主卧灯
switch.ci_wo_kai_guan_deng:
havce_device_name: 次卧灯
将配置带入homeassistant
小度自动发现设备 小度中将新设备配置到位置:“主卧室”、“次卧室” 在主卧室呼唤小度音箱,小度小度开灯 在次卧室呼唤小度音箱,小度小度开灯
尚未解决的问题
问题: 1、这个发射模块总是装死。隔一段时间没有发射命令,homeassistant中发布开关灯命令,mqtt也是发出去了,但是灯没有反应。不知道是不是315发射模块有问题。 2、面包板上的电源部分和8266部分好热啊,这是怎么回事啊 3、最严重的问题,这家庭的315(或是433)通信在裸奔啊,不知道哪天门口一个坏人就把我家的灯打开了,我的门磁系统可以被假冒啊。如果不使用滚码加密,哪位大神有什么加密措施吗?
下一步,买一堆的无线门磁
|