Skip to main content

Python driver for Sartorius and Minebea Intec scales.

Project description

sartorius

Asynchronous python ethernet interface and command-line tool for Sartorius and Minebea Intec scales.

Compatibility

This driver should work for any ethernet scale that uses the standardized communications protocol of the Scale Manufacturers Association. However, it has only been tested on the following models:

  • Minebea Intec Signum
  • Sartorius Entris
  • Sartorius Miras

Installation

pip install sartorius

Scale Setup

For Minebea scale setup, navigate to SETUP - UNICOM - DATAPROT - ETHER.

  • Make sure SRC.IP is set to a valid LAN address
  • Ensure MODE - SBI-SRV - 6.1.1 is set (manual says this should be default but it is not)
  • All other defaults are good

This driver is intended to be stable to disconnects, so operators should be able to unplug and reposition the device without affecting any long polling.

Command Line

$ sartorius scale-ip.local
{
    "mass": 0.0,
    "units": "kg",
    "stable": true,
    "info": {
        "model": "SIWADCP-1-",
        "serial": "37454321",
        "software": "00-37-09"
    }
}

If using a port other than the default of 49155 e.g. for a MODBUS gateway, use --port or a colon between the IP address and port. sartorius 192.168.1.1 --port 10000 or sartorius 192.168.1.1:12345

You can tare and zero with --zero and remove the info field with --no-info. See sartorius --help for more.

To use in shell scripts, parse the json output with something like jq. For example, sartorius scale-ip.local | jq .mass will return the mass.

Python

If you'd like to link this to more complex behavior, consider using a Python script. This driver exclusively supports asynchronous Python ≥3.7.

import asyncio
import sartorius

async def get():
    async with sartorius.Scale('scale-ip.local') as scale:
        await scale.zero()             # Zero and tare the scale
        print(await scale.get())       # Get mass, units, stability
        print(await scale.get_info())  # Get model, serial, software version

asyncio.run(get())

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sartorius-0.3.0.tar.gz (12.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sartorius-0.3.0-py2.py3-none-any.whl (14.0 kB view details)

Uploaded Python 2Python 3

File details

Details for the file sartorius-0.3.0.tar.gz.

File metadata

  • Download URL: sartorius-0.3.0.tar.gz
  • Upload date:
  • Size: 12.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.13

File hashes

Hashes for sartorius-0.3.0.tar.gz
Algorithm Hash digest
SHA256 0e79aa71c840679b0c0c98d68ce56725db896991279d91e3bdd9a2780ebb0437
MD5 cb0e73858d411cfb8467a69bcab8cad1
BLAKE2b-256 cf76690194fc11760b39f837c9a2b285e14fe8cc1e089e1f4b372eacbdc98eb4

See more details on using hashes here.

File details

Details for the file sartorius-0.3.0-py2.py3-none-any.whl.

File metadata

  • Download URL: sartorius-0.3.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 14.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.13

File hashes

Hashes for sartorius-0.3.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 13f9cac01cfc6388252173a7c497649788c222bd297674f5e3fc721139b7d9b8
MD5 de96dfa6dfacb6fbefd2aa72ccbed349
BLAKE2b-256 16ee121cf923deae98e98c9f2a2649d7835d35bd12f728d8beffd2b95a9889b4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page