Welcome to Joulescope™! Joulescope is an affordable, precision DC energy analyzer that enables you to build better products. Joulescope™ accurately and simultaneously measures the voltage and current supplied to your target device, and it then computes power and energy. For more information on Joulescope, see www.joulescope.com.
This repository contains the Joulescope graphical user interface (UI). The UI runs on a host computer and communicates with the Joulescope device over USB. The application source code is available at https://github.com/jetperch/pyjoulescope_ui.
For the list of changes by release, see the Changelog.
The Joulescope UI is under active development, and many features remain outstanding. See the future features document for details.
Many Joulescope users will want to download the application distribution.
However, you may also use this python package directly. As of July 2019, this package is not available on pypi since it requires a forked version of pyqtgraph. Follow the Developer instructions below to run the Joulescope UI from the source GitHub repository.
The Joulescope User Interface requires Python 3.6 or newer. Install Python 3.6+ on your system and then verify your python version at the terminal or command line:
> python3 -VV
Python 3.7.5 (tags/v3.7.5:5c02a39a0b, Oct 15 2019, 00:11:34) [MSC v.1916 64 bit (AMD64)]
Ensure that you have Python 3.6 or newer and 64-bit.
Although not required, using virtualenv avoids dependency conflicts, especially if you use your python installation for other programs. Joulescope does require a forked version of pyqtgraph and the latest versions of most package dependencies. Using virtualenv ensures that the Joulescope software has the right dependencies without changing the rest of your system.
Install virtualenv and create a new virtual environment:
pip3 install virtualenv
virtualenv c:\venv\joulescope
Activate the virtual environment whenever you start a new terminal:
c:\venv\joulescope\Scripts\activate
Install virtualenv and create a new virtual environment:
pip3 install virtualenv
virtualenv ~/venv/joulescope
Activate the virtual environment whenever you start a new terminal:
source ~/venv/joulescope/bin/activate
Clone and configure the Joulescope UI from the terminal or command line:
pip3 uninstall pyqtgraph
cd {path/to/repos}
git clone https://github.com/jetperch/pyjoulescope_ui.git
cd pyjoulescope_ui
pip3 install -r requirements.txt
python3 setup.py qt
Replace {path/to/repos} with your desired path.
As of July 2019, this package depends upon a forked version of pyqtgraph which is automatically installed using requirements.txt.
You should now be able to run the Joulescope UI:
cd {path/to/repos}/pyjoulescope_ui
python3 -m joulescope_ui
If you see an error importing win32api on Windows, you should try running this command from an Administrator command prompt:
python {path_to_python}\scripts\pywin32_postinstall.py -install
If you also want to simultaneously develop the Joulescope UI and the Joulescope driver:
pip3 uninstall joulescope
cd {path/to/repos}
git clone https://github.com/jetperch/pyjoulescope.git
cd pyjoulescope
pip3 install -r requirements.txt
python3 setup.py build_ext --inplace
You should then modify your python path. On Windows:
set PYTHONPATH={C:\path\to\repos}\pyjoulescope;{C:\path\to\repos}\pyjoulescope_ui
and on POSIX (Linux, Mac OS X with homebrew):
export PYTHONPATH={path/to/repos}/pyjoulescope:{path/to/repos}/pyjoulescope_ui
You should then be able to run the user interface from this directory:
python3 -m joulescope_ui
All pyjoulescope_ui code is released under the permissive Apache 2.0 license. See the License File for details.