3、开发环境搭建:Python环境配置(Anaconda)、libsigrok/PyVISA库安装、VS Code与Jupyter Notebook设置

好,咱们正式开始动手了。

这一章,说白了就是给你的电脑“武装”起来。没有趁手的工具,再好的协议分析思路也跑不起来。我见过不少同学,代码写得挺溜,结果卡在环境配置上,一卡就是半天。嗯,咱们别走弯路。

3.1 Python环境配置:为什么我推荐Anaconda

Python版本太多,依赖关系又乱。你想想看,今天装个libsigrok,明天装个PyVISA,搞不好就把系统Python搞崩了。我个人习惯用Anaconda,原因很简单:隔离。

Anaconda能创建独立的虚拟环境。每个项目一套Python,互不干扰。我在做逻辑分析仪项目时,就专门建了一个叫 sigrok_env 的环境。

核心操作步骤:

  1. 下载Anaconda:去官网(anaconda.com)下载对应系统的安装包。建议选Python 3.9或3.10版本,太新的版本有些库可能还没适配。
  2. 安装:一路默认就行。但注意,安装时有个选项叫“Add Anaconda to my PATH environment variable”,我建议勾上。省得后面命令行找不到conda命令。
  3. 创建虚拟环境:打开终端(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配置

  1. 安装VS Code:去code.visualstudio.com下载。
  2. 安装Python插件:打开扩展商店,搜索“Python”,安装微软官方那个。
  3. 选择解释器:按 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驱动。别问我怎么知道的——我曾经插上设备没反应,以为是硬件坏了,结果只是驱动没装。

好,环境搭好了。下一章咱们就开始连接逻辑分析仪,读取第一帧数据。到时候你就知道,前面这些配置有多值了。