文档首页 > > API参考> Agent Lite API参考(C)> 直连设备接入> 设备登录

设备登录

分享
更新时间: 2019/11/12 GMT+08:00

接口功能

设备在第一次绑定后,或者在设备重启后需要进行登录的流程。

接口描述

1
HW_INT IOTA_Login();

接口返回值

参见函数标准返回值

此返回值是调用接口的同步返回结果,返回0只是说明接口调用成功,并不说明登录成功,登录成功需要收到IOTA_TOPIC_CONNECTED_NTY广播。登录前通过参数配置接口(IOTA_SetConfig)传入所需的登录信息。

返回结果

广播名称

广播参数

成员

描述

IOTA_TOPIC_CONNECTED_NTY

HW_MSG对象

登录成功或重连成功。

IOTA_TOPIC_DISCONNECT_NTY

HW_MSG对象

EN_ULGN_IE_ERR_REASON

登录失败或连接断开。

EN_IOTA_LGN_REASON_TYPE:

枚举项

枚举值

描述

EN_IOTA_LGN_REASON_NULL

0

无原因。

EN_IOTA_LGN_REASON_CONNCET_ERR

1

连接失败。

EN_IOTA_LGN_REASON_SERVER_BUSY

2

服务器忙。

EN_IOTA_LGN_REASON_AUTH_FAILED

3

鉴权失败、开发者需要停止重新尝试登录。

EN_IOTA_LGN_REASON_NET_UNAVAILABLE

5

网络不可用。

EN_IOTA_LGN_REASON_DEVICE_NOEXIST

12

设备不存在、开发者需要停止重新尝试登录。

EN_IOTA_LGN_REASON_DEVICE_RMVED

13

设备已删除、开发者需要停止重新尝试登录。

EN_IOTA_LGN_REASON_UNKNOWN

255

未知原因。

示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
Config_Get(DeviceId,pcDeviceId); 
Config_Get(DeviceSecret,pcDeviceSecret); 
Config_Get(AppId,pcAppId); 
Config_Get(HAAddr,pcHAServerAddr); 
Config_Get(LVSAddr,pcLVSServerAddr); 

IOTA_SetConfig(EN_IOTA_CFG_DEVICEID, pcDeviceId); 
IOTA_SetConfig(EN_IOTA_CFG_DEVICESECRET, pcDeviceSecret); 
IOTA_SetConfig(EN_IOTA_CFG_APPID, pcAppId); 
IOTA_SetConfig(EN_IOTA_CFG_HA_ADDR, pcHAServerAddr); 
IOTA_SetConfig(EN_IOTA_CFG_LVS_ADDR, pcLVSServerAddr); 

IOTA_Login();

然后等待Agent Lite的连接状态广播

需要提前实现连接状态通知广播接收处理函数,建议:

  1. 对于网关设备,在连接成功的处理函数中需要进行非直连设备状态上报的处理,并且将缓存的所有上报数据进行上报。
  2. 在连接断开的处理函数中记录设备断开状态,之后如果有数据上报,需要进行缓存,等到连接成功后再进行上报。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
// 开发者注册该函数进行连接成功后的处理 
HW_iNT Device_ConnectedHandler(HW_UiNT uiCookie, HW_MSG pstMsg) 
{
    //update device states 
    //send buffer data 
    return 0;
}
// 开发者注册该函数进行连接失败后的处理 
HW_iNT Device_DisconnectHandler(HW_UiNT uiCookie, HW_MSG pstMsg) 
{
    //stop reporting data 
    return 0;
}
//绑定广播接收处理函数 
HW_BroadCastReg(IOTA_TOPIC_CONNECTED_NTY, Device_ConnectedHandler);
HW_BroadCastReg(IOTA_TOPIC_DISCONNECT_NTY, Device_DisconnectHandler);

设备登录后,表示该设备已经成功的连接到物联网平台。

连接成功后,如果因为网络或服务器原因导致连接断开,Agent Lite会自动尝试重新连接,并将实时状态通过这两个广播上报给第三方应用。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区