淘宝API接口,结果如下(我目前知道的唯一能用的)
代码放到下面了
void Gettime(void)
{
uint16_t outime=15000;
cJSON *root=NULL;
cJSON *data=NULL;
cJSON *t=NULL;
time_t tim=0;
struct tm c = {0};
memset(UART1_RX_BUF,0,1024);
UART1_Send_Data1("AT\r\n");
delay_ms(1000);
UART1_Send_Data1("AT+CWMODE_DEF=1\r\n");
delay_ms(500);
//一定要连上网,因为esp联网会保存下来下次自动联网,所以我就没写
// UART1_Send_Data1("GET http://api.m.taobao.com/rest/api3.do?api=mtop.common.getTimestamp\r\n");
UART1_Send_Data1("GET http://api.k780.com:88/?app=life.time&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json\r\n");
while(outime){
// if(wifi.rxflag==1)
if(1){
root=cJSON_Parse((char *)UART1_RX_BUF);
data=cJSON_GetObjectItem(root,"data");
t=cJSON_GetObjectItem(data,"t");
// printf("time=%lld\r\n",atoll(t->valuestring));
//这里就是把时间戳存在在timevalue里面
for(int i=0;i<strlen(t->valuestring)-3;i++){
timevalue[i]=t->valuestring[i];
}
//如果是用RTC的话,就把这两行注释取消掉,我是用的屏幕
// printf("timevalue=%lld\r\n",atoll((char *)timevalue));
// RTC_Configuration();
// RTC_SetCounter(atoll((char *)timevalue));
num1=atoll((char *)timevalue);
SerialSreen_printf("%s\"%ll\"",TIME_YEAR,num1);
// UART1_Send_Data1("+++");
// delay_ms(1000);
// UART1_Send_Data1("AT+CIPCLOSE\r\n");
// delay_ms(2000);
cJSON_Delete(root);
memset(UART1_RX_BUF,0,1024);
return;
}
outime--;
delay_ms(1);
}
}
Api.k780.com API接口的话,结果如下,总结就是不能用了
苏宁API接口,也不能用了