Capture the display of a Rigol DS1000Z series oscilloscope by LAN using LXI SCPI commands
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
RoGeorge 570ad8ed5b Add '\n' for all SCPI commands 7 лет назад
captures Intermediary commit before push 8 лет назад
.gitignore Intermediary commit before push 8 лет назад
LICENSE Initial commit 9 лет назад
OscScreenGrabLAN.py Add '\n' for all SCPI commands 7 лет назад
README.md Deprecate 'PIL' and use 'pillow' instead of 'PIL'. On a clean Python 2.7.12, 'pillow' must be installed manually. 8 лет назад
Rigol_functions.py Add '\n' for all SCPI commands 7 лет назад
telnetlib_receive_all.py Original library telnet.py has had minor changes between Python 2.7.9 and Python 2.7.12 Changes from telnet.py of Python 2.7.12 are now merged in telnet_receive_all.py 8 лет назад

README.md

DS1054Z_screen_capture

‘OscScreenGrabLAN.py’ is a Python script that captures whatever is displayed on the screen of a Rigol DS1000Z series oscilloscope.

It can save data as a WYSIWYG (What You See Is What You Get) picture of the oscilloscope screen, or as a text file in CSV (Comma Separated Values) format.

To achieve this, SCPI (Standard Commands for Programmable Instruments) are sent from the computer to the oscilloscope, using the LXI (LAN-based eXtensions for Instrumentation) protocol over a Telnet connection. The computer and the oscilloscope are connected together by a LAN (Local Area Network). No USB (Universal Serial Bus), no VISA (Virtual Instrument Software Architecture), no IVI (Interchangeable Virtual Instrument) and no Rigol drivers are required. Python 2 is required. Python 3 is not supported.

Tested with Windows 10, Python 2.7.12, pillow and Rigol DS1104Z (a fully upgraded DS1054Z oscilloscope). Tested with Linux Ubuntu 16.04.1, Python 2.7.12 and pillow.

User Manual:

This program captures either the waveform or the whole screen

of a Rigol DS1000Z series oscilloscope, then save it on the computer
as a CSV, PNG or BMP file with a timestamp in the file name.

The program is using LXI protocol, so the computer
must have LAN connection with the oscilloscope.
USB and/or GPIB connections are not used by this software.

No VISA, IVI or Rigol drivers are needed.

Installation:

Installation on a clean Windows 10 machine
    1. download and install Python 2.7.12 from https://www.python.org/downloads/
    2. to install pillow, open a Command Prompt and type
        pip install pillow
    3. download and unzip 'DS1054Z_screen_capture-master.zip' from https://github.com/RoGeorge/DS1054Z_screen_capture
    4. connect the oscilloscope to the LAN (in this example, the oscilloscope have fix IP=192.168.1.3)
    5. in the Command Prompt, change the directory (CD) to the path were 'OscScreenGrabLAN.py' was un-zipped
        cd path_where_the_OscScreenGrabLAN.py_was_unzipped
    6. to run the OscScreenGrabLAN.py in the Command Prompt, type
        python OscScreenGrabLAN.py png 192.168.1.3

Installation on a clean Ubuntu 16.04.1
    1. Python is already installed in Ubuntu 16.04.1 desktop
    2. to install pillow, open a Terminal and type:
        sudo add-apt-repository universe
        sudo apt-get update
        sudo apt-get install python-pip
        pip install pillow
    3. download and unzip 'DS1054Z_screen_capture-master.zip' from https://github.com/RoGeorge/DS1054Z_screen_capture
    4. connect the oscilloscope to the LAN (in this example, the oscilloscope have fix IP=192.168.1.3)
    5. in the Terminal, change the directory (CD) to the path were 'OscScreenGrabLAN.py' was un-zipped
        cd path_where_the_OscScreenGrabLAN.py_was_unzipped
    6. to run the OscScreenGrabLAN.py in the Terminal, type
        python OscScreenGrabLAN.py png 192.168.1.3          

Other usages syntax:

python OscScreenGrabLAN.py png|bmp|csv oscilloscope_IP

Usage examples:

python OscScreenGrabLAN.py png 192.168.1.3
python OscScreenGrabLAN.py csv 192.168.1.3