int edit_datapoint(int device_id,int sensor_id,const char* json,const char* API_KEY,char* result) { char* url=(char*)malloc(sizeof(char)*128); struct curl_slist *headers = 0; int ret; sprintf(url,"%s/%d/sensor/%d/datapoints/ ",YEELINK_BASE_API_URL, device_id,sensor_id); ret=yeelink_post(url,json,API_KEY,result); debug("result:%s\n",result); curl_slist_free_all(headers); free(url); return ret; }
VOID Yeelink_Run(VOID *arg) { int ret; char *buffer = NULL; while(1){ if(TCPClient_reset_flag == 1) { //得到各个传感器数值 GetSensorData(); //粉尘浓度 376377 buffer = yeelink_post(AirTest_ID,Dust_ID,sensordata.Dust); ret = Socket_TCPClientSendData(buffer,strlen(buffer)); if (ret <= 0) { Yeelink_Printf(GAGENT_WARNING,"Dust=>Send failed(ret:%d).\n", ret); } else { TCPClient_reset_flag = 2; Yeelink_Printf(GAGENT_WARNING,"Dust=>Send success.\n"); } while(TCPClient_reset_flag != 1) OSTimeDly(100); //室内温度 376378 buffer = yeelink_post(AirTest_ID,Temp_ID,sensordata.Temperature); ret = Socket_TCPClientSendData(buffer,strlen(buffer)); if (ret <= 0) { Yeelink_Printf(GAGENT_WARNING,"Temperature=>Send data failed(ret:%d).\n", ret); } else { TCPClient_reset_flag = 2; Yeelink_Printf(GAGENT_WARNING,"Temperature=>Send data success.\n"); } while(TCPClient_reset_flag != 1) OSTimeDly(10); OSTimeDly(100); //甲醛浓度 376382 buffer = yeelink_post(AirTest_ID,Methanal_ID,sensordata.Methanal); ret = Socket_TCPClientSendData(buffer,strlen(buffer)); if (ret <= 0) { Yeelink_Printf(GAGENT_WARNING,"Methanal=>Send data failed(ret:%d).\n", ret); } else { TCPClient_reset_flag = 2; Yeelink_Printf(GAGENT_WARNING,"Methanal=>Send data success.\n"); } while(TCPClient_reset_flag != 1) OSTimeDly(100); //室内湿度 376383 buffer = yeelink_post(AirTest_ID,Humidity_ID,(int)sensordata.Humidity); ret = Socket_TCPClientSendData(buffer,strlen(buffer)); if (ret <= 0) { Yeelink_Printf(GAGENT_WARNING,"Humidity=>Send data failed(ret:%d).\n", ret); } else { TCPClient_reset_flag = 2; Yeelink_Printf(GAGENT_WARNING,"Humidity=>Send data success.\n"); } while(TCPClient_reset_flag != 1) OSTimeDly(100); //空气质量指数 376376 buffer = yeelink_post(AirTest_ID,AQI_ID,sensordata.AQI); ret = Socket_TCPClientSendData(buffer,strlen(buffer)); if (ret <= 0) { Yeelink_Printf(GAGENT_WARNING,"AQI=>Send data failed(ret:%d).\n", ret); } else { TCPClient_reset_flag = 2; Yeelink_Printf(GAGENT_WARNING,"AQI=>Send data success.\n"); } while(TCPClient_reset_flag != 1) OSTimeDly(100); } OSTimeDly(100); } }