Page 1 of 1

【iOS】iOS系统中Matter设备接入指南

Posted: 2024年 Dec 2日 15:17
by God of BLE

Matter 协议是 CSA 联盟 与谷歌、亚马逊、苹果公司共同推进的物联网标准连接方案,旨在实现所有智能设备的兼容性,实现一套协议控制所有设备,让设备使用单一协议与任何 Matter 认证的生态系统配合使用。、

支持的Matter设备类型

涂鸦Home SDK支持涂鸦Matter设备和其他品牌商Matter设备(文中统称三方Matter设备)的接入。由于iOS系统的限制,三方Matter设备仅支持iOS16.1系统以上接入。并且由于早期Matter协议不够完善,其实实际业务中,我们更推荐用户从iOS16.4系统及以后再接入三方Matter设备。
涂鸦Matter设备则不受系统版本的限制,任意版本均可接入。

Matter Extension Target配置

除主工程外,想要接入三方Matter设备,必须配置Extension Target

注意事项

  • 需要使用 14.1 及以上版本 Xcode。
  • 需要使用 16.1 及以上版本 iOS 系统。
  • 新建 Matter Extension Target,使用默认生成的代码文件即可,然后 请跟随本文配置修改代码文件。
  • Matter Extension Target 仅支持 Swift 项目。

权限配置

  • 打开项目设置。
  • 选中 主工程 Target > Signing & Capabilities,单击 + Capability。
  • 添加 App Groups 权限,用于与 主工程 Target 共享数据,注意勾选的 App Group Id 需要与 主工程 Target 中配置的一致。

工程权限

如果需要接入三方Matter设备,主工程仍需配置另外的权限

Matter Allow Setup Payload权限

此权限是开发者权限,旨在弹起MatterSupport时,可以直接传入配网短码生产Payload,跳过扫码阶段,适合弱扫码的产品

1.打开项目设置。

2.选中 主工程 Target > Signing & Capabilities,单击 + Capability,如下图所示:
Image

3.添加 Matter Allow Setup Payload 权限,用于处理 Matter 二维码解析。

4.添加 App Groups 权限,用于与 Matter Extension Target 共享数据,注意勾选的 App Group Id 需要与 Matter Extension Target 中配置的一致。

5.添加 Background Modes 权限,勾选 Uses Bluetooth LE accessories 权限,用于保证蓝牙通讯稳定性

配置后最终如图所示:
Image

开发入门

数据域设定

众所周知Matter的所有操作都围绕着Fabric进行,Fabric是一个数据处理域,任何操作前,都必须设定好Fabric。使用涂鸦HomeSDK,按如下方式进行设置。

Fabric 信息准备

Matter 相关的信息与家庭相关联,因此需在 家庭切换完成 或 家庭首次加载完成 时,调用 - loadFabricWithSpaceId 查询该家庭对应的 Fabric 信息。

Code: Select all

@interface ThingSmartMatterManager : NSObject
+ (instancetype)sharedInstance;
- (void)loadFabricWithSpaceId:(long long)spaceId
                success:(ThingSuccessHandler)success
                      failure:(ThingFailureError)failure;
@end

至此,整体工程设置已经完成,接下来就可以按开发者文档按部就班接入自己的Matter设备了