第二章 环境搭建(上):安装STM32CubeMX、X-CUBE-AI扩展包、以及必要的Python环境(TensorFlow/Keras)
好,咱们正式开始动手了。
这一章,说白了就是“搭灶台”。你模型训练得再好,AI算法再牛,要是环境没搭对,代码生成不了,一切都是白搭。我见过太多新手,卡在安装这一步,一卡就是半天,最后跑来问我:“为什么我的STM32CubeMX里找不到AI选项?”——嗯,多半是扩展包没装对。
所以这一章,我带你一步步把环境捋顺。咱们分三块走:STM32CubeMX、X-CUBE-AI扩展包、还有Python的TensorFlow/Keras环境。别急,一个一个来。
2.1 安装STM32CubeMX
STM32CubeMX是ST官方出品的图形化配置工具。你可以把它理解成一个“图形化代码生成器”。你点点鼠标,选好芯片、配好外设,它就能帮你生成初始化代码。咱们做AI部署,也得靠它来生成最终的工程。
安装步骤很简单:
- 去ST官网搜索“STM32CubeMX”,下载安装包。
- 双击运行,一路“Next”。注意安装路径不要有中文。
- 安装完成后,打开软件,它会自动检查更新。建议更新到最新。
嗯,这里有个小坑:有些电脑的杀毒软件会拦截CubeMX的安装进程。如果遇到安装失败,先关掉杀毒软件试试。我曾经在一台公司电脑上装了三次都没成功,最后发现是安全策略给锁了。
2.2 安装X-CUBE-AI扩展包
X-CUBE-AI,这才是咱们这节课的主角。它是ST专门用来把训练好的神经网络模型,转换成可以在STM32上运行的C代码的工具。没有它,你的模型就是个“哑巴”。
安装方式有两种,我分别说一下:
方式一:在CubeMX内在线安装(推荐)
- 打开STM32CubeMX,点击菜单栏的 Help → Manage embedded software packages。
- 在弹出的窗口中,找到 X-CUBE-AI,勾选你需要的版本。
- 点击 Install Now,等待下载完成。
这种方式最省心。但有个前提:你的网络要能访问ST的服务器。如果你在公司内网,或者网络环境不太好,可能会下载失败。我遇到过好几次,下载到一半卡住了,进度条一动不动。这时候别傻等,直接取消,换第二种方式。
方式二:手动下载安装包
- 去ST官网搜索“X-CUBE-AI”,找到下载页面。
- 下载对应的压缩包(通常是 .zip 格式)。
- 在CubeMX中,点击 Help → Manage embedded software packages,然后点击左下角的 From Local 按钮。
- 选择你刚才下载的压缩包,导入即可。
2.3 安装Python环境与TensorFlow/Keras
好了,ST那边的工具搞定了。接下来是咱们的“老本行”——Python环境。你训练模型总得有个地方跑吧?
我个人强烈推荐使用 Anaconda 来管理Python环境。为什么?因为你可以为每个项目创建独立的虚拟环境,互不干扰。你想想看,你同时做两个项目,一个用TensorFlow 2.4,一个用TensorFlow 2.10,如果装在一个环境里,迟早要打架。
2.3.1 安装Anaconda
- 去Anaconda官网下载安装包(选择Python 3.x版本)。
- 安装时,记得勾选 Add Anaconda to my PATH environment variable。这一步很多人会忽略,导致后面在命令行里找不到conda命令。
- 安装完成后,打开命令行(CMD或PowerShell),输入
conda --version,如果能显示版本号,说明安装成功。
2.3.2 创建虚拟环境并安装TensorFlow
接下来,咱们创建一个专门用于AI模型训练的虚拟环境。我习惯给它起名叫 stm32_ai,你也可以随便起。
# 创建虚拟环境,指定Python版本为3.8
conda create -n stm32_ai python=3.8
# 激活环境
conda activate stm32_ai
# 安装TensorFlow(包含Keras)
pip install tensorflow==2.10.0
pip install tensorflow,结果装了个2.15版本。后来发现X-CUBE-AI对TensorFlow 2.10以上的版本支持不太好,模型转换时老是报错。所以,我建议你安装2.10.0版本,这是目前最稳定的搭配。
安装完成后,可以验证一下:
python -c "import tensorflow as tf; print(tf.__version__)"
如果输出了 2.10.0,恭喜你,环境搭好了。
2.3.3 安装其他依赖库
除了TensorFlow,咱们可能还需要一些辅助库。比如处理数据的NumPy、画图的Matplotlib。你可以一次性装好:
pip install numpy matplotlib scikit-learn
嗯,这些不是必须的,但后面做模型训练和验证时会用到。提前装好,省得到时候手忙脚乱。
2.4 验证环境是否打通
环境都装好了,怎么知道它们能不能协同工作?我教你一个简单的验证方法。
- 打开STM32CubeMX,新建一个工程,随便选一个STM32芯片(比如STM32F407VG)。
- 在 Pinout & Configuration 选项卡中,找到 Software Packs,点击 Select Components。
- 如果X-CUBE-AI安装成功,你应该能在列表中看到 X-CUBE-AI 的选项。勾选它。
- 点击 OK,你会看到左侧多了一个 AI 的配置项。
看到这个 AI 配置项,就说明你的环境已经打通了。接下来,咱们就可以开始导入模型、生成代码了。
总结一下这一章的核心:
- STM32CubeMX是基础,必须装最新版。
- X-CUBE-AI是核心,安装方式选在线或本地都行。
- Python环境用Anaconda管理,TensorFlow建议用2.10.0版本。
- 装完后,在CubeMX里看到AI配置项,就算成功了。
好,环境搭建的上半部分就到这里。下一章,咱们会讲怎么用X-CUBE-AI导入一个实际的模型,并生成可以在STM32上跑的代码。到时候,你会真正感受到“从模型到代码”的奇妙过程。