Page 1 of 1
【分享】TuyaOS中控天气功能开发
Posted: 2023年 Dec 26日 11:34
by pushu
天气功能,可以通过天气接口获取到天气数据,用于屏上展示。天气服务内部会定时更新天气数据。
天气数据
SDK 所支持的天气数据如下,具体可参考 tuya_weather_api.h
文件:
名称 | 标识 | 说明 |
风等级 | TY_WEATHER_WIND_LEVEL_STR | 单位:级,仅中国大陆地区支持 |
温度 | TY_WEATHER_TEMP_STR | 单位:℃ |
最高温度 | TY_WEATHER_TEMP_MAX_STR | 单位:℃,仅其他国家或地区支持 |
最低温度 | TY_WEATHER_TEMP_MIN_STR | 单位:℃,仅其他国家或地区支持 |
湿度 | TY_WEATHER_HUMIDITY_STR | 单位:% |
风速 | TY_WEATHER_WIND_SPEED_STR | 单位:m/s |
风向 | TY_WEATHER_WIND_DIR_STR | 风向 |
空气质量指数 | TY_WEATHER_AIR_AQI_STR | 仅中国大陆地区支持 |
PM2.5 指数 | TY_WEATHER_AIR_PM25_STR | 单位:µg/m³,仅中国大陆地区支持 |
二氧化硫指数 | TY_WEATHER_AIR_SO2_STR | 单位:µg/m³,仅中国大陆地区支持 |
城市 | TY_WEATHER_CITY_STR | 城市 |
天气类型 | TY_WEATHER_CONDITION_NUM_STR | 天气类型 |
天气服务初始化
函数原型 | OPERATE_RET tuya_weather_init(VOID) |
函数描述 | 天气服务初始化 |
返回值 | OPERATE_RET,0:成功; 其他:失败,详见错误码 |
详细描述 | home_init_ex 中已调用该函数,无需再手动调用 |
天气数据全量获取
函数原型 | OPERATE_RET tuya_weather_all_data_get(OUT TY_WEATHER_DATA_S **data, OUT UINT_T *count) |
函数描述 | 天气数据全量获取 |
参数说明 | data,返回的全量天气数据 |
参数说明 | count,返回的天气数据个数 |
返回值 | OPERATE_RET,0:成功; 其他:失败,详见错误码 |
详细描述 | 调用该接口后,data 为可成功获取的全量天气数据,在调用需使用 tuya_weather_data_free 释放申请的内存 |
天气数据单个获取
函数原型 | OPERATE_RET tuya_weather_single_data_get(IN CHAR_T *code, OUT TY_WEATHER_DATA_S **data) |
函数描述 | 天气数据单个获取 |
参数说明 | code,请求的天气数据标识 |
参数说明 | data,返回的天气数据 |
返回值 | OPERATE_RET,0:成功; 其他:失败,详见错误码 |
详细描述 | 调用该接口后,data 为可成功获取单个天气数据,在调用需使用 tuya_weather_data_free 释放申请的内存 |
天气数据内存释放
函数原型 | OPERATE_RET tuya_weather_data_free(IN TY_WEATHER_DATA_S *data, IN CONST UINT_T count) |
函数描述 | 天气数据内存释放 |
参数说明 | data,天气数据 |
参数说明 | count,天气数据个数 |
返回值 | OPERATE_RET,0:成功; 其他:失败,详见错误码 |
详细描述 | 释放内存 |
天气数据主动更新
函数原型 | OPERATE_RET tuya_weather_sync(VOID) |
函数描述 | 天气数据更新 |
返回值 | OPERATE_RET,0:成功; 其他:失败,详见错误码 |
详细描述 | 调用该接口 100ms 后,主动更新天气数据 |