CI-03T 离线语音模组图形化编程完全指南:从零到实战

5 阅读8分钟

前言

对于嵌入式开发初学者或非专业开发者来说,编写 C 代码可能是一个不小的门槛。幸运的是,SmartPi 的 CI-03T/CI-33T 系列离线语音模组支持使用米思奇(Mixly)进行图形化积木编程,开发者无需编写一行 C 代码即可实现语音控制、串口通信等复杂功能。 本文将系统介绍如何从零开始搭建 CI-03T 的图形化开发环境,并实现与 Arduino 的串口通信交互。所有技术参数已与官方文档交叉验证。

为什么选择图形化编程?

传统代码开发 vs 图形化编程

对比项传统 C 代码开发米思奇图形化编程
学习门槛需要掌握 C 语言语法拖拽积木块,无需代码基础
开发效率需要手动编写编译配置可视化配置,所见即所得
调试难度需要熟悉串口调试工具内置调试功能,问题定位直观
适用人群专业嵌入式开发者创客、学生、快速原型开发者

支持的模组型号

  • CI-03T:经典离线语音识别模组
  • CI-33T:增强版离线语音模组
  • CI-03T2:CI-03T 的升级版本

开发环境搭建

第一步:下载安装包

官方提供了一体化安装包,包含:

  • 米思奇(Mixly)软件
  • CI-03T 板卡支持文件
  • 固件生成工具(blockTool.exe)

下载地址:米思奇软件安装和模块导入

第二步:安装 Notepad++ 并配置账号

  1. 安装 Notepad++(用于编辑配置文件)
  2. 找到 CI-03T安装包/ci03t/build 目录下的 blockTool.exe.config 文件
  3. 使用 Notepad++ 打开,填写智能公元平台的账号和密码
<appSettings>
    <add key="username" value="your_smartpi_username" />
    <add key="password" value="your_smartpi_password" />
</appSettings>

第三步:更新米思奇软件

!!! tip "重要提示" 使用前请务必将米思奇软件更新到 Mixly 2.0 rc4 版本!绝大多数报错都是版本不一致导致的。 打开米思奇安装包,选择 "一键更新"。建议多更新两次,确保更新到位。

第四步:导入 CI-03T 板卡

  1. 打开米思奇软件
  2. 点击右上角板卡选择列表
  3. 选择 "导入库"
  4. 浏览到安装包中的 rc4_ci03t 文件夹
  5. 选择整个文件夹(无需选择单个文件)

!!! warning "常见错误" 不要试图选择单个 .java.xml 文件,应选择整个 rc4_ci03t 文件夹。

第五步:硬件连接

将 CI-03T 模组与 CH340 USB 转串口模块连接:

CI-03T 引脚CH340 引脚说明
TXRX发送 → 接收(交叉连接)
RXTX接收 → 发送(交叉连接)
GNDGND共地
5V/3.3V5V/3.3V供电保持一致
连接完成后,通过 USB 线将 CH340 接入电脑。

实战案例:语音控制 Arduino LED

本案例实现:对 CI-03T 说"打开空调",Arduino 点亮 LED;说"关闭空调",LED 熄灭。

硬件准备

  • CI-03T 语音模组
  • Arduino 开发板(Uno/Nano 均可)
  • LED 一个
  • 220Ω 电阻一个
  • 面包板及杜邦线若干

硬件连接

CI-03T 与 Arduino 连接:

CI-03T 引脚Arduino 引脚
TXRX (Pin 0)
RXTX (Pin 1)
GNDGND
5V5V
LED 连接到 Arduino Pin 13(板载 LED)或外接 LED。

米思奇积木编程

在米思奇中搭建以下逻辑:

┌─────────────────────────────────────┐
│        当设备启动时                  │
└──────────────┬──────────────────────┘
               │
               ▼
┌─────────────────────────────────────┐
│    初始化串口:波特率 9600           │
└─────────────────────────────────────┘
               │
      ┌────────┴────────┐
      │                 │
      ▼                 ▼
┌─────────────┐   ┌─────────────┐
│识别"打开空调"│   │识别"关闭空调"│
└──────┬──────┘   └──────┬──────┘
       │                │
       ▼                ▼
┌─────────────┐   ┌─────────────┐
│串口发送"AC_ON"│  │串口发送"AC_OFF"│
└─────────────┘   └─────────────┘

Arduino 代码

void setup() {
  // 初始化串口通信,波特率与 CI-03T 保持一致
  Serial.begin(9600);
  // 设置 Pin 13 为输出模式
  pinMode(13, OUTPUT);
}
​
void loop() {
  // 检查串口是否有数据
  if (Serial.available() > 0) {
    // 读取串口字符串
    String cmd = Serial.readString();
​
    // 去除换行符
    cmd.trim();
​
    // 根据命令执行操作
    if (cmd == "AC_ON") {
      digitalWrite(13, HIGH);  // 点亮 LED
    } else if (cmd == "AC_OFF") {
      digitalWrite(13, LOW);   // 熄灭 LED
    }
  }
}

上传与测试

  1. 点击米思奇左上角 "上传" 按钮
  2. 等待约 3 分钟固件生成完成
  3. 根据提示将 CI-03T 重新上电
  4. 对着 CI-03T 说"打开空调",观察 LED 是否点亮
  5. 对着 CI-03T 说"关闭空调",观察 LED 是否熄灭

常用积木指令参考

流程控制积木

积木块功能说明
顺序执行按顺序执行连接的积木块
如果…那么…否则…条件判断语句
重复 N 次循环执行指定次数
一直重复无限循环

变量与运算积木

积木块功能说明
创建变量创建数字/文本/布尔变量
设置变量为给变量赋值
变量 + 数字数值运算(加减乘除)
变量 = 数字比较运算(大于/小于/等于)

串口通信积木

积木块功能说明
初始化串口设置波特率(9600/115200)
串口发送字符串向外部设备发送文本
串口发送数字向外部设备发送数值
串口接收字符串从外部设备读取数据

硬件控制积木

积木块功能说明
设置数字引脚输出高/低电平
设置 PWM 输出调节亮度或速度
读取数字引脚读取按键或传感器
读取模拟引脚读取电位器或模拟传感器

常见问题排查

问题一:上传卡住或报错

可能原因:

  • blockTool.exe.config 账号密码错误
  • 网络连接不稳定
  • 米思奇版本过低

解决方案:

  1. 检查配置文件中的账号密码是否正确
  2. 确认网络连接正常
  3. 更新米思奇到 Mixly 2.0 rc4
  4. 重启米思奇软件

问题二:串口接收不到数据

可能原因:

  • TX/RX 连接错误(需要交叉连接)
  • 波特率不一致
  • 串口号被占用

解决方案:

  1. 检查 CI-03T 的 TX 是否连接到 Arduino 的 RX
  2. 确认两边波特率设置一致(通常为 9600)
  3. 关闭串口监视器后再测试

问题三:语音指令无法识别

可能原因:

  • 技能未发布
  • 固件版本过旧
  • 麦克风或供电问题

解决方案:

  1. 在智能公元平台发布技能并同步词库
  2. 烧录最新版本固件
  3. 使用 5V 稳定供电
  4. 麦克风远离噪音源

问题四:提示"不是内部或外部命令"

可能原因:

  • blockTool.exe 路径错误
  • 中文路径问题
  • 文件解压不完整

解决方案:

  1. 检查 build 文件夹中是否存在 blockTool.exe
  2. 将安装包解压到纯英文路径(如 C:\Mixly
  3. 重新下载并解压安装包

问题五:Mixly 固件生成过慢

**问题描述:**在 Mixly 平台生成固件时,等待时间过长,半节课仍未完成。 解决方案:

  1. 使用快速模式:生成时间约 3 分钟
  2. 平台直接开发:登录 smartpi.cn 平台直接生成,速度更快
  3. 错峰使用:避开工作日上午等高峰时段

进阶技巧

使用变量播报

┌─────────────────────────────────────┐
│    设置变量"温度"25               │
└──────────────┬──────────────────────┘
               │
               ▼
┌─────────────────────────────────────┐
│    播报变量"温度"                   │
└─────────────────────────────────────┘

!!! warning "注意事项"

  • 变量播报需要使用专门的"播报变量"积木块
    • 不能直接将变量放入文本播报中
      • 确保变量已正确初始化

与 SSD1306 OLED 显示屏配合

在米思奇中使用 U8g2 库驱动 SSD1306 显示中文:

#include <U8g2lib.h>
​
U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0);
​
void setup() {
  u8g2.begin();
  u8g2.setFont(u8g2_font_chinese16_1); // 设置中文字体
}
​
void loop() {
  u8g2.clearBuffer();
  u8g2.setCursor(0, 10);
  u8g2.print("你好"); // 显示中文
  u8g2.sendBuffer();
}

学习资源

资源类型链接
官方 Block 文档help.aimachip.com/docs/block
Mixly 官方手册mixly.org/
智能公元平台smartpi.cn/
新手入门视频www.bilibili.com/video/BV1e8…
基础教程视频www.bilibili.com/video/BV11Y…

总结

米思奇图形化编程为 CI-03T 离线语音模组提供了零门槛的开发方式。通过拖拽积木块,开发者可以快速实现:

  • 语音识别与控制
  • 串口通信与数据交互
  • GPIO 控制与传感器读取
  • 与 Arduino/STM32 等外部 MCU 协作

上手清单:

  • 下载并安装米思奇 Mixly 2.0 rc4
  • 配置 blockTool.exe.config 账号密码
  • 导入 CI-03T 板卡支持文件
  • 完成第一个 LED 控制案例
  • 探索更多积木指令组合

图形化编程不仅是学习嵌入式开发的起点,也是快速验证创意想法的有力工具。从简单的 LED 控制开始,逐步探索语音交互的无限可能。

参考资源

资源类型链接
官方 Block 文档help.aimachip.com/docs/block
Mixly 官方手册mixly.org/
智能公元平台smartpi.cn/
新手入门视频www.bilibili.com/video/BV1e8…
基础教程视频www.bilibili.com/video/BV11Y…
相关标签:CI-03T、米思奇、图形化编程、Arduino、串口通信、离线语音、积木编程