esp_quotes 是服务于 ESP-IDF 的组件,用于获取随机的名人名言、古诗词、每日一句、今日新闻等,提供多个内置 API 源的选择。
已支持的 API:
| API 名称 | 来源 | 说明 |
|---|---|---|
iciba |
金山词霸 | 提供每日一句英文以及对应的中文翻译和图片。 |
hitokoto |
一言 | 提供一句源自于 ACG(动漫、漫画、游戏)文化等的句子。 |
jinrishici |
今日诗词 | 提供一句优美的中国古诗词。 |
shanbay |
扇贝单词 | 提供每日一句英文以及对应的中文翻译和图片。 |
xygeng-one |
XY-API | 提供一句源自于漫画、歌曲评论、影视剧等的句子 |
keai-wangyiyun |
网易云热评 | 提供一句随机的网易云热评 |
该组件封装了 HTTP 请求、JSON 解析和内存管理等复杂操作,提供了简洁的接口供上层应用调用。
要将组件添加到项目中,请在 ESP-IDF 终端执行下方命令:
idf.py add-dependency "mdlzcool/esp_quotes*"或者直接克隆本仓库到项目 components 目录下:
git clone https://github.com/MDLZCOOL/esp_quotes在您的 ESP-IDF 项目根目录下,运行 idf.py menuconfig 命令来配置组件。
- 进入
Component config ---> - 找到
Quotes Configuration ---> - 根据您的需求选择一个 API 来源。
(Top) → Component config → Quotes Configuration
[ ] none (Implement it yourself)
[ ] Use iciba API
[ ] Use hitokoto API
[ ] Use jinrishici API
[ ] Use shanbay API
Note
如果您选择 none (Implement yourself),quotes_fetch 函数将不会执行任何操作。您需要自行实现数据获取逻辑。
以下是一个在您的项目种使用该组件的简单示例:
#include "quotes.h"
void app_main(void)
{
/* 联网部分省略 */
/* 存储 quote 信息 */
quote_info_t quote;
/* quotes_fetch 会根据 menuconfig 中的配置自动选择 API */
if (quotes_fetch("e) == 0)
{
/* 打印获取到的信息 */
/* 获取到的信息存储在quote_info_t里,亦可直接调用 */
quotes_print("e);
}
/* 用完后释放,防止内存泄漏 */
quotes_info_free("e);
}本项目采用 MIT 许可证,详情请参阅 LICENSE.txt 文件,本项目仍在完善中,可能会有一些功能尚未完善或存在 Bug。如果您在使用过程中遇到任何问题,请随时联系作者或提交 Issue 来帮助改进本项目!同时欢迎提供新的 API,我会审查后第一时间更新支持。