设备设置

设备配网

设备配网有两种类型:

1)直接调用硬件厂商的配网SDK给已知模组配网,目前支持的模组:乐鑫ESP8266、汉枫LPB120、庆科WIFI模组、高通WIFI、AirKissWIFI模组。

请求参数:

参数名 类型 说明 备注 必需
activatorType enum 模组类型 IOTSmartActivatorType枚举类型中的一种
password String 当前Wifi的password

例子:

  • (void)start{
    [[IOTSmartActivator shareInstance]IOTCloudSDK_startConfigWithActivatorType:@"your_choose_activatorType"password:@"your_wifi_password"success:^{
    NSLog(@"activator success");
    } failure:^{
    NSLog(@"activator failure");
    }];
    }

2)把设备作为热点,手机连到设备热点,把目标网络的ssid的password传给设备实现AP配网。

请求参数:

参数名 类型 说明 备注 必需
ssid String 目标Wifi的ssid
password String 目标Wifi的password

例子:

  • (void)APstart{
    [[IOTSmartActivator shareInstance]IOTCloudSDK_startAPConfigWithSSID:@"wifi_ssid"password:@" wifi_password"success:^{
    NSLog(@"activator success");
    } failure:^{
    NSLog(@"activator failure");
    }];
    }

3)停止配网

请求参数:

参数名 类型 说明 备注 必需
activatorType enum 模组类型 IOTSmartActivatorType枚举类型中的一种

例子:

  • (void)stop{
    [[IOTSmartActivator shareInstance] IOTCloudSDK_stopConfigWithActivatorType:@"your_choose_activatorType"];
    }

搜索设备

硬件正常上网后,搜索设备发现设备,采用udp发包形式,发现设备相关的所有功能对应IOTSmartFindDevices类。

1)调用以下方法发现设备后立即成功回调返回IOTSmartFindDeviceModel实体类对象,可以多次成功回调。

请求参数:

参数名 类型 说明 备注 必需
productId int 设备的产品Id 填写产品id就只能发现改产品下的设备,若填写0
则可以发现该局域网内所有正常上网的设备
timeout int 超时时间

例子:

  • (void)startFind{
    [[IOTSmartFindDevices shareInstance]IOTCloudSDK_getDeviceWithProductId:@"your_choose_productId"timeout:@"your_choose_timeout"success:^( IOTSmartFindDeviceModel *findDeviceModel){
    NSLog(@"findDevices success");
    } failure:^(interrNo,NSString*errMessage) {
    NSLog(@"findDevices failure: %@", errMessage);
    }];
    }

2)停止搜索设备

请求参数:无

例子:

  • (void)stopfind{
    [[IOTSmartFindDevices shareInstance] IOTCloudSDK_stopUDP];
    }

绑定设备

一个设备只能被一个用户绑定,不允许多个用户绑定一个设备。设备相关的所有功能对应IOTSmartDevice类。绑定成功返回IOTSmartDeviceListModel实体类对象。

1)调用以下接口实现用户与搜索到的设备进行绑定:

请求参数:

参数名 类型 说明 备注 必需
iotId String 绑定设备的iotId
iotToken String 绑定设备的token

例子:

  • (void)bindDevice{
    [IOTSmartDevice IOTCloudSDK_bindDeviceWithIotId:@"your_findDevice_iotId"iotToken:@"your_ findDevice_iotToken"success:^(IOTSmartDeviceListModel * deviceModel){
    NSLog(@"bindDevice success");
    } failure:^(interrNo,NSString*errMessage) {
    NSLog(@"bindDevice failure: %@", errMessage);
    }];
    }

2)解绑设备

请求参数:无

例子:

  • (void)unbindDevice{
    [self.device IOTCloudSDK_unbindDeviceSuccess: ^{
    NSLog(@"unbindDevice success");
    } failure:^(interrNo,NSString*errMessage) {
    NSLog(@"unbindDevice failure: %@", errMessage);
    }];
    }

获取设备列表

通过调用以下接口获取所有设备列表。返回IOTSmartDevice类对象数组。

请求参数:无

例子:

  • (void)getDeviceList{
    [IOTSmartDevice IOTCloudSDK_getDeviceListSuccess: ^(NSArray<IOTSmartDevice *> * deviceLisArr) {
    NSLog(@"getDeviceList success");
    } failure:^(interrNo,NSString*errMessage) {
    NSLog(@"getDeviceList failure: %@", errMessage);
    }];
    }

4.9 控制设备

控制设备之前需要为该设备所属的产品增加功能点,点击进入产品功能后,添加功能点即可。

请求参数:

参数名 类型 说明 备注 必需
dps NSArray 要控制的数据点数组 数组元素为IOTSmartDP实体类对象

例子:

  • (void)cmdDps{
    [self.device IOTCloudSDK_publishDps:@"your_dps_Arr"sucess:^{
    NSLog(@"cmdDps success");
    } failure:^(NSString*errMessage) {
    NSLog(@"cmdDps failure: %@", errMessage);
    }];
    }

监听设备状态上报

手机端要监听该用户下的所有设备的数据点更新,需要将自身作为IOTSmartNotificationDeviceNewDPsUpdateArr通知的观察者。在相应的通知方法里,取出notice.userInfo,根据[notice.userInfo objectForKey:@"iotId"],判断哪个设备有数据点更新。

Copyright & copy qinglianyun all right reserved,powered by Gitbook该文件修订时间: 2021-04-22 18:53:48

results matching ""

    No results matching ""