📋 设备 API 文档
KeenPlus 智能设备开放接口,供 MicroPython 应用和第三方开发者使用。
文档总览:10 个接口条目
🧭 嵌入式开发指南
先看这组本地文档,再结合下方 API 条目开发。
🎵音频(3)
audio_engine_play_filesince v1.0.0从 SPIFFS 路径播放音频文件,支持 MP3/FLAC/WAV/APE/AAC 格式。
参数
path(const char*)SPIFFS 文件路径,如 /spiffs/music/song.mp3
返回值
esp_err_tESP_OK 成功,ESP_FAIL 文件不存在
C 示例
esp_err_t err = audio_engine_play_file("/spiffs/music/song.mp3");MicroPython 示例
import esp_audio
esp_audio.play("/spiffs/music/song.mp3")audio_engine_set_volumesince v1.0.0设置播放音量,范围 0-100。
参数
vol(uint8_t)音量 0-100
返回值
void无返回值
C 示例
audio_engine_set_volume(75);MicroPython 示例
esp_audio.set_volume(75)audio_engine_pause_resumesince v1.0.0暂停或恢复当前正在播放的音频。
返回值
esp_err_tESP_OK
C 示例
audio_engine_pause_resume();MicroPython 示例
esp_audio.toggle_pause()🖥显示 UI(2)
lv_label_createsince v1.0.0在 LVGL 屏幕上创建文本标签控件。
参数
parent(lv_obj_t*)父对象,传 lv_scr_act() 表示当前屏幕
返回值
lv_obj_t*标签对象指针
C 示例
lv_obj_t *lbl = lv_label_create(lv_scr_act());
lv_label_set_text(lbl, "Hello ESP-S3");MicroPython 示例
import lvgl as lv
lbl = lv.label(lv.scr_act())
lbl.set_text("Hello ESP-S3")🌐网络/云端(2)
cloud_http_getsince v1.0.0发起 HTTP GET 请求,返回响应体。
参数
url(const char*)请求 URLresp(cloud_http_response_t*)输出:响应结构体,用后调用 free
返回值
esp_err_tESP_OK 成功
C 示例
cloud_http_response_t resp = {0};
cloud_http_get("http://example.com/api/data", &resp);
printf("%s", resp.body);
cloud_http_response_free(&resp);MicroPython 示例
import cloud
data = cloud.http_get("http://example.com/api/data")
print(data)cloud_tts_requestsince v1.0.0调用云端 TTS 服务将文本转为 MP3 音频数据。
参数
text(const char*)待合成文本,UTF-8voice(const char*)声音名称,如 zh-CN-XiaoxiaoNeuralmp3_out(uint8_t**)输出:MP3 数据指针,调用方 freelen_out(size_t*)输出:MP3 数据长度
返回值
esp_err_t
C 示例
uint8_t *mp3; size_t len;
cloud_tts_request("你好世界", "zh-CN-XiaoxiaoNeural", &mp3, &len);
audio_player_play_buffer(mp3, len);
free(mp3);MicroPython 示例
import cloud
mp3 = cloud.tts("你好世界", voice="zh-CN-XiaoxiaoNeural")
esp_audio.play_buffer(mp3)💾存储(1)
spiffs_read_filesince v1.0.0从 SPIFFS 读取文件内容到缓冲区。
参数
path(const char*)文件路径buf(char*)输出缓冲区size(size_t)缓冲区大小
返回值
int读取字节数,-1 表示错误
C 示例
char buf[1024];
FILE *f = fopen("/spiffs/data/config.txt", "r");
fread(buf, 1, sizeof(buf), f);
fclose(f);MicroPython 示例
with open("/spiffs/data/config.txt") as f:
content = f.read()
print(content)🔧系统(1)
esp_app_get_descriptionsince v1.0.0获取固件版本、编译时间等设备信息。
返回值
const esp_app_desc_t*固件描述结构体
C 示例
const esp_app_desc_t *d = esp_app_get_description();
printf("Version: %s", d->version);MicroPython 示例
import system
info = system.app_info()
print(info["version"])📤文件传输(1)
transfer_service_startsince v1.0.0启动文件传输服务(BLE 或 Wi-Fi 直连模式)。
参数
mode(transfer_mode_t)TRANSFER_MODE_BLE 或 TRANSFER_MODE_WIFI_DIRECT
返回值
esp_err_t
C 示例
transfer_service_start(TRANSFER_MODE_WIFI_DIRECT);MicroPython 示例
import transfer
transfer.start(mode="wifi")