esp32获取网络时间

文章目录


esp32获取天气数据的流程类似的,我们从另一个网站获取时间。

#define TIME_URL "https://api.uukit.com/time"	//api接口

我们对其接口发起请求,返回结果如下:

{
    "status": 1,
    "data": {
        "timestamp": 1616556071,
        "microtime": 1616556071.259844,
        "gmt": "2021-03-24 03:21:11",
        "utc": "2021-03-24T03:21:11Z",
        "timezone": "Shanghai"
    },
    "req_id": "3b853233236df4a63608"
}

以下代码实现对该接口的请求,并使用cjson解析出时间信息。

            config.url = TIME_URL;  //设置url,请求方式
            config.method = HTTP_METHOD_GET;
            printf("start connect to url = %s\r\n",config.url);
            client = esp_http_client_init(&config);
            esp_http_client_perform(client);    //发起http连接
            esp_http_client_close(client);
            esp_http_client_cleanup(client);

            cJSON *root = cJSON_Parse(http_data);   //解析返回的时间json数据
            if(root!=NULL)
            {
                cJSON *time = cJSON_GetObjectItem(root,"data");
                time = cJSON_GetObjectItem(time, "gmt");
                char *t = cJSON_GetStringValue(time);
                if(t==NULL)
                {
                    ESP_LOGI(TAG, "time error");
                }else{

                ESP_LOGI(TAG, "time = %s",t);
                
                strncpy(str_time, t, 25);   //将字符串复制到str_time

                cJSON_Delete(root);
  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值