Software Installation and Startup
Last updated
Last updated
Ask questions about this guide on the forum here.
As with the main eVOLVER, you should have a dedicated computer to run min-eVOLVER. We recommend Macs for their stability and ease software of installation.
Follow the dpu installation guide.
We will use the virtual environment made here to run the experiment
Note: as of now, there is no GUI integration. Command line only.
Create a server virtual environment
In the command line still, open a new tab or window
If necessary, deactivate the dpu virtual environment with the command below.
deactivate
Navigate to the server directory evolver-min
Make a server virtual environment
To avoid confusion with the dpu environment, call your server virtual environment server-env
Mac:
python3.9 -m venv server-env
source server-env/bin/activate
Windows PowerShell:
py -3.9 -m venv server-env
server-env\Scripts\Activate.ps1
Use poetry to install all necessary dependencies.
If you are setting up more than one min-eVOLVER, simply make an additional folder and label it something like evolver-min2
. No need to make an additional virtual environment. Any time you need to start a server just use the one you made in the first server folder.
Optional: for more information about the eVOLVER server you can check here.
If using more than one min-eVOLVER, check the note at the bottom of this page
Plug the min-eVOLVER in to your computer using micro-USB and THEN plug it in to the 12V DC power supply.
Plugging in the 12V first may make the server not able to connect properly.
Whenever possible, avoid plugging / unplugging the min-eVOLVER micro-USB, which is fragile. Instead, leave the micro-USB plugged in and plug / unplug the regular USB to your computer.
Make sure that you are in the server virtual environment
This means navigating to the server folder in a command line window and inputting commands:
Mac OS:
source server-env/bin/activate
On Windows PowerShell:
server-env\Scripts\Activate.ps1
Navigate to the /evolver/
folder inside the evolver-min
server code
Attempt to run the server using the following command:
Mac OS: python3 evolver.py
Windows Powershell: py evolver.py
Hereafter, only the Mac OS command will be given. Windows users, swap python3
with py
.
This will tell you the list of min-eVOLVERs plugged in to the computer
Exit from the server log using control + C
Copy the full port address into the serial_port
variable in the conf.yml
file for the server
On Mac OS for example: serial_port: /dev/cu.usbmodem1301
Be careful to not alter the conf.yml
file structure, only the variables (after the ":"). Changing the file structure in the wrong way will result in the server failing to run.
Start the server using python3 evolver.py
Observe the server for expected behavior
The server cycles once every 20 seconds
If the server is not connected to the min-eVOLVER, commands will fail
If you want to know more about the server code or how commands work click here.
You can connect multiple min-eVOLVERs to one computer, as long as you have enough USB ports!
Make a duplicate min-eVOLVER server code file with a new number ie evolver-min2
Plug in the new min-eVOLVER and follow the Server Startup guide
The new min-eVOLVER will have a different serial_port
because it is plugged in to a different USB port
You need to define a different port number (try 5556) in the conf.yml
file
Make sure you're in the right server code folder when starting the new server
Use a different command line window for each min-eVOLVER server
Make sure you don't swap your min-eVOLVERs USB ports without meaning to!
Calibration files are for a specific min-eVOLVER
serial_port
numbers on your computer are linked to a specific USB port, NOT to a specific min-eVOLVER
So for example:
min-eVOLVER 1 with serial_port: /dev/cu.usbmodem1201
min-eVOLVER 2 with serial_port: /dev/cu.usbmodem1301
Plugging min-eVOLVER 2 into /dev/cu.usbmodem1201
will mean that running the min-eVOLVER 1 server will load calibrations for the wrong min-eVOLVER and vice versa
Plug in the micro-USB and then the 12V power supply
Start the server
In another terminal window, enter the dpu
virtual environment
Navigate to the /dpu/experiment/
folder
Send a pump command to all pumps to make sure they actuate
Send a command to start and stop stirring
Turn temperature off
Check the server log as commands go in, these should be received and become the new values in the server cycle
Run a full hardware test using test_hardware.py
Use the command: python3 test_hardware.py
Check that all pumps actuate individually
Check that stirring turns off and on
Check that OD sensing works as expected (values decrease with OD LED on)
Look at the "Data from min-eVOLVER
" for the below values
Example values with OD LED OFF: 'od_90': ['65208', '65190']
Example values with OD LED ON: 'od_90': ['62515', '59678']
Check to see that the temperature values decreased towards [25000,25000]
over time as the script is running
Example start values: 'temp': ['35514', '35440']
Example end values: 'temp': ['30618', '31029']