简体中文
简体中文
English
注册
登录
简体中文
简体中文
English
注册
登录
语言
简体中文
简体中文
English
注册
登录

IPC设备如何请求天气数据?

更新时间2024-09-19 02:40:37
查询附件支持的天气code
接口1
/**** 自定义的HTTP(S)交互请求
api_name: 与服务端约定的接口名
api_version: 接口使用的版本,如 1.0 2.0
message: 接口中需要设备上报给服务端的数据内容,一版为JSON格式字符串
result: 服务端返回的消息,会在该函数内部动态申请空间,需要在外部处理完result之后调用Free接口释放内存
****/
OPERATE_RET http_gw_ipc_custom_msg(IN CONST CHAR_T *api_name, IN CONST CHAR_T *api_version, IN CONST CHAR_T *message, OUT cJSON **result);
接口2
/** * @brief iot_httpc_common_post_simple * * @param[in] api_name * @param[in] api_ver * @param[in] post_data * @param[in] p_head_other * @param[out] pp_result * * @return OPERATE_RET */ OPERATE_RET iot_httpc_common_post_simple(IN CONST CHAR_T *api_name, IN CONST CHAR_T *api_ver, IN CHAR_T *post_data, IN CONST CHAR_T *p_head_other, OUT ty_cJSON **pp_result);
请求示例
#define WEATHER_API "thing.weather.get"
#define API_VERSION "1.0"
#define POST_WEATHER_REAL_TIME "{\"codes\": [\"w.currdate\",\"w.humidity\",\"w.conditionNum\",\"w.pressure\",\"w.uvi\",\"w.windDir\",\"w.windSpeed\",\"w.sunrise\",\"w.sunset\",\"w.temp\",\"c.city\",\"c.area\",\"t.local\"]}"
#define POST_WEATHER_FORECAST "{\"codes\": [\"w.date.2\",\"w.conditionNum\",\"w.pressure\",\"w.uvi\",\"w.windDir\",\"w.windSpeed\",\"w.sunrise\",\"w.sunset\",\"c.city\",\"c.area\",\"t.local\"]}"
#define POST_CONTENT POST_WEATHER_REAL_TIME
/**
* @brief http task
*
* @param[in] param:Task parameters
* @return none
*/
VOID example_iot_http(INT_T argc, CHAR_T *argv[])
{
OPERATE_RET rt = OPRT_OK;
ty_cJSON* result = NULL;
CHAR_T *print_data = NULL;
TUYA_CALL_ERR_LOG(iot_httpc_common_post_simple(WEATHER_API, API_VERSION, POST_CONTENT, NULL, &result));
if (NULL == result) {
TAL_PR_DEBUG("result is NULL");
return;
}
print_data = ty_cJSON_PrintUnformatted(result);
if (NULL != print_data) {
TAL_PR_NOTICE("%s", print_data);
ty_cJSON_FreeBuffer(print_data);
print_data = NULL;
}
ty_cJSON_Delete(result);
result = NULL;
return;
}

点击获取服务和帮助

帮助中心