COM.Zigbee

SKU:M031-Z

描述

COM.Zigbee 是M5Stack推出的一款Zigbee自组网通讯模块。模块采用CC2630F128方案,内部集成Zigbee协议栈,开放串口通信接口。集成外部天线,单节点稳定通信距离可达1km,200级router深度,通过MESH组网方式能够将你的物联网应用进行广范围的延展,兼具超低功耗与高灵敏度特性。Zigbee网络可以支持数以百计的节点,并具有增强的安全特性。可为家庭和楼宇自动化提供完整且可互操作的物联网解决方案。

注意事项

搭配FIRE主控使用时候,由于PSRAM引脚冲突,使用时候请将模块底座拨码开关引脚切换至TX(0/13),RX(5/15),设备可使用USB/外部DC进行供电。

搭配Core2系列主控使用时候, 由于底座引脚阵列排序不同,COM.X底座引脚TX(16),RX(17)对应Core2主控实际引脚的TX(13),RX(14),设备需使用外部DC进行供电。

产品特性

  • CC2630F128
  • 免设置快速入网
    • 初始化coordinator并配置router预设, 可实现连按三次按键自动入网
  • 串口通信
  • 低功耗(模组工作电流:25mA,休眠5uA)
  • 动态路由维护,支持200级路由深度
  • 传输速度250Kbps
  • 节点通信距离1km
  • UART透明传输/广播/P2P

包含

  • 1x COM.Zigbee
  • 1x SMA天线

应用

  • 智能家居
  • 物联网采集节点
  • 楼宇自动化

规格参数

规格 参数
CC2630F128 ARM Cortex-M3 32bit
通讯方式 UART 38400bps 8N1(default)
通信距离 1km (空旷地区)
工作频率 2.4GHZ (2405MHz-2480MHz, 步长为5MHz)
DC接口规格 5.5mm
净重 37g
毛重 70g
产品尺寸 54*54*13.2mm
包装尺寸 165*60*36mm

模块底座带有DC电源输入接口,使用该接口接入电源请严格按照输入范围(5-12V)防止模块损坏。内部电源拨码开关可调节内部的端子VIN的电压水平, 用于适配不同模块。

管脚映射

M5Stack TX(GPIO 0/13/17) RX(GPIO 5/15/16) 5V GND
COM.Zigbee RX TX VIN GND

根据不同主机不同需要将拨码开关拨动至对应引脚。

M5Stack HOST CORES3 CORE2 CORE
RXD 17/0/7 14/0/19 17/0/13
TXD 18/1/13 13/33/2 16/5/15

原理图

相关链接

案例程序

EasyLoader

相关视频

DRFZigbee.h - API

//初始化模块
void begin(HardwareSerial & uart){ _uartp = &uart;}

//发送数据
void sendData(uint8_t cmd, const std::initializer_list<uint8_t> args);

int sendCMDAndWaitRevice(uint8_t cmd, byteArray &array, byteArray *reviceArray = nullptr, size_t timeout = 1000);

int sendCMDAndWaitRevice(uint8_t cmd, const std::initializer_list<uint8_t> args, byteArray *reviceArray = nullptr, size_t timeout = 1000);

int sendDataP2P(uint8_t mode,uint16_t addr,uint8_t *dataptr,size_t length);

int sendDataP2P(uint8_t mode,uint16_t addr,byteArray &array);

int sendDataP2P(uint8_t mode,uint16_t addr,const std::initializer_list<uint8_t> args);

//获取网络拓扑结构
int getNetworksTopology();

//连接模块,执行后模块将断开无线链接,进入配置模式。
int linkMoudle();

//读写模块配置参数
int readModuleparm(zigbee_arg_t *parm);

int setModuleparm(zigbee_arg_t &parm);

//完成配置后,需要执行该程序,使模块重启并恢复无线连接
int rebootModule();

//获取模块信号质量
int8_t getModuleRSSI(nodeRSSI_t *nodeRSSIPtr = nullptr);

//接收数据
int reviceData(reviceData_t *revice,uint8_t type = kP2PCustomIDMode,size_t timeout = 1000);

--------------------------------------------------------------

//模块配置参数项

DRFZigbee::zigbee_arg_t *arg = new DRFZigbee::zigbee_arg_t;

uint8_t     main_pointType;
uint16_t    main_PANID;
uint8_t     main_channel;
uint8_t     main_transmissionMode;
uint16_t    main_customID;
uint16_t    main_res0;
uint8_t     main_uartBaud;
uint8_t     main_uartBit;
uint8_t     main_uatrtStop;
uint8_t     main_uartCheck;
uint16_t    main_res1;
uint8_t     main_ATN;
uint8_t     main_mac[8];


//配置预设参数 - 完整配置预设参数可用于从节点的免设置快速入网
uint8_t     preset_pointType;
uint16_t    preset_PANID;
uint8_t     preset_channel;
uint8_t     preset_transmissionMode;
uint16_t    preset_customID;

//保留字段
uint16_t    preset_res0;

uint8_t     preset_uartBaud;
uint8_t     preset_uartBit;
uint8_t     preset_uatrtStop;
uint8_t     preset_uartCheck;

//保留字段
uint16_t    preset_res1;

uint8_t     preset_ATN;

uint16_t    shortAddr;
uint8_t     res3;
uint8_t     encryption;
uint8_t     password[4];