Python: Data Logger (streaming)
-
Moku:Go
Moku:Go Arbitrary Waveform Generator Moku:Go Data Logger Moku:Go Frequency Response Analyzer Moku:Go Logic Analyzer & Pattern Generator Moku:Go Oscilloscope & Voltmeter Moku:Go PID Controller Moku:Go Spectrum Analyzer Moku:Go Waveform Generator Moku:Go Power Supplies Moku:Go Digital Filter Box Moku:Go FIR Filter Builder Moku:Go Lock-in Amplifier Moku:Go General Moku:Go Logic Analyzer/Pattern Generator Moku:Go Time & Frequency Analyzer Moku:Go Laser Lock Box Moku:Go Phasemeter
-
Moku:Lab
Moku:Lab General Moku:Lab Arbitrary Waveform Generator Moku:Lab Data Logger Moku:Lab Digital Filter Box Moku:Lab FIR Filter Builder Moku:Lab Frequency Response Analyzer Moku:Lab Laser Lock Box Moku:Lab Lock-in Amplifier Moku:Lab Oscilloscope Moku:Lab Phasemeter Moku:Lab PID Controller Moku:Lab Spectrum Analyzer Moku:Lab Waveform Generator Moku:Lab Time & Frequency Analyzer Moku:Lab Logic Analyzer/Pattern Generator
-
Moku:Pro
Moku:Pro Arbitrary Waveform Generator Moku:Pro Data Logger Moku:Pro Frequency Response Analyzer Moku:Pro Oscilloscope Moku:Pro PID Controller Moku:Pro Spectrum Analyzer Moku:Pro Waveform Generator Moku:Pro Lock-in Amplifier Moku:Pro Digital Filter Box Moku:Pro FIR Filter Builder Moku:Pro Phasemeter Moku:Pro Multi-instrument Mode Moku:Pro General Moku:Pro Logic Analyzer/Pattern Generator Moku:Pro Time & Frequency Analyzer
- Python API
- MATLAB API
- Arbitrary Waveform Generator
- Data Logger
- Digital Filter Box
- FIR Filter Builder
- Frequency Response Analyzer
- Laser Lock Box
- Lock-in Amplifier
- Oscilloscope
- Phasemeter
- PID Controller
- Spectrum Analyzer
- Time & Frequency Analyzer
- Waveform Generator
- Logic Analyzer & Pattern Generator
- Multi Instrument Mode
- Moku Cloud Compile
- Moku general
- LabVIEW
Example Python script to implement the Data Logger (streaming)
For more Python examples, please refer to this link.
# # Moku example: Basic Datalogger streaming # # This example demonstrates use of the Datalogger instrument to # stream time-series voltage data and plot it using matplotlib # # (c) 2023 Liquid Instruments Pty. Ltd. # import matplotlib.pyplot as plt from moku.instruments import Datalogger # Launch Datalogger and connect to your device through IP i = Datalogger('192.168.###.###', force_connect=False) try: # generate a waveform on output channel 1 i.generate_waveform(1, "Sine", frequency=100) # disable Input2 as we want to stream data only from Input1 i.enable_input(2, False) # set the sample rate to 10KSa/s i.set_samplerate(10e3) # stream the data for 10 seconds.. i.start_streaming(10) # Set up the plotting parameters plt.ion() plt.show() plt.grid(True) plt.ylim([-1, 1]) line1, = plt.plot([]) # Configure labels for axes ax = plt.gca() # This loops continuously updates the plot with new data while True: # get the chunk of streamed data data = i.get_stream_data() if data: plt.xlim([data['time'][0], data['time'][-1]]) # Update the plot line1.set_ydata(data['ch1']) line1.set_xdata(data['time']) plt.pause(0.001) except Exception as e: i.stop_streaming() print(e) finally: i.relinquish_ownership()