此项目是一个开源zigbee网关项目, 所有的硬件和软件都会开放给大家使用. 请大家遵守CC-BY-SA-4.0协议.
此硬件模组可以结合iobroker.zigbee项目, zigbee2mqtt项目, Zigbee to Tasmota项目或者其他开源的基于TI CC2530 zigbee SoC的项目使用.
其他有关这个项目的内容, 可以从ioBroker China论坛的此帖子获得, 欢迎大家来一起玩智能家居.
- 此项目还处于早期版本.
- EDA使用kicad开发, 不存在软件版权问题.
- DIY硬件有风险, 请大家注意用电安全. 如有风险, 后果自负.
- 使用E18-MS1PA1-IPX zigbee模组, 模组使用CC2592PA, 发射功率可以达到21dBm. 也可以使用E18-2G4Z27SI替换pin2pin兼容的E18-MS1PA1-IPX模组, 如何设置和实测信号发射功率请参考此链接.
- 模块自带ESP8266模组. 可以通过WiFi转串口接入智能家居系统, 不再受到主机摆放位置的约束而导致信号覆盖差. 而且可以配合使用Zigbee to Tasmota项目, 完全不需要上位机, 自己本身就是一个zigbee-wifi网关.
- ESP8266模组和E18模组的CC-DEBUG程序下载引脚连接, 可以通过CCLib项目, 直接给E18 zigbee模组下载固件, 不需要另外购买CC-DEBUG在线仿真器.
- 可以通过拨码开关配置多种串口连接方式:
- USB TTY <==> ESP 8266 TTY. 用于ESP模组和Zigbee模组下载固件.
- USB TTY <==> E18 TTY. USB直连Zigbee模组, 上位机配置更加简单, 稳定性更强.
- ESP 8266 TTY <==> E18 TTY. Connect though TTY. ESP模组和Zigbee模组对接, 可以刷WiFi串口固件, 实现WiFi接入上位机智能家居系统, 具体方法参考此链接. 或者直接配合Zigbee to Tasmota项目做独立的Zigbee网关.
- USB TTY <==> ESP 8266 debug port. ESP 8266 TTY <==> E18 TTY. 和上一种连接方式一样, 多增加了一个debug串口.
- 使用USB Type-C接口. 紧跟时代潮流.
- 不管你怎么看, 我认为这个比USB dongle要好看几个数量级. 颜值即正义.
- windows电脑一台
- usb typeC数据线一条(数据线, 别弄一个充电线过来)
- z2m网关硬件V01版本一个, 将USB串口配置到ESP模块上. 请参考.
- 刷机所需要的固件. 源码也在本项目中.
- 专门为此项目开发的刷机工具
- 空闲的30分钟(不夸张, 真的很久)
- 打开刷机工具, 选择固件, 配置个人的wifi, 设备hostname以及tcp串口的串口号. (MQTT相关的信息还没有测试).
- 按住设备的flash按钮, 同时点一下reset按钮. 让ESP模块进入刷机模式.
- 点击刷机工具的All图标.
- 此阶段正在给ESP模块刷cclib固件, 为下一阶段给zigbee模块刷机做准备(用时大约30秒).
- 注意console界面, 出现
Please press reset button
的5秒倒计时时, 要按一下模块的reset按钮. - 接下来程序将给zigbee刷固件, 耗时20分钟!!!!(该喝茶, 该买咖啡买咖啡, 注意到点回来就行)
- 刷完zigbee固件后, 需要再次让ESP模块进入刷机模式, 按住设备的flash按钮, 同时点一下reset按钮. 刷ESP wifi串口固件(用时约30秒).
- 刷完后还需要让ESP模块进入刷机模式, 按住设备的flash按钮, 同时点一下reset按钮. 刷WiFi等配置信息(用时5秒).
- 因为V01版本的ESP刷机模式做的不是很好, 还需要在特定时间手动按按钮, 所以一定要熟悉整个流程, 在关键时刻出手. 如果刷机失败, 拔掉USB线, 从头来过. (V02版本硬件应该会做到自动化).
- Zigbee刷机真的要很长时间, 也可以用TI的SBL工具刷机.
- 用刷机工具刷机, Zigbee固件要选择hex后缀的固件. 使用TI SBL工具刷机才使用bin后缀的固件.
- Zigbee固件CC2530ZNP-SB.hex是SBL的bootloader. normal_21db文件夹下面是normal模式的固件(推荐就用这个吧, 小米设备支持更好). source_routing_21db文件夹下面是支持source_routing的固件(这个功能小米的设备支持不好, 总有很多错误log).
可以从这里看一下刷机视频, 熟悉一下操作流程.
- USB串口芯片自动控制ESP flash和reset引脚, 无需再按键.
- LED灯交给ESP芯片控制, 可调节开关和显示效果.
- 优化拨码开关的丝印提示.
- 可能更新CC2538模组(30%可能性吧).