TuyaSmartActivator 0.3.4

TuyaSmartActivator 0.3.4

huangkaixccgaosentuya_developer 维护。



 
依赖项
CocoaAsyncSocket>= 0
TYBluetooth< 10.0
TuyaSmartUtil>= 0
 

  • xucheng

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

image-20181227195226694

网络配置

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>];
}