11 / 6 / 2
Регистрация: 27.01.2020
Сообщений: 50
1

Протокол МИРТЕК для электростчетков Каскад

21.01.2023, 19:53. Показов 2522. Ответов 12

Author24 — интернет-сервис помощи студентам
Добрый день.

А никто протоколом от МИРТЕК не богат?

Есть в щитке счетчик "Каскад-1-MT-W1-A1-230-5-60A-S-OV3" однофазный, многотарифный. Хочу собрать оптопорт с возможность передавать данные удаленно (WiFi, Bluetooth).

К щитку не набегаешься. За 500 рублей купил на авито б/у точно такой же. Начал разбираться. Через оптопорт могу прочитать тарифы, напряжение, силу тока и т.п.

Но. Два счетчика присылают ответ разной длины на одну и туже команду. Тот который купил на один байт больше (например 42), а тот который в щитке на один меньше (например 41).

Вот например ответ на запрос тарифов.

Код
735520008d4effff0500000000ae55 - запрос 15
  73551a00ffffxxxx0530067500|3af51400|a2203001|0000|44050600|91240600|65cb0800|00000000|bc55 - ответ 41
73551a00ffff8d4e053006731100|bad62300|a2203001|0000|ea260b00|598d0a00|77220e00|00000000|6d55 - ответ 42
              head          | sum    |    ?   | ?  | tariff1| tariff2| tariff3| tariff4|
MeterTools - оригинальная программа от производителя - читает оба корректно.

Не поняв, как определять размер хедера, тяжело написать универсальный код.

Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.01.2023, 19:53
Ответы с готовыми решениями:

Протокол маршрутизации и маршрутизируемый протокол
Добрый день! Насколько я понял эти понятия разные. Уважаемые вы можете привести примеры этих двух...

Каскад ОК
Почему каскад с ОК не может быть генератором тока в активном режиме?

Каскад ОЭ
Как изменится усиление по току и напряжению в каскаде ОЭ если на входе сигнал в виде источника тока...

Каскад ОК
На вход подали сигнал ток перехода БЭ увеличился, ток коллектора тоже падение напряжения на Rэ...

Каскад с ОБ
1. Рассчитать входное и выходное сопротивления каскада с ОБ с параметрами транзистора КТ503А:...

12
3556 / 2475 / 561
Регистрация: 11.09.2009
Сообщений: 8,938
22.01.2023, 18:13 2
Цитата Сообщение от Slacky Посмотреть сообщение
73551a00ffffxxxx0530067500
Что вы обозначили как "xxxx" в этом коде?
0
11 / 6 / 2
Регистрация: 27.01.2020
Сообщений: 50
22.01.2023, 18:30  [ТС] 3
Лучший ответ Сообщение было отмечено i8085 как решение

Решение

Цитата Сообщение от i8085 Посмотреть сообщение
Что вы обозначили как "xxxx" в этом коде?
Убрал адрес реального счетчика.

Но я уже обошел проблему. Пришлось немного переписать код, кривовато конечно, но работает.

В приходящем ответе
Код
73551a00ffff8d4e053006731100|bad62300|a2203001|0000|ea260b00|598d0a00|77220e00|00000000|6d55 - ответ 42
мы точно знаем несколько вещей.
1 байт всегда 73
2 байт всегда 55
3 байт содержит длину полезной нагрузки.
4 байт всегда 00
5-6 байты тип соединения (для оптопорта это всегда FFFF
7-8 адрес устройства
9 команда
предпоследний байт - crc
последний байт всегда 55

Считываем сразу весь буфер. Проверяем. Зная размер считанного, размер неменяющегося (первые 9 байт) и размер полезной нагрузки (3-й байт) просто вырезаем всю меняющуюся середину. И получаем всегда вот такой пакет

Код
73551a00ffff8d4e05|bad62300|a2203001|0000|ea260b00|598d0a00|77220e00|00000000|6d55
0
11 / 6 / 2
Регистрация: 27.01.2020
Сообщений: 50
02.02.2023, 15:21  [ТС] 4
Лучший ответ Сообщение было отмечено i8085 как решение

Решение

В общем кое в чем продвинулся. Протокол не нашел. Но нашел, как сформирован пакет и почему у двух одинаковых счетчиков разная длина ответов и почему у более длинного пакета CRC не проверяется (получается совсем другая). А оказалось все просто.

Сформированный пакет для передачи, без двух первых и двух последних байтов, прогоняется через некую процедуру стаффинга, где 0x55 заменяется на 0x73 0x11, а 0x73, заменяется на 0x73 0x22. Потому и длина пакетов разная. При ответе, пакет погоняется в другую сторону и если находятся последовательности, 0x73 0x11 заменяется на 0x55, а 0x73 0x22 заменяется на 0x73. И вот уже у обработанного пакета CRC правильная.

Подробности тут. Смотреть последний счетчик IEK «STAR 104/1».
1
11 / 6 / 2
Регистрация: 27.01.2020
Сообщений: 50
03.02.2023, 10:56  [ТС] 5
Небольшое уточнение, неправильно написал про байты, которые не учавствуют в стаффинге. Не учавствуют только управляющие символы, т.е. два первых и последний. CRC тоже стаффится.
0
101 / 95 / 10
Регистрация: 31.08.2022
Сообщений: 1,014
06.02.2023, 17:17 6
вот они современные технологии
раньше счётчики с помощью магнитов хакали
0
11 / 6 / 2
Регистрация: 27.01.2020
Сообщений: 50
08.02.2023, 01:08  [ТС] 7
Цитата Сообщение от SergP01 Посмотреть сообщение
вот они современные технологии
раньше счётчики с помощью магнитов хакали
Вопрос о воровстве даже не рассматривался ...
0
11 / 6 / 2
Регистрация: 27.01.2020
Сообщений: 50
12.02.2023, 00:35  [ТС] 8
В общем обратился в техподдержку IEK за протоколом. Они неделю думали, а потом прислали файл. Ограничение на распространение оговорено не было.

Так что, если кому нужен протокол, то вот тут
Кликните здесь для просмотра всего текста
3
0 / 0 / 0
Регистрация: 27.05.2019
Сообщений: 8
07.01.2025, 21:40 9
У меня дома на столбе висит КАСКАД-12-MT-SP1-A1R1-230-5-60A-ST-RF433/1-RF2400/3-KMOQ1V3 - я писал разработчикам, они не дали протокол обмена...
А так хотелось научиться читать данные...
Меркурий-23* я умею читать, Меркурий-206 - тоже пробовал...
0
11 / 6 / 2
Регистрация: 27.01.2020
Сообщений: 50
08.01.2025, 01:07  [ТС] 10
Цитата Сообщение от yante70 Посмотреть сообщение
У меня дома на столбе висит КАСКАД-12-MT-SP1-A1R1-230-5-60A-ST-RF433/1-RF2400/3-KMOQ1V3
Вопрос то в чем?
0
0 / 0 / 0
Регистрация: 27.05.2019
Сообщений: 8
08.01.2025, 19:05 11
Не нашел, как поправить сообщение...
Он у меня на столбе висит, хотелось бы достучаться до него по 433МГц...
Ну и протокол бы найти, чтобы знать, что читать...
А дальше я разберусь, думаю, сам
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8564 / 4412 / 1655
Регистрация: 01.02.2015
Сообщений: 13,704
Записей в блоге: 9
08.01.2025, 20:53 12
Если это коммерческий узел учёта - сразу оцените стоимость почки, роговицы и с чем ещё не жаль расстаться для оплаты штрафа.
А добровольно подключиться к счётчику электроснабжающая организация - вряд ли позволит.

Можете поставить в доме второй счётчик - технический учёт - и с него снимать показания. Там стазу искать с открытым протоколом.
0
11 / 6 / 2
Регистрация: 27.01.2020
Сообщений: 50
09.01.2025, 00:25  [ТС] 13
Цитата Сообщение от yante70 Посмотреть сообщение
Ну и протокол бы найти, чтобы знать, что читать...
Протокол на пару сообщений выше ...
0
09.01.2025, 00:25
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.01.2025, 00:25
Помогаю со студенческими работами здесь

Http протокол: что подразумевается под словом "протокол"
Начал разбирать Http-протакол. Http- это протокол передачи гипертекста. 1 ) Не сильно понимаю что...

Протокол для корзины
Какой протокол использовать для корзины - http или https? или это не критично?

Протокол для приложения
Подскажите может кто то когда то пробовал использовать собственный протокол (ftp:// (для...

Протокол(?) для программы
Видел такую фишку у одной программки: Задачу описать сложно. Суть вот в чем: пишу я в браузере, в...

Каскад усилителя
Здравствуйте уважаемые форумчане, помогите, пожалуйста, разобраться в протекающих процессах в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

Новые блоги и статьи
Как узнать какой процесс блокирует файл или каталог в Windows
bt_guru 23.01.2025
При работе с операционной системой Windows пользователи нередко сталкиваются с ситуацией, когда система отказывается выполнять определенные действия с файлами или каталогами, сообщая, что они. . .
Как в curl узнать код статуса HTTP запроса. Коды состояния HTTP
bt_guru 23.01.2025
Коды состояния HTTP играют значимую роль в обеспечении эффективного взаимодействия между клиентами и серверами. При работе с веб-сервисами важно не только отправлять запросы, но и правильно. . .
Как сортировать вывод команды ls в Linux
bt_guru 23.01.2025
В операционной системе Linux команда ls является одним из наиболее часто используемых инструментов для просмотра содержимого директорий. При работе с файловой системой пользователи регулярно. . .
Как сделать POST запрос с помощью curl
bt_guru 23.01.2025
curl - это мощный инструмент командной строки позволяет отправлять и получать данные через различные протоколы, включая HTTP, HTTPS, FTP и множество других. Особенно полезным curl становится при. . .
Прокрутка в tmux с помощью мыши и клавиатуры
bt_guru 23.01.2025
Tmux представляет собой мощный терминальный мультиплексор, который позволяет пользователям создавать и управлять несколькими терминальными сессиями внутри одного окна. Одной из важнейших функций tmux. . .
Как проверить, содержит ли массив значение в JavaScript. Поиск в массиве
bytestream 23.01.2025
Эффективный поиск значений в массивах становится критически важным навыком для разработчиков, использующих JavaScript. Процесс поиска элементов в массиве может показаться простым на первый взгляд,. . .
Как удалить тег Git в удалённом репозитории (remote)
bytestream 23.01.2025
Одним из важнейших механизмов организации версий в Git являются теги, которые позволяют помечать определенные точки в истории проекта как значимые. Теги часто используются для маркировки релизов,. . .
Чем отличаются URL, URI и URN
bytestream 23.01.2025
Системы идентификации представляют собой фундаментальный механизм, позволяющий однозначно определять местоположение и характеристики различных информационных объектов в глобальной сети. Эти системы. . .
Как центрировать div внутри другого div с помощью CSS. Управление расположением элементов в CSS
bytestream 23.01.2025
Позиционирование элементов играет ключевую роль в создании качественных и профессиональных интерфейсов. Одной из наиболее часто встречающихся задач является центрирование элементов на веб-странице,. . .
Что означают различные символы в синтаксисе PHP
bytestream 23.01.2025
PHP (Hypertext Preprocessor) представляет собой один из наиболее широко используемых языков программирования для веб-разработки, который обладает богатой и интересной историей развития. Изначально. . .
Способы клонирования объектов в JavaScript
bytestream 23.01.2025
В современной разработке на JavaScript работа с объектами является фундаментальной частью создания любого приложения. При манипуляции объектами часто возникает необходимость создавать их копии для. . .
Как проверить состояние чекбокса в jQuery. Как работать с чекбоксами
bytestream 23.01.2025
При разработке интерактивных веб-форм часто возникает необходимость программно определять состояние чекбоксов с помощью jQuery. Чекбоксы являются важными элементами пользовательского интерфейса,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru