Cycler control, data pipeline, and data visualisation from Empa's robotic battery lab.
- Track samples, experiments and results.
- Control Neware and Biologic cyclers on multiple machines from one place.
- Automatically collect and analyse cycling data.
- Conveniently control cyclers and explore data with a graphical web-app.
aurora-biologic and aurora-neware provide a Python and command-line interface to query, start and stop cyclers, allowing programmatic and remote control.
Experiments can be submitted with a cycler-specific file (e.g. .xml or .mps), or an aurora-unicycler protocol, which is automatically converted to the appropriate format on submission.
Experiments can be defined with C-rates and without sample names - the program will automatically attach sample info and calculate the current required based on the sample information in the database.
Data is automatically gathered from cyclers, all incoming files are converted to one open standard - accepts Biologic .mpr, Neware .ndax, Neware .xlsx. Incoming data is converted to fast, open, and space-efficient parquet format.
Data is converted using fastnda and yadg, processing the raw binary data directly. This is much faster and more space efficient than exporting to text or Excel formats from these cyclers.
Time-series data is automatically analysed to extract per-cycle and summary data.
A web-app based on Plotly Dash allows rapid, interactive viewing of time-series and per-cycle data, as well as the ability to control experiments on cyclers through the graphical interface.
In a Python environment:
pip install aurora-cycler-managerTo view data from an existing set up:
aurora-setup connect --project-dir="path\to\your\setup"To interact with servers on an existing set up:
- Interacting with servers (submitting jobs, harvesting data etc.) works with OpenSSH, servers must have OpenSSH installed and running.
- Generate a public/private key pair on the user system with
ssh-keygen. - Copy your public key (usually in
%USERPROFILE%\.ssh\id_rsa.pub) to the cycler server. - Add it to the server's
authorized_keysfile (usually inC:\Users\username\.ssh\authorized_keys). - Check the connection using
ssh user@hostfrom the user's terminal, confirm the connection to add the host to the user'sknown_hostsfile, the Aurora app can now use the connection . - (optional) You can make changes to your user config, this is stored in your user folder e.g. /users/yourname/appdata/local/aurora_cycler_manager/
- "SSH private key path" can be changed, if your key is not in a standard location.
- "Snapshots folder path" is where raw data downloaded from cyclers is stored, this can become very large.
To create a new set up:
aurora-setup init --project-dir="path\to\your\setup"- This generates subfolders within the directory, a database, and a configuration file.
- Fill in the configuration file with details about e.g. Neware and EC-Lab servers, examples are left in the default config.
- In
Servers, theserver_typemust benewareorbiologic(orneware_harvester/biologic_harvesterif you just want to grab data without control). - The
server_labelshould be a short, unique key to represent a cycler server. - The
shell_typeis the default shell when SSH-ing into the machine, it must becmdorpowershell. - To set up a
newareserver, follow the instructions fromaurora-neware. - To set up a
biologicserver, follow the instructions fromaurora-biologic. - If you change database columns in the shared configuration file, you can update the database with
aurora-setup update, use the option--forceif you want to permanently delete columns and their data. - By default, a set up uses an sqlite3 database, a postgresql database can also be used by setting
Database type=postgresql, supplyingDatabase host,Database name,Database user,Database password, and runningaurora-setup update. You must install and set up an empty postgresql database yourself.
Upgrade with pip, you do not have to redo any setup steps:
pip install aurora-cycler-manager --upgradeIf upgrading from earlier than 0.5.0, first pip uninstall aurora-cycler-manager then follow the installation steps.
A web app allows users to view analysed data and see the status of samples, jobs, and cyclers, and submit jobs to cyclers if they have access. Run with:
aurora-app- There are three tabs, samples plotting, batch plotting, and database.
- To upload sample information to the database, use the 'Upload' button in the database tab, and select a .json file defining the cells.
- Hand-made cells can also be added, a .json must be created with the keys defined in the configuration file - the only required key is a unique "Sample ID".
- Protocols can be created in database -> protocols.
- In database -> pipelines, load samples onto the pipelines, then submit a protocol.
- Loading samples, submitting jobs, analysing data etc. can also be run in Python scripts directly through the
ServerManagerclass.
With SSH access, automatic data harvesting and analysis is run using:
aurora-daemonThis software was developed at the Laboratory of Materials for Energy Conversion at Empa, the Swiss Federal Laboratories for Materials Science and Technology, and supported by funding from the IntelLiGent project from the European Union’s research and innovation program under grant agreement No. 101069765, and from the Swiss State Secretariat for Education, Research, and Innovation (SERI) under contract No. 22.001422.