蓝笔方块 发表于 2025-5-29 11:57:08

编程狮roco版本发布及下载

编程狮roco 1.2.0
roco板 购买链接
更新内容:
1.增加扩展将另一个板子作为mcp客户端
2.修复iot列表丢失问题
3.rgb扩展增加多灯带支持,优化首次编译速度
4.其它已知bugs
百度网盘下载
版本:编程狮Roco_v1.2.0_win_x64.exe

夸克网盘下载
版本:编程狮Roco_v1.1.0_win_x64.exe



编程狮roco 1.1.0
更新内容:
1.增加表情显示电机驱动等扩展。
2.物联移到扩展中且使用更简单了。
3.增加新板卡编程狮roco板,支持唤醒词/实时打断(你好小智)。购买链接
4.增加缓存机制,二次编译速度显著提升。
5.修复已知bugs。
百度网盘下载
版本:编程狮Roco_v1.1.0_win_x64.exe

夸克网盘下载
版本:编程狮Roco_v1.1.0_win_x64.exe

编程狮roco 1.0.0
百度网盘下载
版本:编程狮Roco_v1.0.0_win_x64.exe

夸克网盘下载
版本:编程狮Roco_v1.0.0_win_x64.exe

介绍:编程狮roco是一款支持小智esp32的图像化编程软件。

[*]自定义按键唤醒和打断
[*]流式语音对话(WebSocket 或 UDP 协议)
[*]支持国语、粤语、英语、日语、韩语 5 种语言识别
[*]声纹识别,识别是谁在喊 AI 的名字
[*]大模型 TTS(火山引擎 或 CosyVoice)
[*]大模型 LLM(Qwen, DeepSeek, Doubao)
[*]可配置的提示词和音色(自定义角色)
[*]短期记忆,每轮对话后自我总结
[*]自定义OLED 显示屏内容
[*]自定义iot设备控制和传感器读取
[*]请登录后台xiaozhi.me自定义设置


交流群:

作者:







yptsai7 发表于 2025-6-7 19:08:07

请问可有MQTT的例子?谢谢。

yptsai7 发表于 2025-6-7 19:13:09

请问有支持ESP32(4MB)的小智AI?谢谢。

蓝笔方块 发表于 2025-6-8 08:53:09

yptsai7 发表于 2025-6-7 19:13
请问有支持ESP32(4MB)的小智AI?谢谢。

仅支持s3

yptsai7 发表于 2025-6-9 09:25:43

请问可有播放WS2812的例子?谢谢。

yptsai7 发表于 2025-6-12 20:55:37

yptsai7 发表于 2025-6-9 09:25
请问可有播放WS2812的例子?谢谢。

由于积木中没有命令为字串?我简单写个测试,部分码如下:
void handleIotControl(const std::string& name, const std::string& function,
      const std::map<std::string, ai_vox::iot::Value>& params) {
          if (name == "strip") {
      if (function == "Setstate") {
      std::string color_str = std::get<std::string>(params.at("color"));
      
      if (color_str.find("红色") != std::string::npos) {
          strip.setLedColorData(0,0xFF0000);
      } else if (color_str.find("绿色") != std::string::npos) {
          strip.setLedColorData(0,0x00FF00);
      } else if (color_str.find("蓝色") != std::string::npos) {
          strip.setLedColorData(0,0x0000FF);
      } else {
          // 處理 HEX 顏色碼
         
      }
            strip.show();
            g_strip_entity->UpdateState("state",color_str);
         
          }
      }
      }

void setupIotDevices() {
{
          std::vector<ai_vox::iot::Property> strip_props{
            {"state", "灯条的颜色", ai_vox::iot::ValueType::kString}
          };

          std::vector<ai_vox::iot::Function> strip_funcs{
            {"Setstate", "设置灯条的颜色", {
            {"color", "设置灯条的颜色", ai_vox::iot::ValueType::kString}
          }}
          };

          g_strip_entity = std::make_shared<ai_vox::iot::Entity>("strip", "灯条的颜色", strip_props, strip_funcs);
          g_strip_entity->UpdateState("state", "");
          g_ai_vox->registerIotDevice(g_strip_entity);
      }
}

蓝笔方块 发表于 2025-6-13 15:29:54

yptsai7 发表于 2025-6-12 20:55
由于积木中没有命令为字串?我简单写个测试,部分码如下:
void handleIotControl(const std::string& name ...

在做这个库

yptsai7 发表于 2025-6-16 15:08:29

yptsai7 发表于 2025-6-7 19:08
请问可有MQTT的例子?谢谢。

参考网路资料MQTT例子:https://wokwi.com/projects/357290123425943553
改写部分代码如下:
void handleIotControl(const std::string& name, const std::string& function,
      const std::map<std::string, ai_vox::iot::Value>& params) {
          if (name == "led") {
      if (function == "TurnOn") {
          MQTTClient.publish(MQTTPubTopic, "ON");
          digitalWrite(21, LOW);
          g_led_entity->UpdateState("state",true);
      }
      if (function == "TurnOff") {
          MQTTClient.publish(MQTTPubTopic, "OFF");
          digitalWrite(21, HIGH);
          g_led_entity->UpdateState("state",false);
      }
      }
    }

void setup() {
Serial.begin(115200);
AiVoxCore::AudioConfig audio_config{kMicPinBclk, kMicPinWs, kMicPinDin,kSpeakerPinBclk, kSpeakerPinWs, kSpeakerPinDout};
g_ai_vox = new AiVoxCore(audio_config, kTriggerPin, kWifiSsid, kWifiPassword);
OLEDDisplay::Init(kI2cPinSda, kI2cPinScl, kDisplayWidth, kDisplayHeight, kDisplayMirrorX, kDisplayMirrorY, kI2cAddress);
g_ai_vox->onStateChange(handleStateChange);
g_ai_vox->onChatMessage(handleChatMessage);
g_ai_vox->onEmotion(handleEmotion);
pinMode(21, OUTPUT);
digitalWrite(21,LOW);
g_ai_vox->onIotControl(handleIotControl);
setupIotDevices();
g_ai_vox->begin();
delay(5000);
//开始MQTT连线
MQTTConnecte();
digitalWrite(21, HIGH);
}

void loop() {
if (!MQTTClient.connected()) { MQTTConnecte();} // 如果 MQTT 连线中断,则重启 MQTT 连线
MQTTClient.loop();//更新订阅状态
delay(50);
repeat();
}

void repeat() {
g_ai_vox->update();
}

//开始MQTT连线
void MQTTConnecte() {
MQTTClient.setServer(MQTTServer, MQTTPort);
//以下开始处理订阅主题
//MQTTClient.setCallback(MQTTCallback); //收到订阅资料时,要处理MQTTCALLBACK
while (!MQTTClient.connected()) {
    //以乱数为ClietID
    StringMQTTClientid = "esp32-" + String(random(1000000, 9999999));//建立一个邮差,为了要不一样,所以使用乱数
    if (MQTTClient.connect(MQTTClientid.c_str(), MQTTUser, MQTTPassword)) {
      //连结成功,显示「已连线」。
      Serial.println("MQTT已连线");
      MQTTClient.publish(MQTTPubTopic, "Hello");
    } else {
      //若连线不成功,则显示错误讯息,并重新连线
      Serial.print("MQTT连线失败,状态码=");
      Serial.println(MQTTClient.state());
      Serial.println("五秒后重新连线");
      delay(5000);
    }
}
}

yptsai7 发表于 2025-6-18 10:50:49

希望编程狮roco2的CoAI能增添:激活事件回调型别

蓝笔方块 发表于 2025-6-18 15:02:25

yptsai7 发表于 2025-6-18 10:50
希望编程狮roco2的CoAI能增添:激活事件回调型别

应用在哪些情况?
页: [1] 2
查看完整版本: 编程狮roco版本发布及下载