Using the power measurement board under windows
NOTE: You must first have obtained a board with appropriate firmware installed, or followed the procedure outlined in the workshop to build and download firmware to the board. It may be possible to achieve this under Windows but currently the available instructions require the use of a Linux host.
There are four main steps to follow to support execution of the supplied Python scripts under Windows. It is assumed that you are using Windows 8 or 8.1, although these steps should be similar for older versions of Windows.
Obtain the Python scripts
Sources to the firmware and scripts for the stm32f4 energy metering board can be found here
(NB. the branch to use is 'pyusb' not the default 'master')
You will find the Python scripts in src/python.
- read.py is a basic script that supports reading of values from the stm32f4 when the blue button is pressed
- interactive_graph.py is a more comprehensive script that will show a real-time graph of voltage, current and/or power measurements
Connect the Hardware
Ensure that appropriate firmware has been downloaded and that PA9 is connected to power the measurement board as detailed in the workshop. Then connect the micro-USB adaptor to your Windows host you will see a new device in your 'Device Manager' window. It will be in 'Other Devices' as there is currently no driver available for the USB device.
If you see an ST-Link device appear then you have incorrectly connected the mini-USB adaptor. You should disconnect and use the micro-USB adaptor. See the workshop for details.
Ensure Windows allows installation of unsigned drivers
Prior to Windows 8 the system will ask if you wish to install unsigned drivers.
Under Windows 8 and 8.1 the operating system by default disallows installation of unsigned drivers. In order to enable installation of unsigned drivers the user must reboot Windows into the "Disable Driver Signature Enforcement" mode
To do this follow the instructions here. You will need to reboot Windows twice during this procedure and will then have a running copy of Windows that will allow you to install unsigned drivers.
Install USB Drivers
As such the first thing to do is to download and extract the libusb-win32 package from here
You will see in the 'bin' folder there is a file called inf-wizard.exe which you should execute. This will allow you to create a device driver description corresponding to the attached energy metering board, which will allow us to install the libusb-win32 driver we need.
The inf-wizard will show you a list of attached USB devices, one of which should be the "Medium speed energy monitor". This currently has a vendor ID of 0xF539 and a product ID of 0x5F39.
Select this device, and click next twice to save the .INF file.
Then click 'Install Now' to use that .INF file to install the driver.
If installation fails on Windows 8.x, ensure that you have followed the instructions above to disable device driver signature enforcement.
You should now see in Device Manager that you have a new libusb-win32 device, Medium speed energy monitor.
Install Python and Python Support Packages
It is important that the support packages installed match the CPU architecture for the build of Python you are running. For example if you are running an x64 build of Windows then you should install x64 Python and x64 copies of all packages. This is the installation setup that has been tested.
If you mix and match x86 and x64 Python/packages then you are likely to see a cryptic message about %1 invalid DLL format. If you see this then you should uninstall Python and Python support packages and start again.
Download and install Python 2.7.6 from here.
Other versions of Python make work but we have tested with 2.7.6.
Ensure that you use the appropriate x86 or x86-64 installer.
Install Support Packages
Ensure for all of the following packages that you are installing the appropriate x86 or x64 architecture package for the appropriate version of Python (e.g. 2.7)
- Download and install PyQt4 from here
- Download and install MatPlotLib from here
- Download and install NumPy from here
- Download and install SciPy from here
Run the scripts
At this point you should be able to open up a Python command line, change directory to the stm32f4-energy-monitor\src\python folder and execute