예제 #1
0
uint64_t utils_get_epoch_time_from_ntp(char copy[], int len)
{
    char ntp_server[20] = {0};
    int ntp_server_index = 1;
    uint64_t time_in_ms = 0;

    for (ntp_server_index = 1; ntp_server_index <= 7; ntp_server_index ++) {
        HAL_Snprintf(ntp_server, 20, ALIYUN_NTP_SERVER, ntp_server_index);
        time_in_ms = _get_timestamp_from_ntp(ntp_server);
        if (time_in_ms > 0) {
            HAL_Snprintf(copy, len, "%" PRIu64, time_in_ms);
            break;
        }
    }

    return time_in_ms;
}
예제 #2
0
int iotx_device_info_set(
            const char *product_key,
            const char *device_name,
            const char *device_secret)
{
    int ret;
    log_debug("start to set device info!");

    memset(&iotx_device_info, 0x0, sizeof(iotx_device_info));
    strncpy(iotx_device_info.product_key, product_key, PRODUCT_KEY_LEN);
    strncpy(iotx_device_info.device_name, device_name, DEVICE_NAME_LEN);
    strncpy(iotx_device_info.device_secret, device_secret, DEVICE_SECRET_LEN);

    /* construct device-id(@product_key+@device_name) */
    ret = HAL_Snprintf(iotx_device_info.device_id, DEVICE_ID_LEN, "%s.%s", product_key, device_name);
    if ((ret < 0) || (ret >= DEVICE_ID_LEN)) {
        log_err("set device info failed");
        return FAIL_RETURN;
    }

    log_debug("device_info set successfully!");
    return SUCCESS_RETURN;
}