LXI Tools is an open-source project designed to manage Ethernet-connected test instruments such as oscilloscopes, power supplies, spectrum analyzers, etc… that are compliant with the “LAN eXtensions for Instrumentation” standard, or LXI for shorts, hence the name of the project.
LXI Tools is available either as a command-line program (lxi) or a graphical user interface (lxi-gui), and includes features such as the automatic discovery of test instruments, sending SCPI (Standard Commands for Programmable Instruments) commands, grabbing screenshots from supported instruments, benchmarking SCPI message performance, and Lua scripting for test automation.
The tool is compatible with higher-end instruments compatible with LXI from vendors such as Keysight Technologies, Kikusui Electronics, Rigol Technologies, Rohde & Schwarz, Siglent Technologies, and Tektronix. All support SCPI commands, while autodiscovery and screenshot functions are supported by most tested models.
While it’s possible to build the project from source using meson, the easiest way to install LXI Tools is via a snap:
1 |
snap install lxi-tools |
We can get a good idea of all features by running the command line with the “help” parameter:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
lxi --help Usage: /snap/lxi-tools/1498/usr/bin/lxi [--version] [--help] <command> [<args>] -v, --version Display version -h, --help Display help Commands: discover [<options>] Search for devices scpi [<options>] <scpi-command> Send SCPI command screenshot [<options>] [<filename>] Capture screenshot benchmark [<options>] Benchmark run <filename> Run Lua script Discover options: -t, --timeout <seconds> Timeout (default: Normal: 1, mDNS: 6) -m, --mdns Search via mDNS/DNS-SD Scpi options: -a, --address <ip> Device IP address -p, --port <port> Use port (default: VXI11: 111, RAW: 5025) -t, --timeout <seconds> Timeout (default: 3000) -x, --hex Print response in hexadecimal -i, --interactive Enter interactive mode -r, --raw Use raw/TCP Screenshot options: -a, --address <ip> Device IP address -t, --timeout <seconds> Timeout (default: 15) -p, --plugin <name> Use screenshot plugin by name -l, --list List available screenshot plugins Benchmark options: -a, --address <ip> Device IP address -p, --port <port> Use port (default: VXI11: 111, RAW: 5025) -t, --timeout <seconds> Timeout (default: 3000) -c, --count <count> Number of requests (default: 100) -r, --raw Use raw/TCP |
While the command line might be great for automated testing, the GUI offers a more user-friendly experience.
You’ll find the source code and more details on Github. To learn more about the LXI standard, you can check out the LXI Consortium website.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress