3、开发环境搭建:Python环境配置(Anaconda)、libsigrok/PyVISA库安装、VS Code与Jupyter Notebook设置
好,咱们正式开始动手了。
这一章,说白了就是给你的电脑“武装”起来。没有趁手的工具,再好的协议分析思路也跑不起来。我见过不少同学,代码写得挺溜,结果卡在环境配置上,一卡就是半天。嗯,咱们别走弯路。
3.1 Python环境配置:为什么我推荐Anaconda
Python版本太多,依赖关系又乱。你想想看,今天装个libsigrok,明天装个PyVISA,搞不好就把系统Python搞崩了。我个人习惯用Anaconda,原因很简单:隔离。
Anaconda能创建独立的虚拟环境。每个项目一套Python,互不干扰。我在做逻辑分析仪项目时,就专门建了一个叫 sigrok_env 的环境。
核心操作步骤:
- 下载Anaconda:去官网(anaconda.com)下载对应系统的安装包。建议选Python 3.9或3.10版本,太新的版本有些库可能还没适配。
- 安装:一路默认就行。但注意,安装时有个选项叫“Add Anaconda to my PATH environment variable”,我建议勾上。省得后面命令行找不到conda命令。
- 创建虚拟环境:打开终端(Windows用Anaconda Prompt),输入:
conda create -n sigrok_env python=3.9
conda activate sigrok_env
看到命令行前面多了个 (sigrok_env) 就对了。这说明你已经进入隔离环境了。
小技巧:每次打开新终端,记得先 conda activate sigrok_env。我曾经忘了激活环境,结果装了一堆库到系统Python里,后来排查问题花了一个小时。别学我。
3.2 libsigrok库安装:解码的核心依赖
libsigrok是个开源库,专门用来处理逻辑分析仪的数据。它支持多种协议解码,比如I2C、SPI、UART。咱们后面解码自定义协议,就是基于它扩展的。
安装方式有两种:
| 方式 | 命令 | 说明 |
|---|---|---|
| pip安装(推荐) | pip install libsigrok |
简单,但可能不是最新版 |
| 源码编译 | 从GitHub克隆后编译 | 能拿到最新特性,但步骤多 |
我个人建议先用pip。省时间。等后面需要定制解码器时,再考虑源码编译。
# 确保在sigrok_env环境下
pip install libsigrok
装完后,验证一下:
python -c "import sigrok; print(sigrok.__version__)"
如果没报错,就说明装好了。
注意:Windows用户可能会遇到缺少DLL的问题。这是因为libsigrok底层依赖一些C库。解决办法是安装Visual C++ Redistributable。我曾经在Windows 10上折腾了半天,最后发现是VC++运行库没装。嗯,这个坑我替你们踩过了。
3.3 PyVISA库安装:与仪器通信的桥梁
PyVISA是用来控制仪器的。比如示波器、信号发生器,还有咱们的逻辑分析仪。它通过VISA协议与硬件通信。
安装命令:
pip install pyvisa pyvisa-py
这里装了两个包:pyvisa 是核心库,pyvisa-py 是后端实现。为什么需要后端?因为VISA协议有多种实现方式,比如NI-VISA、R&S VISA。咱们用纯Python的 pyvisa-py,省去安装商业驱动的麻烦。
验证安装:
python -c "import pyvisa; rm = pyvisa.ResourceManager(); print(rm.list_resources())"
如果输出一个空列表 [],别慌。这说明没有连接仪器。只要没报ImportError,就算成功。
避坑指南:我曾经在Linux上装PyVISA,发现找不到设备。后来查了半天,原来是用户权限不够。解决办法是把当前用户加入 dialout 组:sudo usermod -a -G dialout $USER。Windows用户一般没这个问题。
3.4 VS Code与Jupyter Notebook设置
编辑器这块,我推荐VS Code。轻量、插件丰富、对Python支持好。Jupyter Notebook则适合做交互式调试,比如边写代码边看波形。
3.4.1 VS Code配置
- 安装VS Code:去code.visualstudio.com下载。
- 安装Python插件:打开扩展商店,搜索“Python”,安装微软官方那个。
- 选择解释器:按
Ctrl+Shift+P,输入“Python: Select Interpreter”,选择咱们刚才创建的sigrok_env环境。
这一步很关键。如果不选对解释器,你装的库VS Code全看不见。我见过有人折腾半天,结果发现用的是系统Python。
3.4.2 Jupyter Notebook配置
Jupyter Notebook其实不用单独装。Anaconda自带。但咱们要在虚拟环境里用,需要注册一下内核:
pip install ipykernel
python -m ipykernel install --user --name sigrok_env --display-name "Python (sigrok_env)"
然后启动Jupyter:
jupyter notebook
新建一个Notebook,右上角内核选“Python (sigrok_env)”。这样你就能在Notebook里用libsigrok和PyVISA了。
我的习惯:写代码用VS Code,调试和看波形用Jupyter Notebook。两者互补。比如,我会在VS Code里写好解码函数,然后在Notebook里调用,实时显示解码结果。效率很高。
3.5 验证环境:跑一个简单测试
环境搭好了,咱们跑个测试,确保一切正常。
# test_env.py
import sigrok
import pyvisa
print("libsigrok version:", sigrok.__version__)
print("PyVISA version:", pyvisa.__version__)
print("Environment is ready!")
如果输出类似:
libsigrok version: 0.5.0
PyVISA version: 1.13.0
Environment is ready!
那就恭喜你,环境搭建成功了。
最后提醒:如果你用的是Windows,并且逻辑分析仪是USB接口,可能需要安装驱动。比如Saleae Logic Analyzer需要安装Saleae驱动。别问我怎么知道的——我曾经插上设备没反应,以为是硬件坏了,结果只是驱动没装。
好,环境搭好了。下一章咱们就开始连接逻辑分析仪,读取第一帧数据。到时候你就知道,前面这些配置有多值了。