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

 找回密码
 立即注册
楼主: 姚远

[经验分享] 315RF网关接入homeassistant和小度音箱

[复制链接]

0

主题

5

帖子

296

积分

中级会员

Rank: 3Rank: 3

积分
296
金钱
291
HASS币
0
发表于 2020-8-4 23:34:20 | 显示全部楼层
请楼主分享一下接线啊,文档里的不是EPS1.

另外超再生的接受模块电压是5V吗,有两个data PIN如何接线,多谢!
回复

使用道具 举报

19

主题

269

帖子

1888

积分

金牌会员

Rank: 6Rank: 6

积分
1888
金钱
1619
HASS币
50
 楼主| 发表于 2020-8-5 13:50:30 | 显示全部楼层
xzgs 发表于 2020-8-4 23:34
请楼主分享一下接线啊,文档里的不是EPS1.

另外超再生的接受模块电压是5V吗,有两个data PIN如何接线,多 ...

本质上,只要和原项目中的GPIO号对上就OK的。 OpenMQTTgateway_ESP01_RF_bb.jpg
回复

使用道具 举报

0

主题

5

帖子

296

积分

中级会员

Rank: 3Rank: 3

积分
296
金钱
291
HASS币
0
发表于 2020-8-5 14:02:13 | 显示全部楼层
姚远 发表于 2020-8-5 13:50
本质上,只要和原项目中的GPIO号对上就OK的。

赞赞赞赞赞赞赞赞赞
回复

使用道具 举报

11

主题

64

帖子

657

积分

高级会员

Rank: 4

积分
657
金钱
593
HASS币
0
发表于 2020-11-16 11:08:09 | 显示全部楼层
MARK备用,好像可以解决我的问题
回复

使用道具 举报

19

主题

269

帖子

1888

积分

金牌会员

Rank: 6Rank: 6

积分
1888
金钱
1619
HASS币
50
 楼主| 发表于 2020-12-4 13:10:09 | 显示全部楼层
本帖最后由 姚远 于 2020-12-4 13:13 编辑

最近要配置一个ESP32板子,使用了OMG最新版0.9.5,发现只能接收不能发送。后来发现自从0.9.3版开始就有这个问题了。后来经过开发作者的指导,终于解决了。问题是由于现在的RF发射的payload,由原来的数字(比如 123456),修改为 {"value":123456}
相应的homeassistant的配置也改为了:
switch:
  - platform: mqtt
    name: "警铃"
    state_topic: "home/OpenMQTTGateway/commands/MQTTto433" # defined by subjectGTWRFtoMQTT in User_config.h
    command_topic: "home/OpenMQTTGateway/commands/MQTTto433_1" #发射的命令,如果没有反馈请更换后面的数字
    payload_on: '{"value":123456}'   #自己编制,并已经与遥控接收端匹配的开灯码
    qos: "0"
    retain: true


如果你使用OMG0.9.3及其之后的版本,请予以注意
回复

使用道具 举报

19

主题

269

帖子

1888

积分

金牌会员

Rank: 6Rank: 6

积分
1888
金钱
1619
HASS币
50
 楼主| 发表于 2020-12-19 13:22:53 | 显示全部楼层
本帖最后由 姚远 于 2020-12-19 13:30 编辑

新更新说明
之前一直使用这个OpenMQTTGateway(简称OMG),将家里的无线开关、门磁等接入homeassistant,还比较正常。最近给父母家配置无线开关和小米温湿度计2,重新配置OMG硬件和刷机固件。这次的变化主要有:
1. 小米温湿度计2需要使用蓝牙网关,增加蓝牙部分。所以选用了ESP32. 20块钱包邮到家,对比8266+蓝牙模块,既稳定又便宜,接线还少了很多
2. 部分OMG增加了DHT温湿度传感器
3. 官方OMG已经升级到0.9.5版本
4. 解决OMG经常没有反应问题
5. 解决传输距离太近的问题。发射可以整体房间一个发射模块就够用了,但是接收模块要一屋一个,太弱了。
硬件配置
1. ESP32 DEVKIT DOIT,30引脚。该模块包括了蓝牙。强烈提醒,最好不使用ESP01,经常假死机
2. RF433发射和接收模块:我给三个地方做了三套。略有不同
    一个OMG使用了CC1101,不推荐,有点复杂也有点贵。但是很紧凑
    两个使用了 H5V3M/H5V4D 接收模块,强烈推荐,接收距离非常远。要注意按照自己的相关开关或门磁,选对频率,是433还是315。发射模块无所谓,基本够用
3. DHT11,很便宜的模块,精度还是可以的


ESP32引脚图
20200530152111504.png

CC1101引脚图
O1CN01Pba8Gc1LyaQDAKNwO_!!2208224071368.jpg


H5V4D(433)引脚图
image-20201219113958022.png
硬件接线
请参考官方接线图:https://docs.openmqttgateway.com/setitup/rf.html#compatible-parts


刷机
刷机工具:二选一
  Arduino IDE :如果使用ESP01,则只能使用它来刷机。注意:需要下载对应的库文件。库文件不对时,刷机过程不一定报错,但后续使用排错很麻烦
  或 VSC PlatformIO ,推荐使用。如果加入了DHT温湿度传感器,最好使用 PlatformIO 刷机,Arduino IDE可能刷不过去。不需要下载库文件,刷机过程中会自动去匹配、下载、安装库文件。但是,对于我这样的小白,安装、配置和使用VSC PlatformIO有点小麻烦
下载刷机固件:https://github.com/1technophile/OpenMQTTGateway/releases
  1. 下载、解压缩刷机固件: Source code.zip 文件
2. 下载、解压缩库文件:如果使用VSC PlatformIO 刷机,则不需要此下载
        蓝牙相关的库:esp32dev-ble-libraries.zip
        RF相关的库:esp32dev-rf-libraries.zip
使用VSC PlatformIO工具刷机的方法
VSC 安装 PlatformIO IDE

使用PlatformIO IDE
1. 打开项目
在VSC PlatformIO中打开项目。
image-20201219124211888.png


2. 打开 platformio.ino 文件
image-20201219124555007.png


配置功能

官方配置说明:https://docs.openmqttgateway.com/upload/pio.html
1. 创建一个自定义的环境
image-20201219124951803.png


2. 配置环境
[env:esp32dev-ble-rf]
platform = ${com.esp32_platform}
board = esp32dev
board_build.partitions = min_spiffs.csv
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.rc-switch}
  ${libraries.ble}
  ${libraries.dht}
  ${libraries.unifiedsensor}
build_flags =
  ${com-esp.build_flags}
  '-DZgatewayRF="RF"'
  '-DZgatewayBT="BT"'
  '-DLED_RECEIVE=2'
  '-DLED_RECEIVE_ON=0'
  '-DZsensorDHT="DHT"'
  '-DGateway_Name="OpenMQTTGateway_ESP32_RF"'
image-20201219125940176.png

3. 配置User_config.h
image-20201210094048539.png


PlatformIO IDE 编译、上传、端口监控
image-20201219130519127.png

启用OMG
参考官方说明:https://docs.openmqttgateway.com ... witch-based-gateway
联机:wifi查找到名称为 “OpenMQTTGateway_ESP32_RF” 的网络,并连接。wifi密码是 your_password
配置wifi  mqtt


可在端口监控中看到整个过程,以及RF收发过程,和蓝牙接收数据,以及接收到的DHT11数据


homeassistant配置
参见官网配置示例:https://github.com/1technophile/ ... sistant.md#switches


效果
1. 小米温湿度计2,以及各蓝牙设备,顺利接入
2. DHT温湿度传感器,顺利接入
3. 启用官方0.9.5版本。之前只是使用到 0.9.3rc 版本,是因为发射时的内容改变,造成OMG无法发送。后来官方给出了正确方法,随即可以使用。https://community.openmqttgatewa ... -rf-fs1000a/1304/11
4. 解决OMG经常没有反应问题:是因为ESP01问题。我将ESP01 和 ESP32,都刷了0.9.5版,收发模块也都一样的情况下发现,ESP01配置的OMG对RF信号经常没有反应。而ESP32反应迅速,几乎没有丢失。所以,我全面弃用了ESP01
5. 解决传输距离太近的问题:使用CC1101,或是H5V4D,距离提升非常非常明显,100平米,一个网关就可以完全覆盖了

希望可以能给RF控制家电的朋友们提供到参考

回复

使用道具 举报

8

主题

382

帖子

1779

积分

金牌会员

Rank: 6Rank: 6

积分
1779
金钱
1397
HASS币
0
发表于 2021-3-25 20:44:54 | 显示全部楼层
本帖最后由 peter5858 于 2021-3-26 10:34 编辑
姚远 发表于 2020-12-19 13:22
新更新说明
之前一直使用这个OpenMQTTGateway(简称OMG),将家里的无线开关、门磁等接入homeassistant,还 ...

你好!!请问下,在用户配置里WIFI和MQTT配置这些,可以不配置吗?等刷好固件联网后在配置,可以吗?还有就是怎么手动在PlatformIO IDE,里添加库,我在OpenMQTTGateway网站已下载了全部库文件,如果
可以手动添加就比PlatformIO快多了;还有就是,用源文件编译老报错

{        "resource": "/F:/PlatformIO/095/OpenMQTTGateway-0.9.5_1/OpenMQTTGateway-0.9.5/main/User_config.h",
        "owner": "C/C++",
        "code": "1696",
        "severity": 8,
        "message": "检测到 #include 错误。请更新 includePath。已为此翻译单元(F:\\PLATFORMIO\\095\\OPENMQTTGATEWAY-0.9.5_1\\OPENMQTTGATEWAY-0.9.5\\MAIN\\MAIN.INO.CPP)禁用波形曲线。",
        "source": "C/C++",
        "startLineNumber": 2,
        "startColumn": 1,
        "endLineNumber": 2,
        "endColumn": 72

}
不知道是不是库没安装好,还是怎么起的。
已搭了梯子的======================================
假如我直接下载esp32的相应固件是不是直接写入到板上在配网,这样断电后配置好像又回到原来的状态下了。這个该怎么解决呢?谢谢!!




回复

使用道具 举报

19

主题

269

帖子

1888

积分

金牌会员

Rank: 6Rank: 6

积分
1888
金钱
1619
HASS币
50
 楼主| 发表于 2021-4-1 23:01:44 | 显示全部楼层
peter5858 发表于 2021-3-25 20:44
你好!!请问下,在用户配置里WIFI和MQTT配置这些,可以不配置吗?等刷好固件联网后在配置,可以吗?还有 ...

PlatformIO IDE几点说明啊,
1 这个不适用于ESP-01。我是都改用了ESP-32
2 不需要下载所有的库。PlatformIO IDE会根据它的ino文件中的配置自己去找相关的库,即使你下载了库,它也不会用,还是自己去找。我的经验是让它自己去找,因为有些库是改动过的,它自己找更准确
3 使用PlatformIO IDE,一般配置ino文件就可以了,其他不用去管它。这里特别要注意的是,要自己配置一段配置。就是“配置功能”部分的1、2部分。这个需要配置正确了。我没有使用缺省的配置,而是照猫画虎,自己新增了两个配置,然后把原先一些默认配置的对应内容抄了过来。
4 “配置功能”中的3 配置User_config.h,最好也配置了
5 wifi和mqtt都不需要配置,第一次启动的时候,找到对应的wifi,会强制打开浏览器192.168.4.1,在这个页面中配置就可以了。
6 你这个问题我没碰到过。但之前使用PlatformIO IDE出现各种莫名其妙的错误,直到我摸索出这个方法。这个方法还是很顺的,我已经刷了6块ESP-32了,非常顺
回复

使用道具 举报

8

主题

382

帖子

1779

积分

金牌会员

Rank: 6Rank: 6

积分
1779
金钱
1397
HASS币
0
发表于 2021-4-2 16:50:32 | 显示全部楼层
本帖最后由 peter5858 于 2021-4-2 17:41 编辑
姚远 发表于 2021-4-1 23:01
PlatformIO IDE几点说明啊,
1 这个不适用于ESP-01。我是都改用了ESP-32
2 不需要下载所有的库。Platform ...

谢谢,一直跟着你的经验在搞,目前还是用的esp01做的网关,因为我只有几个控制点,关于PlatformIO IDE还没熟悉,编译的配置也是按照你上面图片的配置的,始终没成功,唯一成功了的就是几年前有位老大的3位开关带315-433RF那个编译成功了,我的那个visual感觉始终都在重复的下载东西样,还没搞懂,
回复

使用道具 举报

19

主题

269

帖子

1888

积分

金牌会员

Rank: 6Rank: 6

积分
1888
金钱
1619
HASS币
50
 楼主| 发表于 2021-4-3 15:58:13 | 显示全部楼层
peter5858 发表于 2021-4-2 16:50
谢谢,一直跟着你的经验在搞,目前还是用的esp01做的网关,因为我只有几个控制点,关于PlatformIO IDE还没 ...

ESP01啊?那不能用PlatformIO,只能用Arduino 。如果使用这个,那就需要把库下载了。
所需库和版本,在platformio.ini文件里都列示出来了。你需要把Arduino库中已有的库去掉,然后将设置首选项中的库文件夹指向你下载解压后的文件夹。Arduino方式最烦人的就是库的文件夹指向。
他这个应用改了好几个库,一定要用下载的库,不要使用Arduino默认的库,尤其注意:
arduinojson = [email protected]
arduinolog = https://github.com/1technophile/Arduino-Log.git#d13cd80
pubsubclient = [email protected]
rc-switch = https://github.com/1technophile/rc-switch.git#385a7e0
wifimanager = https://github.com/tzapu/WiFiManager.git#c3ff582
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-27 12:44 , Processed in 0.111216 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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