Skip to content

Latest commit

 

History

History
92 lines (64 loc) · 6.44 KB

README_zh.md

File metadata and controls

92 lines (64 loc) · 6.44 KB

z2m zigbee网关

此项目是一个开源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要好看几个数量级. 颜值即正义.

硬件图片

top view bottom view

3D打印外壳

cave

PCB预览

top view

bottom view

刷机教程

准备材料

  • windows电脑一台
  • usb typeC数据线一条(数据线, 别弄一个充电线过来)
  • z2m网关硬件V01版本一个, 将USB串口配置到ESP模块上. 请参考.
  • 刷机所需要的固件. 源码也在本项目中.
  • 专门为此项目开发的刷机工具
  • 空闲的30分钟(不夸张, 真的很久)

刷机过程

  1. 打开刷机工具, 选择固件, 配置个人的wifi, 设备hostname以及tcp串口的串口号. (MQTT相关的信息还没有测试). set_info
  2. 按住设备的flash按钮, 同时点一下reset按钮. 让ESP模块进入刷机模式.
  3. 点击刷机工具的All图标.
  4. 此阶段正在给ESP模块刷cclib固件, 为下一阶段给zigbee模块刷机做准备(用时大约30秒).
  5. 注意console界面, 出现Please press reset button的5秒倒计时时, 要按一下模块的reset按钮.
  6. 接下来程序将给zigbee刷固件, 耗时20分钟!!!!(该喝茶, 该买咖啡买咖啡, 注意到点回来就行)
  7. 刷完zigbee固件后, 需要再次让ESP模块进入刷机模式, 按住设备的flash按钮, 同时点一下reset按钮. 刷ESP wifi串口固件(用时约30秒).
  8. 刷完后还需要让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%可能性吧).

致谢

  • 各位大佬modkam, kirovilya, Koenkk.
  • 小F, 帮忙设计“碉堡”的外壳.
  • 萝卜哥, 花神以及热爱智能家居的每一位.

如果您使用了本项目并且感觉不错, 请打赏一杯咖啡钱吧~ wechat alipay