https://github.com/numat/polyscience
CLI and Python driver for Polyscience Advanced Digital Controller Circulating Baths.
https://github.com/numat/polyscience
Last synced: 6 months ago
JSON representation
CLI and Python driver for Polyscience Advanced Digital Controller Circulating Baths.
- Host: GitHub
- URL: https://github.com/numat/polyscience
- Owner: numat
- License: gpl-2.0
- Created: 2015-03-27T20:41:41.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2019-02-10T01:44:46.000Z (over 7 years ago)
- Last Synced: 2025-12-01T02:56:59.894Z (7 months ago)
- Language: Python
- Homepage:
- Size: 556 KB
- Stars: 1
- Watchers: 6
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
polyscience
===========
Python driver for [Polyscience Advanced Digital Controller Circulating Baths](https://polyscience.com/products/circulating-baths/heated-circulators/integrated-heated-baths/advanced-digital-controller).
##### Note: We've moved away from using these baths, opting instead for [Huber](https://github.com/numat/huber). On top of the communication issues, these units were remarkably unreliable.
This was created to support older circulating baths (before touch screen models).
These older devices have ethernet ports, but only support serial communication
over UDP. This code attempts to handle the awkwardness of serial-over-UDP communication,
providing a simple API to read and control the unit.
Installation
============
```
pip install polyscience
```
Usage
=====
### Command Line
Read the bath from any networked computer with:
```
polyscience [ip-address]
```
This provides methods to set temperature, pump speed, control, and others. See `polyscience --help` for more.
### Python
For complex interaction, use this as part of a Python script.
```python
from polyscience import CirculatingBath
bath = CirculatingBath('192.168.1.100')
print(bath.get_setpoint())
```
A common usage is to create an interactive web site. This driver blocks (my earlier async implementations were prone to overwhelming the bath), so put the bath i/o in its own thread.