Pulsar-heat Serial protocol error

Да, Евгений, можно использовать второй интерфейс. Сейчас смотрю и понимаю, что будут сложности с чтением результатов, просто printf, который в примере, только отправляет команды. А так да, отправлять запросы, принимать ответы и их обрабатывать.

То есть, чтобы получить ответ, надо отправлять команду примерно так:
echo -n "00 00 00 00 0A 0C 01 00 79 E6 C3 4A" | serial_tool -b 9600 -p N -d 8 -s 1 -t 1 /dev/ttyRS481-2 | grep '<<' | cut -d '<' -f 3
и перехватывать вывод (движок правил это умеет, см. пример вызова runShellCommand с параметрами
captureOutput и exitCallback тут: https://github.com/contactless/wb-rules)

Ну, или вы можете написать свой софт (на том же python) используя как образец код нашего serial_tool (https://github.com/contactless/serial_tool)

Спасибо. посмотрим. Подскажите ещё, если не на питоне, контроллер вывезет Яву 8, Или go, или node. Вообще по опыту что лучше не использовать из языков на нем?

Да и я так понимаю у вас проделано много работы. Может быть можно нам самим попробовать драйвер для себя адаптировать.

Евгений, node точно работает, java – возможно, на go lang тоже можно что-то собирать. Да хоть С++. Архитектура процессора – такая же как у raspberry pi.

Возможно! (Код: https://github.com/contactless/wb-mqtt-serial/blob/master/pulsar_device.cpp)

Евгений, добрый день!
Общаюсь с техподждержкой Пульсара, хотел попросить вас прислать вывод TestAll при чтении параметров теплосчетчика с вкладки “Текущие”:
image

Добрый день! да конечно. вот он

вот лог
Определение сетевого адреса пульсара
Отправлено: [11 байтов]
F0 0F 0F F0 00 00 00 00 00 A5 44 …D

Получено: [10 байтов] [+00:091]
F0 0F 0F F0 00 75 62 71 08 3B …ubq.;

Определение модели пульсара, сет. адр. 00756271
Отправлено: [11 байтов]
00 75 62 71 03 02 46 00 01 E1 61 .ubq…F…a

Получено: [10 байтов] [+00:086]
00 75 62 71 03 02 18 01 7A C1 .ubq…z.

Определение модели пульсара, сет. адр. 00756271
Отправлено: [11 байтов]
00 75 62 71 03 02 46 00 01 E1 61 .ubq…F…a

Получено: [10 байтов] [+00:091]
00 75 62 71 03 02 18 01 7A C1 .ubq…z.

Чтение текущих с прибора: Пульсар теплосчётчик ультразвук. 00756271
Чтение параметров :K3; K4; K5; K6; K7; K8; K9; K10; K11; K12; K13; K20; K15; K21; K22; K23; K24; NPARAM0C; NPARAM0D;
Отправлено: [12 байтов]
00 75 62 71 0A 0C 0C 00 0F AE 5B D4 .ubq…[.

Получено: [18 байтов] [+00:101]
00 75 62 71 0A 12 81 04 00 00 00 00 00 00 0F AE 72 05 .ubq…r.

Отправлено: [12 байтов]
00 75 62 71 0A 0C 0D 00 1F 75 17 B3 .ubq…u…

Получено: [18 байтов] [+00:102]
00 75 62 71 0A 12 80 04 00 00 00 00 00 00 1F 75 6E 5B .ubq…un[

Отправлено: [14 байтов]
00 75 62 71 01 0E FC 5F F8 00 CB BA 5C F7 .ubq…_…

Получено: [11 байтов] [+00:096]
00 75 62 71 00 0B 02 CB BA F1 AB .ubq…

вот еще настроечные.

Определение сетевого адреса пульсара
Отключено
Подключение: Тип Соединения = RS232; Время ожидания = 1500; Пауза перед запросом = 50; Повторные запросы = 3; Номер порта = 5; Скорость = 9600; Стоп биты = 1; Чётность = None; Биты данных = 8; Оптоголовка = False; Подключено
Определение сетевого адреса пульсара
Отправлено: [11 байтов]
F0 0F 0F F0 00 00 00 00 00 A5 44 …D

Получено: [10 байтов] [+00:090]
F0 0F 0F F0 00 75 62 71 08 3B …ubq.;

Определение модели пульсара, сет. адр. 00756271
Отправлено: [11 байтов]
00 75 62 71 03 02 46 00 01 E1 61 .ubq…F…a

Получено: [10 байтов] [+00:083]
00 75 62 71 03 02 18 01 7A C1 .ubq…z.

Чтение параметров :D; L; P; NPARAM20; NPARAM21; NPARAM23; NPARAM24; NPARAM26; NPARAM27; NPARAM29; NPARAM2A; NPARAM2C; NPARAM2D; NPARAM33; NPARAM34; NPARAM6; NPARAMD0; NPARAM0241; NPARAM0244; NPARAM1A; NPARAM1B; Чтение параметров :D; L; P; NPARAM20; NPARAM21; NPARAM23; NPARAM24; NPARAM26; NPARAM27; NPARAM29; NPARAM2A; NPARAM2C; NPARAM2D; NPARAM33; NPARAM34; NPARAM6; NPARAMD0; NPARAM0241; NPARAM0244; NPARAM1A; NPARAM1B;
Отправлено: [10 байтов]
00 75 62 71 04 0A 9D B9 98 95 .ubq…

Получено: [16 байтов] [+00:115]
00 75 62 71 04 10 13 06 03 0C 2C 2A 9D B9 F4 0A .ubq…,*…

Отправлено: [12 байтов]
00 75 62 71 0A 0C 01 00 DD 89 45 C2 .ubq…E.

Получено: [18 байтов] [+00:100]
00 75 62 71 0A 12 00 00 00 00 00 00 00 00 DD 89 0A 52 .ubq…R

Отправлено: [12 байтов]
00 75 62 71 0A 0C 05 00 64 1B B6 CF .ubq…d…

Получено: [18 байтов] [+00:097]
00 75 62 71 0A 12 28 00 00 03 00 00 00 00 64 1B 4B EF .ubq…(…d.K.

Отправлено: [12 байтов]
00 75 62 71 0A 0C 20 00 70 F2 73 4D .ubq…p.sM

Получено: [11 байтов] [+00:089]
00 75 62 71 00 0B 04 70 F2 63 6C .ubq…p.cl

Отправлено: [12 байтов]
00 75 62 71 0A 0C 21 00 69 C1 39 34 .ubq…!.i.94

Получено: [11 байтов] [+00:088]
00 75 62 71 00 0B 04 69 C1 28 E9 .ubq…i.(.

Отправлено: [12 байтов]
00 75 62 71 0A 0C 23 00 03 A5 17 C7 .ubq…#…

Получено: [11 байтов] [+00:089]
00 75 62 71 00 0B 04 03 A5 07 A2 .ubq…

Отправлено: [12 байтов]
00 75 62 71 0A 0C 24 00 EC A9 5A 86 .ubq…$…Z.

Получено: [11 байтов] [+00:076]
00 75 62 71 00 0B 04 EC A9 4B 97 .ubq…K.

Отправлено: [12 байтов]
00 75 62 71 0A 0C 26 00 BC 92 26 ED .ubq…&…&.

Получено: [11 байтов] [+00:090]
00 75 62 71 00 0B 04 BC 92 36 44 .ubq…6D

Отправлено: [12 байтов]
00 75 62 71 0A 0C 27 00 A3 50 AE B0 .ubq…’…P…

Получено: [11 байтов] [+00:091]
00 75 62 71 00 0B 04 A3 50 BF E5 .ubq…P…

Отправлено: [12 байтов]
00 75 62 71 0A 0C 29 00 EA 77 DB D2 .ubq…)…w…

Получено: [11 байтов] [+00:090]
00 75 62 71 00 0B 04 EA 77 C8 6F .ubq…w.o

Отправлено: [12 байтов]
00 75 62 71 0A 0C 2A 00 36 C9 03 26 .ubq…*.6…&

Получено: [11 байтов] [+00:089]
00 75 62 71 00 0B 04 36 C9 10 DF .ubq…6…

Отправлено: [12 байтов]
00 75 62 71 0A 0C 2C 00 3E A1 05 80 .ubq…,.>…

Получено: [18 байтов] [+00:094]
00 75 62 71 0A 12 6F 12 83 3A 00 00 00 00 3E A1 76 24 .ubq…o…:…>.v$

Отправлено: [12 байтов]
00 75 62 71 0A 0C 2D 00 50 3E 68 74 .ubq…-.P>ht

Получено: [18 байтов] [+00:098]
00 75 62 71 0A 12 00 00 C8 42 00 00 00 00 50 3E 40 86 .ubq…B…P>@.

Отправлено: [12 байтов]
00 75 62 71 0A 0C 33 00 F9 02 10 1D .ubq…3…

Получено: [18 байтов] [+00:334]
00 75 62 71 0A 12 11 15 8A 44 00 00 00 00 F9 02 7F EE .ubq…D…

Отправлено: [12 байтов]
00 75 62 71 0A 0C 34 00 1F 6E 5B 24 .ubq…4…n[$

Получено: [18 байтов] [+00:334]
00 75 62 71 0A 12 19 03 8A 44 00 00 00 00 1F 6E 52 29 .ubq…D…nR)

Отправлено: [12 байтов]
00 75 62 71 0A 0C 06 00 EB D8 92 EA .ubq…

Получено: [18 байтов] [+00:098]
00 75 62 71 0A 12 00 00 01 00 00 00 00 00 EB D8 1D C2 .ubq…

Отправлено: [12 байтов]
00 75 62 71 0A 0C D0 00 15 2B AA 87 .ubq…+…

Получено: [18 байтов] [+00:094]
00 75 62 71 0A 12 00 00 00 00 00 00 00 00 15 2B DC 2B .ubq…+.+

Отправлено: [12 байтов]
00 75 62 71 0A 0C 41 02 E6 14 23 5B .ubq…A…#[

Получено: [18 байтов] [+00:098]
00 75 62 71 0A 12 00 00 00 00 00 00 00 00 E6 14 D8 CB .ubq…

Отправлено: [12 байтов]
00 75 62 71 0A 0C 44 02 B4 9D DF 51 .ubq…D…Q

Получено: [18 байтов] [+00:098]
00 75 62 71 0A 12 00 00 00 00 00 00 00 00 B4 9D 24 0D .ubq…$.

Отправлено: [12 байтов]
00 75 62 71 0A 0C 1A 00 98 60 B0 38 .ubq…`.8

Получено: [18 байтов] [+00:087]
00 75 62 71 0A 12 00 22 00 00 00 00 00 00 98 60 79 ED .ubq…"…`y.

Отправлено: [12 байтов]
00 75 62 71 0A 0C 1B 00 A9 2F E5 A0 .ubq…/…

Получено: [18 байтов] [+00:097]
00 75 62 71 0A 12 CC 00 08 80 00 00 00 00 A9 2F E8 45 .ubq…/.E

Да тоже практически нигде нет команды 01, везде 0A. А вы понимаете, почему он пишет вам “Ошибка конфигурирования” при чтении текущих параметров? Техподдержка уверенно, но скупо отвечает, что мы должны получать данные, но я пока не понимаю, почему контроллер не видит счетчик.

Как мне сказали, что это из-за того что на счётчике на импульсного выхода. Только RS. Типа если выключить опрос импульса то будет без ошибок

А можете попробовать? Возможно, и с контроллером получится наладить взаимодействие?

а как попробовать? у меня сейчас три теплосчетчика подключены в контролееру. но как попробовать?

Я так понимаю, что надо выключить опции опроса выходов, галочками в интерфейсе TestAll.

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

Добрый день.
Я опросил счетчик родной программой, скрины и лог ниже.

Чтение текущих с прибора: Пульсар теплосчётчик ультразвук. 00756271
Чтение параметров :K3; K4; K5; K6; K7; K8; K9; K20; K15; K21; K22; K23; NPARAM0C; NPARAM0D;
Отправлено: [12 байтов]
00 75 62 71 0A 0C 0C 00 A3 F2 26 ED .ubq…&.

Получено: [18 байтов] [+00:102]
00 75 62 71 0A 12 96 04 00 00 00 00 00 00 A3 F2 BF 73 .ubq…s

Отправлено: [12 байтов]
00 75 62 71 0A 0C 0D 00 D7 E6 00 1E .ubq…

Получено: [18 байтов] [+00:099]
00 75 62 71 0A 12 95 04 00 00 00 00 00 00 D7 E6 68 73 .ubq…hs

Отправлено: [14 байтов]
00 75 62 71 01 0E FC 41 78 00 25 9D D0 8F .ubq…Ax.%…

Получено: [58 байтов] [+00:145]
00 75 62 71 01 3A A8 D7 D1 41 AF 71 D1 41 00 F2 4B 3D 00 00 00 00 86 1D BD 38 42 7F 04 3C 00 00 .ubq.:…A.q.A…K=…8B…<…
00 00 66 79 4C 37 01 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF 25 9D 1A D3 …fyL7…%…

Чтение параметров :D; L; P; NPARAM2C; NPARAM2D; NPARAM33; NPARAM34; NPARAM6; NPARAMD0; NPARAM0241; NPARAM0244; NPARAM1A; NPARAM1B; Чтение параметров :D; L; P; NPARAM2C; NPARAM2D; NPARAM33; NPARAM34; NPARAM6; NPARAMD0; NPARAM0241; NPARAM0244; NPARAM1A; NPARAM1B;
Отправлено: [10 байтов]
00 75 62 71 04 0A A2 73 09 32 .ubq…s.2

Получено: [16 байтов] [+00:097]
00 75 62 71 04 10 13 06 04 09 05 1A A2 73 A0 49 .ubq…s.I

Отправлено: [12 байтов]
00 75 62 71 0A 0C 01 00 DB EC 86 49 .ubq…I

Получено: [18 байтов] [+00:103]
00 75 62 71 0A 12 00 00 00 00 00 00 00 00 DB EC C9 D9 .ubq…

Отправлено: [12 байтов]
00 75 62 71 0A 0C 05 00 22 64 C5 4F .ubq…"d.O

Получено: [18 байтов] [+00:097]
00 75 62 71 0A 12 28 00 00 03 00 00 00 00 22 64 38 6F .ubq…(…"d8o

Отправлено: [12 байтов]
00 75 62 71 0A 0C 2C 00 5D A7 AD 72 .ubq…,.]…r

Получено: [18 байтов] [+00:100]
00 75 62 71 0A 12 6F 12 83 3A 00 00 00 00 5D A7 DE D6 .ubq…o…:…]…

Отправлено: [12 байтов]
00 75 62 71 0A 0C 2D 00 A6 E3 EF 8D .ubq…-…

Получено: [18 байтов] [+00:099]
00 75 62 71 0A 12 00 00 C8 42 00 00 00 00 A6 E3 C7 7F .ubq…B…

Отправлено: [12 байтов]
00 75 62 71 0A 0C 33 00 87 1C B1 B5 .ubq…3…

Получено: [18 байтов] [+00:334]
00 75 62 71 0A 12 CE CD 89 44 00 00 00 00 87 1C 50 CF .ubq…D…P.

Отправлено: [12 байтов]
00 75 62 71 0A 0C 34 00 AE 5A 2E A3 .ubq…4…Z…

Получено: [18 байтов] [+00:335]
00 75 62 71 0A 12 6F C3 89 44 00 00 00 00 AE 5A D5 8A .ubq…o…D…Z…

Отправлено: [12 байтов]
00 75 62 71 0A 0C 06 00 D9 C9 47 86 .ubq…G.

Получено: [18 байтов] [+00:100]
00 75 62 71 0A 12 00 00 01 00 00 00 00 00 D9 C9 C8 AE .ubq…

Отправлено: [12 байтов]
00 75 62 71 0A 0C D0 00 5F F1 1C 7C .ubq…_…|

Получено: [18 байтов] [+00:099]
00 75 62 71 0A 12 00 00 00 00 00 00 00 00 5F F1 6A D0 .ubq…_.j.

Отправлено: [12 байтов]
00 75 62 71 0A 0C 41 02 D6 DB 77 0F .ubq…A…w.

Получено: [18 байтов] [+00:099]
00 75 62 71 0A 12 00 00 00 00 00 00 00 00 D6 DB 8C 9F .ubq…

Отправлено: [12 байтов]
00 75 62 71 0A 0C 44 02 08 F6 EE 7E .ubq…D…~

Получено: [18 байтов] [+00:099]
00 75 62 71 0A 12 00 00 00 00 00 00 00 00 08 F6 15 22 .ubq…"

Отправлено: [12 байтов]
00 75 62 71 0A 0C 1A 00 CA 30 8D 64 .ubq…0.d

Получено: [18 байтов] [+00:098]
00 75 62 71 0A 12 00 22 00 00 00 00 00 00 CA 30 44 B1 .ubq…"…0D.

Отправлено: [12 байтов]
00 75 62 71 0A 0C 1B 00 50 7F A7 CC .ubq…P…

Получено: [18 байтов] [+00:099]
00 75 62 71 0A 12 CC 00 08 80 00 00 00 00 50 7F AA 29 .ubq…P…)

Спасибо большое! Вот отличается чтение текущих показаний от задокументированного, хоть тресни. Написал еще раз в поддержку Пульсара письмо. Ждем ответа.

Добрый день!
Подскажите не появилось ответа?

Добрый день! Производители считают, что счетчик поддерживает новый протокол, но не опубликовали его пока что. Сроки назывались неделя (две).

Добрый день. Коллеги, подскажите, есть ли новости? Очень ждем