No project description provided
Project description
ws_one_stable
ws_one_stable - библиотека для чтения данных весовых терминалов (через
Serial/COM/USB), их нормализации и рассылки клиентам по TCP.
В проект включен модуль pds_one (Port Data Splitter) - базовый TCP-сервер,
который читает данные из порта и ретранслирует их подписчикам.
Что внутри
PortDataSplitter- низкоуровневый TCP-сервер для приема данных порта.WeightSplitter- расширение для весовых терминалов с парсингом данных.- Набор парсеров терминалов в
ws_one_stable/terminals/*. - Вспомогательные функции поиска парсеров и коды ошибок.
Быстрый старт
Пример запуска WeightSplitter:
from ws_one_stable.main import WeightSplitter
ws = WeightSplitter(
ip="0.0.0.0",
port=2290,
port_name="/dev/ttyUSB0",
terminal_name="CAS",
scale_protocol=None,
debug=True,
)
ws.start()
Пример базового TCP-сплиттера (PDS):
from ws_one_stable.pds_one.main import PortDataSplitter
pds = PortDataSplitter("0.0.0.0", 2290, port_name="/dev/ttyUSB0")
pds.start()
Основные механики WeightSplitter
- Парсер терминала выбирается по
terminal_nameизws_one_stable/terminals/*. - Для каждого терминала обязателен парсер с функциями
get_parsed_input_data(data)иcheck_scale_disconnected(data). - Используются коды ошибок из
ws_one_stable/settings.py:scale_disconnected_code(отключение) иfail_parse_code(ошибка парсинга). - Стабилизация веса состоит из двух уровней:
- смещение базового веса (
set_stable_wight,upd_stable_weight); - авто-стабилизация около нуля (|weight| < 50 -> 0).
- смещение базового веса (
- При отправке данных применяется стабилизация, затем значение пересылается клиентам через TCP.
Как добавить новый терминал
- Создай папку
ws_one_stable/terminals/<TerminalName>/. - Добавь файл
functions.pyс реализациями:get_parsed_input_data(data)- преобразование сырых данных в вес;check_scale_disconnected(data)- признак отключения терминала.
- Используй в коде
terminal_name="<TerminalName>"(регистр не важен). - По желанию добавь описание в
docs/terminals.md.
Документация
Подробная документация на русском находится в папке docs/:
docs/overview.md- обзор проектаdocs/architecture.md- архитектура и потоки данныхdocs/pds_module.md- модуль PDSdocs/weight_splitter.md- модуль WeightSplitterdocs/terminals.md- поддерживаемые терминалыdocs/migration.md- миграция со старогоpds_one
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ws_one-1.3.1-py3-none-any.whl.
File metadata
- Download URL: ws_one-1.3.1-py3-none-any.whl
- Upload date:
- Size: 22.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f80016c192951f5e720d478d8be9a43eb757ef631969f6f037aa53b5913d2dab
|
|
| MD5 |
c157a8d23d27fcac9603099fe45431ef
|
|
| BLAKE2b-256 |
a1569243e47772c91d80fd8be994bf1961c342afbce34005d29e433d90205ee8
|