使用树莓派电脑进行苏黎世仪器的MFIA控制入门
https://www.zhinst.cn/china/cn/blogs/getting-started-raspberry-pi
树莓派电脑入门
关键词:MFLI,Raspberry Pi,API
2023年11月9日 Olivier Faist
介绍
尽管使用台式计算机控制和收集仪器数据是很常见的,但在某些情况下,使用占地面积较小的设备可能是有利的。Raspberry Pi包括一个基于arm的处理器,使用SD存储卡进行数据存储,包括Wi-Fi和以太网连接(我们将在本指南中使用Raspberrry Pi 4 module B),并且可以与常见的外围设备连接:鼠标、键盘和显示器。我们现在将引导您完成使用树莓派控制苏黎世仪器锁相放大器的必要步骤。同样的方法也适用于苏黎世仪器的其他产品,如AWG和阻抗分析仪。
要求
硬件
l 64位架构的Raspberry Pi
l SD存储卡
l 外围设备:显示器、鼠标和键盘
l 苏黎世仪器公司的产品
软件
l 在Raspberry Pi上运行的64位操作系统,例如:
l Raspberry Pi操作系统(64位)
l Linux Ubuntu
连接到MFLI锁定放大器
在第一部分中,我们将演示在不安装LabOne的情况下使用树莓派控制MFLI™。
我们将使用:
l 一个树莓派4 Module B配2 GB RAM
l 128 GB micro SD存储卡
l MFLI锁定放大器
所需硬件
我们启动树莓派并使用USB电缆连接MFLI。然后,使用ifconfig命令,我们检查Pi的网络配置:
zhinst@zhinst-rpi:~ $ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 169.254.75.6 netmask 255.255.0.0 broadcast 169.254.255.255
inet6 fe80::2f92:15ef:1a1d:6052 prefixlen 64 scopeid 0x20<link>
ether e4:5f:01:13:c3:8d txqueuelen 1000 (Ethernet)
RX packets 28 bytes 1680 (1.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 113 bytes 17422 (17.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.79.53 netmask 255.255.255.252 broadcast 192.168.79.55
inet6 fe80::484b:53fe:ba60:1b40 prefixlen 64 scopeid 0x20<link>
ether 00:14:2d:63:66:34 txqueuelen 1000 (Ethernet)
RX packets 98 bytes 14068 (13.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 26 bytes 4830 (4.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
...
eth0是树莓派的普通以太网端口,eth1是通过USB连接到MFLI的以太网。树莓派的地址是192.168.79.53,因此MFLI的地址是:192.168.79.54。
现在可以从Raspberry Pi上运行的浏览器连接到MFLI上运行的网络服务器192.168.79.54,端口8006。
或者,可以通过在终端中运行以下命令来安装Zurich Instruments Python包:
sudo apt install zhinst
然后,使用任何文本编辑器,我们创建一个test.py示例程序,其中包含:
from zhinst.toolkit import Session
session = Session("192.168.79.54")
device = session.connect_device("dev4299")
print(device.scopes[0].length())
运行时使用:
zhinst@zhinst-rpi:~ $ python test.py
16384
这证明我们成功地连接到仪器并读取了MFLI示波器的样本长度。如果仪器同时通过以太网电缆连接到网络,这允许我们使用Python API读取MFLI的IP地址:
session = Session("192.168.79.54")
device = session.connect_device("dev4299")
print(device.system.nics[0].ip4())
MFLI通过USB连接到树莓派,在这种情况下通过无线连接访问。
安装LabOne并在本地运行数据服务器
我们从苏黎世仪器下载中心下载arm64的最新LabOne发布版本,并按照此处的说明安装LabOne:
zhinst@zhinst-rpi:~ $ tar xzvf LabOneLinuxARM64-23.06.45428.tar.gz
zhinst@zhinst-rpi:~ $ cd LabOneLinuxARM64-23.06.45428/
zhinst@zhinst-rpi:~/LabOneLinuxARM64-23.06.45428 $ sudo ./install.sh
然后我们可以简单地运行Web服务器:
zhinst@zhinst-rpi:~ $ sudo ziWebServer
然后运行LabOne。可以使用Wi-Fi上树莓派的IP地址从本地网络中的任何设备连接到网络服务器,例如:http://172.20.10.8:8006/
当然,在本例中,需要将主机的IP地址“172.20.10.8”替换为树莓派的地址,该地址可以通过执行“ifconfig”命令读取。如果在树莓派上运行浏览器,则可以使用“localhost”访问LabOne,即http://localhost:8006或等效地http://127.0.0.1:8006。
连接到在树莓派上运行的LabOne。
控制多个仪器
尽管在数据吞吐量大的情况下,建议使用专用计算机,但树莓派能够控制多个仪器。它的网络服务器可以被多个移动设备或计算机访问。例如,在这里,我们使用连接到树莓派网络服务器的移动设备来控制UHFLI和MFLI。
使用树莓派控制多个仪器
默认情况下可从外部Web服务器访问的数据服务器
LabOne数据服务器已被定义为服务,并在启动时运行。如果您打算将树莓派用作纯数据服务器,您可以在计算机上运行LabOne网络服务器,并使用树莓派上运行的数据服务器连接到仪器。为了确保您可以从任何计算机进行连接,您需要将LabOne UI的“Config”选项卡中的连接(通过连接树莓派上运行的网络服务器上的浏览器)设置为“from everywhere”,而不是“localhostonly”。
如果您要求数据服务器在启动时接受来自各处的连接,则可以编辑“labone data server”服务文件,以便使用“--open override=1”参数启动数据服务器。
使用占地面积小的计算机控制苏黎世仪器的设备可能有很多原因,而树莓派提供了一种经济高效的方法。本指南应帮助新用户设置并开始使用各种配置的树莓派和LabOne。