更新时间:2022-02-24 GMT+08:00

设备登录

接口功能

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

接口描述

1
HW_INT IOTA_Login();

参数说明

接口返回值

参见2. 函数标准返回值

说明:

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

返回结果

广播名称

广播参数

成员

描述

IOTA_TOPIC_CONNECTED_NTY

HW_MSG对象

登录成功或重连成功。

IOTA_TOPIC_DISCONNECT_NTY

HW_MSG对象

EN_ULGN_IE_ERR_REASON

登录失败或连接断开。

示例

 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会自动尝试重新连接,并将实时状态通过这两个广播上报给第三方应用。