2024年11月23日星期六 上午4:09:40

DIY 第三方 开源的 Zigbee2MQTT(Z2M)zigbee CC2531网关 学习日志

1 年 前
#20022 引用
DIY 第三方 zigbee 网关(zigbee2mqtt  CC2531) 学习日志
https://bbs.hassbian.com/thread-4448-1-1.html

step 1.买使用开源的 Zigbee2MQTT(Z2M) 网关
1.价格不贵. 
2.Z2M 支持的硬件网关列表: https://www.zigbee2mqtt.io/guide/adapters/


step 2.Z2M具体支持的设备列表
1.请看这里: https://www.zigbee2mqtt.io/supported-devices/. 够让你挑花眼的,


real world example

1.我买的是SONOFF USB Dongle Plus万能通用网关(基于CC2652P芯片)价位在¥70左右, 该网关通过Z2M能支持2千余种的Zigbee设备. 值得推荐

2.我买的绝大部分Zigbee设备在Z2M均能正常使用,包括绿米/小米的Zigbee设备,反而是在SONOFF(易微联)的温度计和按钮上碰到了点小问题.


0
1 年 前
#20023 引用
github项目链接
https://github.com/Koenkk/zigbee2mqtt


【硬件准备】


1、zigbee CC2531 Sniffer USB dongle   (必选)

2、zigbee仿真器CC-Debugger  

3、zigbee CC2531  烧录线  

4、32位win7PC一台(已知本硬件驱动不支持win10,不确定64位win7是否可用,自行测试吧)
赘言:我之前研究github上项目的时候,有介绍说如果没有CC-Debugger的话 ,也可以用esp8266通过刷固件做代理来给cc2531烧录固件。但是,我亲测没用成功,感兴趣的可以自己测试一下。

考虑到CC-Debugger这个硬件是专门用来给cc2531烧录固件的,各位同学可能只需要用到一次,所以你们可以从马云爸爸那里只买一个cc2531模块,然后将模块邮递给我,我免费替你们烧录,但是来回邮费自行承担。这样也可以给那些不会烧录固件的同学减少不少压力。



购买硬件的费用,给列一下吧,你做个参考。

zigbee CC2531 Sniffer USB dongle    51.3元

zigbee仿真器CC-Debugger                39.2元

zigbee CC2531  烧录线                       18元

其实后两种硬件不是必须的,但是烧录固件的时候需要用到。做网关,真正需要的硬件就是

zigbee CC2531 Sniffer USB dongle





【烧录固件】
(由于附件大小的限制,本教程所有需要用的资源和文件,我都以百度网盘共享链接的形式放在下面)

1、打开名为"swrc045z.zip"的压缩包,安装cc2531的驱动。

2、打开名为"swrc212a.zip"的压缩包,安装CC-Debugger的驱动。

3、打开名为"flash-programmer-1.12.8.zip"的压缩包,安装zigbee模块的烧录程序。

4、将 CC-Debugger ---> 烧录线  --->  cc2531  依次连接好,然后将CC-Debugger和cc2531都插进PC的USB接口(请注意,在cc2531的针脚处会有1和10来标注针脚的顺序,请跟烧录线上的对应好,千万别插错了)
如下图所示: (, 下载次数: 6)

5、打开刚才安装好的烧录程序SmartRF,在固件镜像处选中名为"CC2531ZNP-Prod.hex"的固件并烧录。
具体选项如图所示:
(, 下载次数: 4)

6、烧录完成
0
1 年 前
#20024 引用
【安装zigbee2mqtt】

      
 zigbee2mqtt主要有三种安装方式,第一种是在linux系统环境运行。第二种是通过hassio addon的方式运行。 第三种是在docker环境以容器的方式运行。(其实,第二种和第三种方式差别不大)


       因为,我是用的群晖系统做的智能家居平台中枢,所以,在这里,我只说说通过docker的方式运行。其他方式运行,同学们可以自行查阅项目介绍,根据介绍安装。

1、运行如下命令,自动安装并运行zigbee2mqtt容器(amd64架构)

docker run --name=zigbee2mqtt -it -v /your_path:/app/data --device=/dev/ttyACM0 koenkk/zigbee2mqtt
复制代码


如果你是用的树莓派的话,请自行换成如下命令:

docker run --name=zigbee2mqtt -it -v /your_path:/app/data --device=/dev/ttyACM0 koenkk/zigbee2mqtt:arm32v6
复制代码


请将"/your_path"换成你自行选择的目录路径,可以随意路径的目录,但不能有权限问题。

2、找到你刚才给"/your_path”替换的路径,打开"configuration.yaml"文件配置mqtt服务器ip地址和用户名密码。
格式如下:
homeassistant: false
permit_join: true
mqtt:
  base_topic: zigbee2mqtt
  server: 'mqtt://192.168.4.1'
  user: XXXXXXX
  password: XXXXXXX
serial:
  port: /dev/ttyACM0
复制代码


关于"permit_join: true"这项,我需要说明一下,如果你需要给该zigbee网关添加zigbee设备的话,该项就必须得是"true",
表示允许配对zigbee设备。当你配对添加zigbee设备完成之后,该项就可以改成false,表示不再接受zigbee设备配对加入。

关于"port: /dev/ttyACM0"这项,切记不要改,如果不出意外的话,各位同学的cc2531串口应该都是ttyACM0。  


【zigbee设备配对】
配对其实很简单,还是长按小米zigbee设备的各种按键,以启动配对模式。至于其他品牌的zigbee设备,就需要各位自行查找如何启动配对模式了。但是这里需要提醒一点,大家最好能进入docker容器的日志功能,通过实时日志来确认配对成功与否,目前,我亲测的是,经常会一次不能配对成功,需要多次尝试才会成功。

先来一份目前zigbee2mqtt支持的所有zigbee设备列表。打开链接自己看吧

https://github.com/Koenkk/zigbee2mqtt/wiki/Supported-devices


讲到这里,可能有的同学会问了,那那些不支持的zigbee设备也能用吗?答案是,能用。
但是,在列表里没支持的设备,需要大家来做部分修改,以使支持,过程其实挺简单的,本次教程就不说,我会在下一篇教程里,通过将aqara智能门锁S2添加进支持来举例,详细说明怎么添加目前未支持的zigbee设备。
0
1 年 前
#22760 引用
第三方ZigBee网关,80块不到
0
1 年 前
#22763 引用
我是用的Hue Bridge然后把所有zigbee都接到hue bridge里了 这样灯泡都可以不需要装插件 剩下的一些IKEA灯也都是标准zigbee可以接到huebridge
0