Ми шукаємо розробника Python для проектування та впровадження системи для опитування електролічильників (модель ABM5F610) через TCP-з'єднані модеми RS-485 (наприклад, пристрої Teleofis), відповідно до комунікаційного протоколу GOST R IEC 61107-2001 (ASCII режим).
Система повинна бути здатна до періодичного збору даних, належного оброблення сесій, зберігання результатів у структурованих форматах та відновлення пропущених інтервалів за допомогою внутрішнього архіву лічильника.
Перевага буде надана розробникам, які базуються в Російській Федерації або країнах СНД, через знайомство з регіональними стандартами та технічним контекстом.
Обсяг роботи:
Комунікація з лічильником:
Встановити TCP сокетну комунікацію з модемами (клієнти ініціюють з'єднання)
Розпочати комунікацію на 300 бодах і переключитися на 9600 бодів після ACK
Реалізувати обмін протоколом на основі ASCII:
/?,ACK,.P0(),.P1(...),.R1.PARAM(),.B0q()тощо.Аутентифікація за допомогою пароля, наданого в конфігурації
Підтримка повної сесії опитування та обробка всіх очікуваних шаблонів відповідей
Збір та зберігання даних:
Витягти значення, включаючи серійний номер лічильника, дату, час, напругу, струм та енергію
Зберігати результати у двох паралельних форматах:
JSONL (JSON по рядках)
Excel (.xlsx) з інкрементальним оновленням (тільки додавання, без перезапису)
Вести журнал для кожного терміналу з часовими мітками та статусними повідомленнями
Відновлення архіву:
Автоматично виявляти прогалини в часових рядах
Використовувати команди
.R1.NHALF()та.R1.BHALF(...)для отримання пропущених данихКоригувати часові мітки на основі внутрішнього зсуву часу лічильника
Гарантувати вирівнювання інтервалів у 30 хвилин
Конфігурація:
Читати визначення терміналів та лічильників з єдиного
config.jsonфайлуПідтримка кількох терміналів (TCP порти), кожен з одного або кількох лічильників
Текстовий інтерфейс (TUI):
Інтерфейс на основі терміналу для відображення:
Статус активного терміналу
Відлік до наступного циклу опитування
Останній опитуваний лічильник, поточна операція
Повідомлення про помилки та затримки часу
Огляд структури проекту:
Очікувані скрипти/модулі:
main_server.py: TCP сервер, що приймає вхідні з'єднання модемівpoll_manager.py: планувальник опитувань на основі конфігураціїgost_meter_com.py: логіка комунікації для протоколу GOST 61107 ASCIIarchive_recover.py: обробляє відновлення на основі архіву пропущених інтервалівexcel_exporter.py: записує та додає до Excel файлівСтруктура директорій:
results/,excel_results/,logs/,config.json
Додаткові покращення:
Емульований пристрій ABM5F610 для розробки та тестування
Функціональність FTP для завантаження Excel файлів на віддалений сервер
Інтеграція служби systemd для автоматизованої роботи у фоновому режимі
Вимоги:
Сильна компетенція в Python 3.10+
Досвід програмування TCP сокетів
Знання текстових серійних комунікаційних протоколів
Знайомство з маніпуляцією Excel файлами в Python
Здатність писати чистий, модульний та добре документований код
Результати:
Повна робоча система з повним вихідним кодом
Документація (README або окремий посібник)
CLI інтерфейс для початкового запуску та моніторингу статусу терміналу
Приклад конфігурації та зразки вихідних файлів
Бажані кваліфікації:
Розробник, що знаходиться в Росії або країнах СНД
Попередній досвід роботи з електролічильниками, телеметрією або SCADA системами
Здатність надавати довгострокову підтримку або розширення функцій у майбутньому
-
20 днів155 223 UAH
348 3 0 20 днів155 223 UAHДоброго дня.
Чудовий, детально описаний проект. Я повністю розумію ключове завдання. Мій досвід у розробці для вбудованих систем (Embedded) безпосередньо стосується цього проекту, оскільки я добре знайомий з роботою на рівні "заліза", низькорівневими протоколами (включаючи ASCII-обмін) та послідовними інтерфейсами. Побудова системи опитування лічильників, включаючи перемикання швидкостей та роботу з архівами — це зрозуміле для мене завдання.
Хоча в запиті вказано Python, для завдання промислового збору даних я настійно рекомендую більш надійний стек: сервісний додаток на C# .NET та базу даних PostgreSQL.
Чому це краще для вашого проекту:
Промислова надійність: Статична типізація C# ловить помилки до запуску, а не в процесі роботи 24/7. Це критично для систем, що працюють без нагляду.
…
Висока продуктивність і багатопоточність: C# .NET спочатку створений для ефективної роботи з сотнями одночасних TCP-з'єднань без обмежень Python (GIL). Система буде легко масштабуватися.
Надійне зберігання даних: Використання PostgreSQL замість файлів (JSONL/Excel) гарантує цілісність даних, спрощує пошук пропусків і відкриває можливості для аналітики. Експорт у потрібні вам формати при цьому збережеться.
При цьому я відмінно володію Python і готовий реалізувати проект строго за вашим ТЗ, якщо це принципове вимога.
Для максимального масштабу: Якщо в майбутньому планується опитування тисяч пристроїв паралельно, оптимальним рішенням стане Rust для безкомпромісної продуктивності та ефективності.
Готовий обговорити деталі та вибрати оптимальну для вас архітектуру.
-
45 днів155 223 UAH
270 7 2 45 днів155 223 UAHДобрий вечір, Ренате. Зможу виконати Ваше завдання. Маю досвід роботи в середовищі Python. Пишіть в особисті повідомлення для уточнення деталей.
-
30 днів99 786 UAH
421 30 днів99 786 UAHПривіт, Ренат,
Я розробник на Python, також добре обізнаний у програмуванні TCP Socket.
Я можу реалізувати систему опитування для електролічильників ABM5F610 через TCP-з'єднані модеми RS-485, повністю відповідно до GOST R IEC 61107-2001 (ASCII режим).
Моя робота забезпечить надійне, ефективне та безпечне рішення.
Будь ласка, напишіть в особисті повідомлення, щоб ми могли обговорити деталі.
-
2 дні1109 UAH
1111 7 1 2 дні1109 UAHДоброго дня! Маю досвід розробки телеметричних систем для електротехнічного обладнання, включно з роботою протоколів GOST та опитувань через RS-485. Зроблю повнофункціональну систему для опитування ABM5F610 з TCP-комунікацією, реалізацією протоколу GOST R IEC 61107-2001, збереженням даних у JSONL та Excel, архівним відновленням та моніторинговим TUI. Проект буде модульним з чіткою структурою директорій як у вимогах та підтримуватиме одночасну роботу з кількома терміналами. Готовий розпочати роботу негайно.
-
Добрый день. Предоставленная модель счетчика не находится в поиске. На него нужна подробная документация от вас.
-
Актуальні фриланс-проєкти в категорії C та C++
Інженер інфраструктури резидентних проксіМи будуємо мережу резидентних проксі з нуля — повністю власну, без сторонніх постачальників. Нам потрібен один винятковий мережевий інженер, щоб побудувати всю технічну основу. Що ви будете будувати: - Android фоновий SDK, який маршрутизує проксі-трафік через пристрої… C та C++, DevOps ∙ 4 дні 6 годин тому ∙ 13 ставок |
Добробка в існуючій версії 1с роздріб блоку для РЦ(розподільчого центру))в загальному поясню що у нас за база - Є загальний сервер де є дів база РОзница (де ставляться усі приходи) - база УТП- куди переливаються усі продажі - рахується націнка залишки по складах - маленькі бази роздрібних магазинів. по обмінам у нас Магазини обмінюються із базою… C та C++, C# ∙ 4 дні 20 годин тому ∙ 6 ставок |
ПО Мастер-програма «KONSTRUCTOR»
185 490 UAH
Ми шукаємо дуже досвідченого C++ розробника для модернізації існуючого ПЗ (майстер-програми). Програма відповідає за створення виробного ПЗ, що представляє аудіо-візуальні сеанси психологічної корекції. Поточна версія написана на чистому WinAPI (Visual Studio 2019/2022).… C та C++, Десктопні додатки ∙ 9 днів 23 години тому ∙ 19 ставок |
Написання коду для ArduinoПотрібно розробити програмне забезпечення для вагового дозатора на базі Arduino Uno. Комплектуючі: Arduino Uno R3 HX711 + тензодатчик LCD1602 I2C дисплей MAX7219 світлодіодна матриця 8x32 5 кнопок керування 4-канальне реле 2 сигнальні лампи Вібромагніт грубого дозування… C та C++, Вбудовані системи та мікроконтролери ∙ 11 днів 8 годин тому ∙ 15 ставок |
Потрiбно доробити проект, або надати консультацiю.
1000 UAH
|