Z-Wave 应用程序框架
Z-Wave Plus 应用程序框架的目的是促进强大的 Z-Wave Plus 兼容产品的实施。
Z-Wave 应用程序框架:
- 使开发 Z-Wave 新产品和设备的固件变得更简单。
- 为许多常见设备提供样本代码,以及能够随时重复利用、经过现场测试的强大代码模块库。
- 有助于消除错误并最大限度地减少对自定义编码的需求。
因此,创建新的 Z-Wave 应用程序的过程得到简化,对于大多数新设备而言,该过程通常需要不到一周或两周的时间。
开始使用 Z-Wave
Z-Wave SDK 随应用程序框架一起提供,用于快速建立应用程序的原型。下载 SDK 后,解压缩 SDK 档案,然后移动至:SDK > ProductPlus > MyProductPlus。该目录包含生成样本 Z-Wave 应用程序所需的脚本。
包含快速应用程序原型的应用程序框架(示例代码库)
- 封装外围设备
- 应用程序的服务功能(定时器……)
应用程序框架提供了可以在应用程序之间重复利用的命令类模块。
该框架提供了许多模块:
传输层 传输层处理安全性、长时间有效载荷分段、捆绑命令的传递等。
应用程序命令类处理程序 应用程序命令类处理程序负责处理应用程序的解析和帧组合,
也处理受互斥保护的传输缓冲区。
Utils Utils 为 I/O 处理、电池监控和固件提供辅助模块。
应用程序框架分分布在两个文件夹中:/ApplicationCommandHandlers/ 和 /ApplicationUtilities/。
/ApplicationCommandHandlers/
/ApplicationCommandHandlers/ 包含命令类模块。所有命令类模块共享 ZW_tx_mutex 模块提供的受保护传输缓冲区。
ZW_tx_mutex 模块实施两个发送缓冲区,一个用于请求调用,另一个用于响应调用。
/ApplicationUtilities/
/ApplicationUtilities/ 包含实用程序模块和传输层的接口。
一些模块用于简单的 MMI 设置,如按钮和 LED 处理。而 association_plus、battery_monitor、battery_plus 和 ota_util 等其他模块是更复杂的实用程序模块,它们与命令类和客户端应用程序相连接。
最后一组是传输层,负责传输;既有安全传输也有非安全传输。
用于安全传输和非安全传输的传输层 API 接口是相同的。
选择实施的所有命令类
命令类规范;Z-Wave 命令类规范
选择要使用的芯片或模块。
规格 | |
---|---|
硬件 | 500 系列集成指南 |
软件 | 在 500 系列环境中工作的用户指南 |
设置环境
Z-Wave 开发的第一步是设置开发环境。要开始 Z-Wave 应用程序开发,您需要:
- 装有 Windows 系统的 PC
- Z-Wave 软件开发套件 (SDK)
- Keil 编译器版本 9.54a
由于 Keil 编译器和 Z-Wave 工具与 Microsoft Windows 操作系统兼容,我们强烈建议使用装有 Windows 系统的 PC。
首先下载最新版本的 Z-Wave SDK。解压下载的文件。
下一步是设置开发环境。
要了解有关设置开发环境的更多信息,请参阅 500 系列环境用户指南。
生成 Z-Wave 项目的分步指南
对于该样本,我们假定 Keil 编译器版本 9.54a 位于 C:\KEIL\C51,而 Z-Wave SDK 位于 C:\SDK\。
- KEILPATH= C:\KEIL\C51
- TOOLSDIR= C:\SDK\TOOLS
在相关样本应用程序目录中打开命令提示符(DOS 框)
- 类似于 C:\SDK\ProductPlus\MyProductPlus
命令行由 mk.bat 构建,使用“mk help”获取更多详细信息
- smk "BOOT=BOOTLOADER_ENABLED" "BOARD=ZM5202" "FREQUENCY=EU" "CHIP=ZW050x"
使用 mk.bat 为 Keil IDE 生成 μVision 项目
- 在相关样本应用程序目录中打开命令提示符(DOS 框),并将“UVISION=1”添加到命令 MK。
- mk "BOOT=BOOTLOADER_ENABLED" "BOARD=ZM5202" "FREQUENCY=EU" "CHIP=ZW050x" "UVISION=1"
在项目中设置 ZW_DEBUG
- 右键点击顶层项目或按 ALT+F7
- 选择 C51 选项卡
- 添加定义:ZW_DEBUG, ZW_DEBUG_MYPRODUCT
- 选择“设备”选项卡,然后选择 ZM5202(在该样本中使用)
- 点击“确定”并重建项目
连接调试端口
- 将 ZDB5202 安装到 ZDP03
- 连接 ZDP03 USB (J1) 和 RS232 (J12)
- 使用 Z-Wave 编程器下载 .hex 文件:MyProductPlus_slave_enhanced_232_ZM5202_EU_SCHEME_0.hex
- 调试信息可以在 115200 波特的终端程序上输出
产品规范建议
Z-Wave Plus 框架版本 1.x
- 通知命令类 v4
- 基于软件的慢定时器
Z-Wave Plus 应用程序
- 传感器 PIR 应用程序(电池操作的最佳实践)– MRD 请求
- 传感器 PIR 应用程序(基本 CC 控制、Lifeline 和 AGI)
OutdoorLamp 简介
- 设备类型 = 开/关电源开关
- 角色类型 = 一直打开的从属设备
- 按钮
- PIR 传感器 (HW I/O)
- 继电器控制 (HW I/O)
- 二进制开关 CC 支持
- 固件更新支持 – OTA
- 安全二进制交换机 CC
- Z-Wave Plus 可认证
- 外部中断支持