本文介绍如何初始化设备信息,建立设备与云端的连接。

通道连接时阿里云物联网云端会认证设备身份,请登录阿里云物联网平台的控制台,选择设备管理,单击设备后的查看,获取需要的设备证书,即ProductKey、DeviceName及DeviceSecret。

建立连接

 通道建立成功后,在应用生命周期内,SDK会一直维护此连接的有效性。假如连接受网络变化的原因断开了,SDK也会一直尝试重连。
#import <AlinkIoTExpress/AlinkIoTExpress.h>

LKIoTConnectConfig * config = [LKIoTConnectConfig new];
config.productKey = @"your product key";
config.deviceName = @"your device name";
config.deviceSecret = @"your device secret";
config.server = @"www.youserver.com";//设为nil表示使用IoT套件默认连接的地址作为连接服务器
config.port = 1883,//your server port。如果server被设置为nil。则port也不要设置。
config.receiveOfflineMsg = NO;//如果希望收到客户端离线时的消息,可以设为YES.
[[LKIoTExpress sharedInstance]startConnect:config connectListener:self];
//如果config.server置为nil,则默认连接的地址为上海节点:${yourProductKey}.iot-as-mqtt.cn-shanghai.aliyuncs.com:1883`

连接状态变化监控

在上面的代码例子中,”startConnect:connectListener“调用时可传入listener来监控通道连接状态的变化。连接状态变化如下枚举所示

typedef NS_ENUM (NSInteger, LKExpressConnectState){
    LKExpressConnectStateConnected = 1,
    LKExpressConnectStateDisconnected = 2,
    LKExpressConnectStateConnecting = 3,
};

断开当前连接

如果你需要更换设备证书建立连接,则需要断开当前的连接,否则无法使用新的设备证书发起新的认证并连接。如无更换需要,不建议调用此API。

#import <AlinkIoTExpress/AlinkIoTExpress.h>
[[LKIoTExpress sharedInstance] stopConnect:^{
//注意:只有在连接断开回调后才能开始新的连接。
}
];

调试日志打开

如果在使用过程中遇到了问题需要阿里云IoT的分析,请先行打开SDK相关日志。

#import <IMSLog/IMSLog.h>

    [IMSLog setAllTagsLevel:IMSLogLevelVerbose];
    //设置在控制台显示日志
    [IMSLog showInConsole:YES];