TuyaSmartActivator iOS SDK
功能概述
TuyaSmartActivator APP SDK 支持四种网络配置模式,快速连接模式(TLink,称为简易模式)和热点模式(AP模式),以太网配置 zigbee 网关,BLE + Wi-Fi 双模式。
快速集成
支持使用 CocoaPods(版本 8.0 或更高版本)安装
在文件 Podfile
中添加以下内容:
platform :ios, '8.0'
target 'your_target_name' do
pod "TuyaSmartActivator"
end
在项目的根目录中执行命令 pod update
开始集成。
有关 CocoaPods 的说明,请参阅:CocoaPods 指南
手动集成
TuyaSmartActivator iOS SDK 依赖于第三方库
- CocoaAsyncSocket
依赖于系统库
- libc++
- libz
使用CocoaPods集成添加第三方库
在文件 Podfile
中添加以下内容:
platform :ios, '8.0'
target 'Your_App_Name' do
pod "CocoaAsyncSocket"
end
在项目的根目录中执行命令 pod update
开始集成。
添加系统库
在 Target -> Build Phases -> Link Binary With Libraries
中,增加系统库 libc++
和 libz
网络配置
Tuya 的硬件模块支持四种网络配置模式:快速连接模式(TLink,或 EZ 模式)、热点模式(AP 模式)、zigbee 网关的有线网络配置,以及 BLE + Wi-Fi 配置。EZ 模式相对更为简单直接。建议仅在 EZ 模式网络配置失败的情况下,才作为替代使用热点模式。BLE + Wi-Fi 配置需要开启蓝牙进行设备搜索,然后再进行配置。
获取令牌
从服务器获取令牌信息。
{
"secret":"reKE",
"region":"AY",
"token":"nqMwn1Nd"
}
// startConfig token = region + token + secret
// example.
NSString *ssid = @"";
NSString *password = @"";
NSString *token = "AYnqMwn1NdreKE";// AYnqMwn1NdreKE = "AY" + "nqMwn1Nd" + "reKE"
[[TuyaSmartActivator sharedInstance]
startConfigWiFiWithMode:TYActivatorModeEZ ssid:ssid password:password token:token];
EZ 模式
// start config wifi EZ mode
NSString *ssid = @"";
NSString *password = @"";
NSString *token = @""; // Assembled token
[[TuyaSmartActivator sharedInstance]
startConfigWiFiWithMode:TYActivatorModeEZ ssid:ssid password:password token:token];
停止网络配置
当网络配置开始后,应用程序将持续广播网络配置信息,直到网络配置成功或超时。如果需要取消网络配置或网络配置完成,必须调用[TuyaSmartActivator stopConfigWiFi]
方法。
- (void)stopConfigWifi {
[[TuyaSmartActivator sharedInstance] stopConfigWiFi];
}
热点模式
// start config wifi AP mode
NSString *ssid = @"";
NSString *password = @"";
NSString *token = @""; // Assembled token
[[TuyaSmartActivator sharedInstance]
startConfigWiFiWithMode:TYActivatorModeAP ssid:ssid password:password token:token];
Zigbee 网关
// start config Zigbee Gateway
NSString *token = @""; // Assembled token
[[TuyaSmartActivator sharedInstance] startConfigWiredDeviceWithToken:token];
BLE + Wi-Fi
// start discovery device with bluetooth
- (void)startDiscovery {
[[TuyaSmartActivator sharedInstance] startDiscovery:^(TYBLEAdvModel *model){
}];
}
// stop discovery
- (void)stopDiscovery {
[[TuyaSmartActivator sharedInstance] stopDiscovery];
}
// start config
- (void)startConfigBLEWifi {
TYBLEAdvModel *model = #<startDiscovery result>;
NSString *authKey = @""; // from clund
NSString *random = @""; // from random
NSString *ssid = @"";
NSString *password = @"";
NSString *token = @""; // Assembled token
[[TuyaSmartActivator sharedInstance] startConfigBLEWifiWithAdvModel:model
authKey:authKeyauthKey
random:random
ssid:ssid
password:password
token:token];
}
// stop config
- (void)stopConfigBLEWifi {
[[TuyaSmartActivator sharedInstance] stopConfigBLEWifiWithAdvModel:#<discoveryModel>];
}