SCPI USBTMC Messgeräte per Terminal steuern und Tests mit ESP32 automatisieren

scpi-usbtmc-messgeräte-per-terminal-steuern-und-tests-mit-esp32-automatisieren https://www.youtube.com/watch?v=asqrYQfQcX8

OWON SCPI Beispiele Link to heading

Übersicht wie man per SCPI einen Signalgenerator ansteuern kann. Eventuell sind noch Treiber für USBTMC notwendig.

SCPI Link to heading

SCPI (Standard Commands for Programmable Instruments) ist ein standardisiertes Befehlssatz-Protokoll zur Steuerung und Abfrage von elektronischen Messgeräten wie Oszilloskopen, Multimetern oder Netzteilen. Es basiert auf ASCII-Textbefehlen und wird meist über Schnittstellen wie USB, GPIB, RS-232 oder Ethernet verwendet.

USBTMC Link to heading

USBTMC (USB Test and Measurement Class) ist ein USB-Geräteklassenspezifikationsstandard für die Kommunikation mit Messgeräten. Er ermöglicht den Zugriff auf Geräte wie Oszilloskope, Multimeter oder Spektrumanalysatoren über USB, indem er eine standardisierte Schnittstelle ähnlich zu GPIB bereitstellt.

USBTMC wird oft mit SCPI kombiniert, sodass Messgeräte über USB SCPI-Befehle empfangen und Daten zurückgeben können. Unter Linux kann man mit /dev/usbtmc* auf solche Geräte zugreifen.

Erste Einstellungen am Gerät & OS Link to heading

Ich musste am OWON noch folgendes umstellen Utility - System - USB umstellen auf USBTMC

Für Linux-User: Damit Berechtigung persistent gespeichert bleibt ein File anlegen

cd /etc/udev/rules.d
nano 99-usbtmc.rules 

SUBSYSTEM=="usb", ATTR{idVendor}=="5345", ATTR{idProduct}=="1235", MODE="0666"
  • Regeln neu laden
  • sudo udevadm control –reload
  • ls -l /dev/usbtmc0
  • sollte nun angepasste rw regeln beinhalten (sudo chmod 666 /dev/usbtmc0)

Erster Test via Terminal Link to heading

echo -n "OUTPut2 ON" > /dev/usbtmc0

echo -n "OUTPut2 OFF" > /dev/usbtmc0

Beispiele Link to heading

mit Script von mir oder direkt via CLI

./send_command.sh "DISPLAY:BRIGHTNESS 100"

./send_command.sh "SOURce2:VOLTage:LEVel:IMMediate:AMPLitude 2Vpp"

echo -n "source2:function:shape?" > /dev/usbtmc0  
  sleep 0.1  # kurze pause, damit das gerät antworten kann  
  cat < /dev/usbtmc0  # gibt den inhalt von /dev/usbtmc0 aus

echo -n "SOURce2:FUNCtion:SHAPe SQUare" > /dev/usbtmc0

Tip
Entdecke spannende Online-Kurse zu ESP32, IoT und Linux auf meiner Lernplattform: https://pixeledi.teachable.com.