Pulsar-heat Serial protocol error


#21

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


#22

То есть, чтобы получить ответ, надо отправлять команду примерно так:
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)


#23

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


#24

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


#25

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


#26

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


#27

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


#28

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

вот лог
Определение сетевого адреса пульсара
Отправлено: [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…


#29

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

Определение сетевого адреса пульсара
Отключено
Подключение: Тип Соединения = 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


#30

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


#31

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


#32

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


#33

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


#34

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


#35

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


#36

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

Чтение текущих с прибора: Пульсар теплосчётчик ультразвук. 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…)


#37

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


#38

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


#39

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