====== Use Python to Control Lab Equipment ====== ===== I use 3 types of comms. ===== 1. USB The most common one with the simplest HW requirements. USB cable. In linux you just need to install "pyvisa-py", but in windows you need "pyvisa" & Keysight/NI visa driver. 2. RS232 Requires RS232 to USB cable with "pyserial-asyncio". 3. Ethernet sockets Use built-in "asyncio stream"s to open socket comms. You would need a LAN cable ===== As for python versioning, I would recommend using pyenv ===== Windows - does not support virtualenv, but it is worth using https://github.com/pyenv-win/pyenv-win Linux - pyenv https://github.com/pyenv/pyenv Don't have to use pyenv-win but linux pyenv is strongly recommended. You can refer to this link, https://elementenergy.atlassian.net/wiki/spaces/~5f2d7270cdb7b4001b158ba7/pages/1591345189/Installing+Pyenv but the github page is kinda self-explanatory ===== IDE ===== I would say eclipse goes well with java & c. For python, it is either pycharm or vscode. I recommend vscode since it supports remote development