forked from xiaozhi/xiaozhi-esp32
Iot: Use English description
This commit is contained in:
@@ -15,16 +15,16 @@ private:
|
|||||||
bool discharging_ = false;
|
bool discharging_ = false;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Battery() : Thing("Battery", "电池管理") {
|
Battery() : Thing("Battery", "The battery of the device") {
|
||||||
// 定义设备的属性
|
// 定义设备的属性
|
||||||
properties_.AddNumberProperty("level", "当前电量百分比", [this]() -> int {
|
properties_.AddNumberProperty("level", "Current battery level", [this]() -> int {
|
||||||
auto& board = Board::GetInstance();
|
auto& board = Board::GetInstance();
|
||||||
if (board.GetBatteryLevel(level_, charging_, discharging_)) {
|
if (board.GetBatteryLevel(level_, charging_, discharging_)) {
|
||||||
return level_;
|
return level_;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
});
|
});
|
||||||
properties_.AddBooleanProperty("charging", "是否充电中", [this]() -> int {
|
properties_.AddBooleanProperty("charging", "Whether the battery is charging", [this]() -> int {
|
||||||
return charging_;
|
return charging_;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,21 +32,21 @@ private:
|
|||||||
}
|
}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Lamp() : Thing("Lamp", "一个测试用的灯"), power_(false) {
|
Lamp() : Thing("Lamp", "A test lamp"), power_(false) {
|
||||||
InitializeGpio();
|
InitializeGpio();
|
||||||
|
|
||||||
// 定义设备的属性
|
// 定义设备的属性
|
||||||
properties_.AddBooleanProperty("power", "灯是否打开", [this]() -> bool {
|
properties_.AddBooleanProperty("power", "Whether the lamp is on", [this]() -> bool {
|
||||||
return power_;
|
return power_;
|
||||||
});
|
});
|
||||||
|
|
||||||
// 定义设备可以被远程执行的指令
|
// 定义设备可以被远程执行的指令
|
||||||
methods_.AddMethod("TurnOn", "打开灯", ParameterList(), [this](const ParameterList& parameters) {
|
methods_.AddMethod("turn_on", "Turn on the lamp", ParameterList(), [this](const ParameterList& parameters) {
|
||||||
power_ = true;
|
power_ = true;
|
||||||
gpio_set_level(gpio_num_, 1);
|
gpio_set_level(gpio_num_, 1);
|
||||||
});
|
});
|
||||||
|
|
||||||
methods_.AddMethod("TurnOff", "关闭灯", ParameterList(), [this](const ParameterList& parameters) {
|
methods_.AddMethod("turn_off", "Turn off the lamp", ParameterList(), [this](const ParameterList& parameters) {
|
||||||
power_ = false;
|
power_ = false;
|
||||||
gpio_set_level(gpio_num_, 0);
|
gpio_set_level(gpio_num_, 0);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -13,22 +13,22 @@ namespace iot {
|
|||||||
// 这里仅定义 Screen 的属性和方法,不包含具体的实现
|
// 这里仅定义 Screen 的属性和方法,不包含具体的实现
|
||||||
class Screen : public Thing {
|
class Screen : public Thing {
|
||||||
public:
|
public:
|
||||||
Screen() : Thing("Screen", "这是一个屏幕,可设置主题和亮度") {
|
Screen() : Thing("Screen", "A screen that can set theme and brightness") {
|
||||||
// 定义设备的属性
|
// 定义设备的属性
|
||||||
properties_.AddStringProperty("theme", "主题", [this]() -> std::string {
|
properties_.AddStringProperty("theme", "Current theme", [this]() -> std::string {
|
||||||
auto theme = Board::GetInstance().GetDisplay()->GetTheme();
|
auto theme = Board::GetInstance().GetDisplay()->GetTheme();
|
||||||
return theme;
|
return theme;
|
||||||
});
|
});
|
||||||
|
|
||||||
properties_.AddNumberProperty("brightness", "当前亮度百分比", [this]() -> int {
|
properties_.AddNumberProperty("brightness", "Current brightness percentage", [this]() -> int {
|
||||||
// 这里可以添加获取当前亮度的逻辑
|
// 这里可以添加获取当前亮度的逻辑
|
||||||
auto backlight = Board::GetInstance().GetBacklight();
|
auto backlight = Board::GetInstance().GetBacklight();
|
||||||
return backlight ? backlight->brightness() : 100;
|
return backlight ? backlight->brightness() : 100;
|
||||||
});
|
});
|
||||||
|
|
||||||
// 定义设备可以被远程执行的指令
|
// 定义设备可以被远程执行的指令
|
||||||
methods_.AddMethod("SetTheme", "设置屏幕主题", ParameterList({
|
methods_.AddMethod("set_theme", "Set the screen theme", ParameterList({
|
||||||
Parameter("theme_name", "主题模式, light 或 dark", kValueTypeString, true)
|
Parameter("theme_name", "Valid string values are \"light\" and \"dark\"", kValueTypeString, true)
|
||||||
}), [this](const ParameterList& parameters) {
|
}), [this](const ParameterList& parameters) {
|
||||||
std::string theme_name = static_cast<std::string>(parameters["theme_name"].string());
|
std::string theme_name = static_cast<std::string>(parameters["theme_name"].string());
|
||||||
auto display = Board::GetInstance().GetDisplay();
|
auto display = Board::GetInstance().GetDisplay();
|
||||||
@@ -37,8 +37,8 @@ public:
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
methods_.AddMethod("SetBrightness", "设置亮度", ParameterList({
|
methods_.AddMethod("set_brightness", "Set the brightness", ParameterList({
|
||||||
Parameter("brightness", "0到100之间的整数", kValueTypeNumber, true)
|
Parameter("brightness", "An integer between 0 and 100", kValueTypeNumber, true)
|
||||||
}), [this](const ParameterList& parameters) {
|
}), [this](const ParameterList& parameters) {
|
||||||
uint8_t brightness = static_cast<uint8_t>(parameters["brightness"].number());
|
uint8_t brightness = static_cast<uint8_t>(parameters["brightness"].number());
|
||||||
auto backlight = Board::GetInstance().GetBacklight();
|
auto backlight = Board::GetInstance().GetBacklight();
|
||||||
|
|||||||
@@ -11,16 +11,16 @@ namespace iot {
|
|||||||
// 这里仅定义 Speaker 的属性和方法,不包含具体的实现
|
// 这里仅定义 Speaker 的属性和方法,不包含具体的实现
|
||||||
class Speaker : public Thing {
|
class Speaker : public Thing {
|
||||||
public:
|
public:
|
||||||
Speaker() : Thing("Speaker", "扬声器") {
|
Speaker() : Thing("AudioSpeaker", "The audio speaker of the device") {
|
||||||
// 定义设备的属性
|
// 定义设备的属性
|
||||||
properties_.AddNumberProperty("volume", "当前音量值", [this]() -> int {
|
properties_.AddNumberProperty("volume", "Current audio volume value", [this]() -> int {
|
||||||
auto codec = Board::GetInstance().GetAudioCodec();
|
auto codec = Board::GetInstance().GetAudioCodec();
|
||||||
return codec->output_volume();
|
return codec->output_volume();
|
||||||
});
|
});
|
||||||
|
|
||||||
// 定义设备可以被远程执行的指令
|
// 定义设备可以被远程执行的指令
|
||||||
methods_.AddMethod("SetVolume", "设置音量", ParameterList({
|
methods_.AddMethod("set_volume", "Set the audio volume", ParameterList({
|
||||||
Parameter("volume", "0到100之间的整数", kValueTypeNumber, true)
|
Parameter("volume", "An integer between 0 and 100", kValueTypeNumber, true)
|
||||||
}), [this](const ParameterList& parameters) {
|
}), [this](const ParameterList& parameters) {
|
||||||
auto codec = Board::GetInstance().GetAudioCodec();
|
auto codec = Board::GetInstance().GetAudioCodec();
|
||||||
codec->SetOutputVolume(static_cast<uint8_t>(parameters["volume"].number()));
|
codec->SetOutputVolume(static_cast<uint8_t>(parameters["volume"].number()));
|
||||||
|
|||||||
Reference in New Issue
Block a user