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

 找回密码
 立即注册
查看: 381645|回复: 669

[进阶教程] 利用zigbee模块DIY一个万能zigbee网关

  [复制链接]

15

主题

222

帖子

1936

积分

禁止访问

积分
1936
金钱
1694
HASS币
90

教程狂人

发表于 2018-8-2 17:03:43 | 显示全部楼层 |阅读模式
本帖最后由 dodojie 于 2018-8-2 17:19 编辑

【引语】

      说实话,手里有小米网关用着,原本无须自己diy网关,直到,我入了一个绿米的智能门锁S2,从此就踏入了门锁接入hass的漫漫之路。最终通过这种DIY的第三方网关成功的将门锁接入了hass。至于怎么接入绿米门锁S2,将会在后续教程更新里详细说明,不在本期讨论,本次教程重点教大家如何DIY 第三方zigbee网关。本教程是基于github上的zigbee2mqtt项目,我只是个搬运工,我把源链接附上,大家需要的话,可以自己看。

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模块,然后将模块邮递给我,我免费替你们烧录,但是来回邮费自行承担。这样也可以给那些不会烧录固件的同学减少不少压力。


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

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、烧录完成。

本文所用到的所有文件通过如下链接自行下载。
游客,如果您要查看本帖隐藏内容请回复


【安装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设备。


最后,热烈祝贺hass论坛注册人数突破万人大关,山东潍坊发来贺电。值此举国欢腾之际,特发此贴,以示对hass平台的热爱。

评分

参与人数 8金钱 +84 收起 理由
kalabock + 2
wangtwothree + 5 大佬是老乡啊,我青州的
dizherui + 5 CC2530模块可以吗?
hugo + 5 论坛有你更精彩!
sangood + 7 感谢,我使用 Arduino uno 方式 ,应该可以.
Mirukuteii + 20 恭喜论坛首位hass币获得者
+ 20 非常之666~
neroxps + 20 感谢分享,居然小米也有支持的.

查看全部评分

回复

使用道具 举报

5

主题

352

帖子

1397

积分

金牌会员

Rank: 6Rank: 6

积分
1397
金钱
1045
HASS币
0
发表于 2018-8-2 17:05:35 | 显示全部楼层
感谢分享!!
回复

使用道具 举报

40

主题

3056

帖子

1万

积分

超级版主

Nero

Rank: 8Rank: 8

积分
11149
金钱
8042
HASS币
182
发表于 2018-8-2 17:07:09 | 显示全部楼层
本帖最后由 neroxps 于 2018-8-2 17:08 编辑

66666,感谢分享,居然小米都有支持的。~
楼主列个费用清单参考下呗。
Nero
回复

使用道具 举报

17

主题

335

帖子

2545

积分

金牌会员

Rank: 6Rank: 6

积分
2545
金钱
2210
HASS币
0
发表于 2018-8-2 17:12:42 | 显示全部楼层
这个高级了 刚好手上有几个2530 看能否用上
回复

使用道具 举报

15

主题

222

帖子

1936

积分

禁止访问

积分
1936
金钱
1694
HASS币
90

教程狂人

 楼主| 发表于 2018-8-2 17:14:16 | 显示全部楼层
neroxps 发表于 2018-8-2 17:07
66666,感谢分享,居然小米都有支持的。~
楼主列个费用清单参考下呗。

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

zigbee CC2531 Sniffer USB dongle    51.3元

zigbee仿真器CC-Debugger                39.2元

zigbee CC2531  烧录线                       18元

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

zigbee CC2531 Sniffer USB dongle
回复

使用道具 举报

13

主题

554

帖子

4310

积分

论坛元老

Jeff

Rank: 8Rank: 8

积分
4310
金钱
3756
HASS币
10

活跃会员

发表于 2018-8-2 17:17:11 | 显示全部楼层
浙江人民发来贺电
Jeff
回复

使用道具 举报

40

主题

1128

帖子

4252

积分

论坛元老

Rank: 8Rank: 8

积分
4252
金钱
3124
HASS币
0
发表于 2018-8-2 17:52:32 | 显示全部楼层
回复学习,智能门锁接入ha,能干啥,还需要lz给我们多多普及啊,这才是核心目的,最后向lz刻苦钻研精神学习
回复

使用道具 举报

0

主题

33

帖子

497

积分

中级会员

Rank: 3Rank: 3

积分
497
金钱
464
HASS币
0
发表于 2018-8-2 17:55:12 | 显示全部楼层
这个厉害!
楼主加油!
回复

使用道具 举报

2

主题

136

帖子

1024

积分

金牌会员

Rank: 6Rank: 6

积分
1024
金钱
888
HASS币
0
发表于 2018-8-2 18:02:56 | 显示全部楼层
太复杂  连8266都玩不好的  还是不凑热闹了
回复

使用道具 举报

40

主题

1128

帖子

4252

积分

论坛元老

Rank: 8Rank: 8

积分
4252
金钱
3124
HASS币
0
发表于 2018-8-2 18:05:07 | 显示全部楼层
群晖都有docker界面了,还要啥命令多复杂啊,直接套件下安装,
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-23 19:35 , Processed in 0.154113 second(s), 36 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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