Подключение счетчика Меркурий 200.02 по Can


#56

root@wirenboard-ABZ4PE4F:~# dpkg -l wb-mqtt-serial
Желаемый=неизвестно[u]/установить[i]/удалить[r]/вычистить[p]/зафиксировать[h]
| Состояние=не[n]/установлен[i]/настроен[c]/распакован[U]/частично настроен[F]/
частично установлен[H]/trig-aWait/Trig-pend
|/ Ошибка?=(нет)/требуется переустановка[R] (верхний регистр
в полях состояния и ошибки указывает на ненормальную ситуацию)
||/ Имя Версия Архитектур Описание
++±===============================-====================-====================-====================================================================
ii wb-mqtt-serial 1.24 armel Wiren Board Smart Home MQTT serial protocol driver.
root@wirenboard-ABZ4PE4F:~#

root@wirenboard-ABZ4PE4F:~# ls -lh /dev/tty*
crw-rw-rw- 1 root root 5, 0 Янв 1 1970 /dev/tty
crw------- 1 root root 4, 0 Янв 1 1970 /dev/tty0
crw------- 1 root root 4, 1 Янв 1 1970 /dev/tty1
crw------- 1 root root 4, 10 Янв 1 1970 /dev/tty10
crw------- 1 root root 4, 11 Янв 1 1970 /dev/tty11
crw------- 1 root root 4, 12 Янв 1 1970 /dev/tty12
crw------- 1 root root 4, 13 Янв 1 1970 /dev/tty13
crw------- 1 root root 4, 14 Янв 1 1970 /dev/tty14
crw------- 1 root root 4, 15 Янв 1 1970 /dev/tty15
crw------- 1 root root 4, 16 Янв 1 1970 /dev/tty16
crw------- 1 root root 4, 17 Янв 1 1970 /dev/tty17
crw------- 1 root root 4, 18 Янв 1 1970 /dev/tty18
crw------- 1 root root 4, 19 Янв 1 1970 /dev/tty19
crw------- 1 root root 4, 2 Янв 1 1970 /dev/tty2
crw------- 1 root root 4, 20 Янв 1 1970 /dev/tty20
crw------- 1 root root 4, 21 Янв 1 1970 /dev/tty21
crw------- 1 root root 4, 22 Янв 1 1970 /dev/tty22
crw------- 1 root root 4, 23 Янв 1 1970 /dev/tty23
crw------- 1 root root 4, 24 Янв 1 1970 /dev/tty24
crw------- 1 root root 4, 25 Янв 1 1970 /dev/tty25
crw------- 1 root root 4, 26 Янв 1 1970 /dev/tty26
crw------- 1 root root 4, 27 Янв 1 1970 /dev/tty27
crw------- 1 root root 4, 28 Янв 1 1970 /dev/tty28
crw------- 1 root root 4, 29 Янв 1 1970 /dev/tty29
crw------- 1 root root 4, 3 Янв 1 1970 /dev/tty3
crw------- 1 root root 4, 30 Янв 1 1970 /dev/tty30
crw------- 1 root root 4, 31 Янв 1 1970 /dev/tty31
crw------- 1 root root 4, 32 Янв 1 1970 /dev/tty32
crw------- 1 root root 4, 33 Янв 1 1970 /dev/tty33
crw------- 1 root root 4, 34 Янв 1 1970 /dev/tty34
crw------- 1 root root 4, 35 Янв 1 1970 /dev/tty35
crw------- 1 root root 4, 36 Янв 1 1970 /dev/tty36
crw------- 1 root root 4, 37 Янв 1 1970 /dev/tty37
crw------- 1 root root 4, 38 Янв 1 1970 /dev/tty38
crw------- 1 root root 4, 39 Янв 1 1970 /dev/tty39
crw------- 1 root root 4, 4 Янв 1 1970 /dev/tty4
crw------- 1 root root 4, 40 Янв 1 1970 /dev/tty40
crw------- 1 root root 4, 41 Янв 1 1970 /dev/tty41
crw------- 1 root root 4, 42 Янв 1 1970 /dev/tty42
crw------- 1 root root 4, 43 Янв 1 1970 /dev/tty43
crw------- 1 root root 4, 44 Янв 1 1970 /dev/tty44
crw------- 1 root root 4, 45 Янв 1 1970 /dev/tty45
crw------- 1 root root 4, 46 Янв 1 1970 /dev/tty46
crw------- 1 root root 4, 47 Янв 1 1970 /dev/tty47
crw------- 1 root root 4, 48 Янв 1 1970 /dev/tty48
crw------- 1 root root 4, 49 Янв 1 1970 /dev/tty49
crw------- 1 root root 4, 5 Янв 1 1970 /dev/tty5
crw------- 1 root root 4, 50 Янв 1 1970 /dev/tty50
crw------- 1 root root 4, 51 Янв 1 1970 /dev/tty51
crw------- 1 root root 4, 52 Янв 1 1970 /dev/tty52
crw------- 1 root root 4, 53 Янв 1 1970 /dev/tty53
crw------- 1 root root 4, 54 Янв 1 1970 /dev/tty54
crw------- 1 root root 4, 55 Янв 1 1970 /dev/tty55
crw------- 1 root root 4, 56 Янв 1 1970 /dev/tty56
crw------- 1 root root 4, 57 Янв 1 1970 /dev/tty57
crw------- 1 root root 4, 58 Янв 1 1970 /dev/tty58
crw------- 1 root root 4, 59 Янв 1 1970 /dev/tty59
crw------- 1 root root 4, 6 Янв 1 1970 /dev/tty6
crw------- 1 root root 4, 60 Янв 1 1970 /dev/tty60
crw------- 1 root root 4, 61 Янв 1 1970 /dev/tty61
crw------- 1 root root 4, 62 Янв 1 1970 /dev/tty62
crw------- 1 root root 4, 63 Янв 1 1970 /dev/tty63
crw------- 1 root root 4, 7 Янв 1 1970 /dev/tty7
crw------- 1 root root 4, 8 Янв 1 1970 /dev/tty8
crw------- 1 root root 4, 9 Янв 1 1970 /dev/tty9
crw-rw—T 1 root dialout 204, 64 Янв 1 1970 /dev/ttyAMA0
crw-rw—T 1 root dialout 247, 0 Май 24 19:55 /dev/ttyAPP0
crw-rw—T 1 root dialout 247, 1 Май 24 20:24 /dev/ttyAPP1
crw-rw—T 1 root dialout 247, 2 Май 24 20:24 /dev/ttyAPP2
crw-rw—T 1 root dialout 247, 4 Янв 1 1970 /dev/ttyAPP4
lrwxrwxrwx 1 root root 7 Янв 1 1970 /dev/ttyCONSOLE -> ttyAMA0
lrwxrwxrwx 1 root root 7 Янв 1 1970 /dev/ttyGSM -> ttyAPP0
lrwxrwxrwx 1 root root 7 Янв 1 1970 /dev/ttyMOD1 -> ttyAPP2
lrwxrwxrwx 1 root root 7 Янв 1 1970 /dev/ttyRS485-1 -> ttyAPP1
lrwxrwxrwx 1 root root 7 Янв 1 1970 /dev/ttyRS485-2 -> ttyAPP4
root@wirenboard-ABZ4PE4F:~#


#57

Ага, понятно, сразу не сообразил.

Цитата из документации:

Настройка осуществляется в веб-интерфейсе в раздел Configs => Hardware Modules Configuration.
<…>
Для режима UART-CAN: убедиться, что в соответствующем слоте (Internal slot 1 или Internal slot 2) стоит значение “None”.


#58

пробовал и так результат один


#59

в slot 1 у меня RS 485 со счетчиками воды


#60

почему отвалился RS485 1? питание на датчиках есть, дата не ходит, соединения я не трогал. И меркурия тоже нет.


#61

RS485 который отвалился наружний. Внутренний изолированный модулем работает


#63

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

По существу:

Нет, не так. Пожалуйста выставьте в соответствии с документацией, затем перезагрузите контроллер и проверьте, не заработает ли всё как нужно. Если нет, то начнём отладку сначала.

Потому что из-за неправильной настройки аппаратной части (Hardware module configuration) у вас не существует устройства /dev/ttyMOD2, которое вы прописали в настройках драйвера работы с последовательным портом. Это считается критической ошибкой для драйвера, который занимается опросом устройств по последовательным портам. Поэтому драйвер ааварийно завершается с сообщением об ошибке.


#64

Выставил по документации. Перезагрузил контроллер. Результат RS485 1 не работает. Меркурий не появился. Может попытаться понять почему у меня нет /dev/ttyMOD2?


#65

Потому что было выставлено не по документации.
Покажите сейчас новое содержимое /etc/wb-hardware.conf и вывод

ls -lh /dev/tty* 

пожалуйста


#66

root@wirenboard-ABZ4PE4F:~# ls -lh /dev/tty*
crw-rw-rw- 1 root root 5, 0 Май 24 21:37 /dev/tty
crw------- 1 root root 4, 0 Май 24 21:37 /dev/tty0
crw------- 1 root root 4, 1 Май 24 21:38 /dev/tty1
crw------- 1 root root 4, 10 Май 24 21:37 /dev/tty10
crw------- 1 root root 4, 11 Май 24 21:37 /dev/tty11
crw------- 1 root root 4, 12 Май 24 21:37 /dev/tty12
crw------- 1 root root 4, 13 Май 24 21:37 /dev/tty13
crw------- 1 root root 4, 14 Май 24 21:37 /dev/tty14
crw------- 1 root root 4, 15 Май 24 21:37 /dev/tty15
crw------- 1 root root 4, 16 Май 24 21:37 /dev/tty16
crw------- 1 root root 4, 17 Май 24 21:37 /dev/tty17
crw------- 1 root root 4, 18 Май 24 21:37 /dev/tty18
crw------- 1 root root 4, 19 Май 24 21:37 /dev/tty19
crw------- 1 root root 4, 2 Май 24 21:38 /dev/tty2
crw------- 1 root root 4, 20 Май 24 21:37 /dev/tty20
crw------- 1 root root 4, 21 Май 24 21:37 /dev/tty21
crw------- 1 root root 4, 22 Май 24 21:37 /dev/tty22
crw------- 1 root root 4, 23 Май 24 21:37 /dev/tty23
crw------- 1 root root 4, 24 Май 24 21:37 /dev/tty24
crw------- 1 root root 4, 25 Май 24 21:37 /dev/tty25
crw------- 1 root root 4, 26 Май 24 21:37 /dev/tty26
crw------- 1 root root 4, 27 Май 24 21:37 /dev/tty27
crw------- 1 root root 4, 28 Май 24 21:37 /dev/tty28
crw------- 1 root root 4, 29 Май 24 21:37 /dev/tty29
crw------- 1 root root 4, 3 Май 24 21:38 /dev/tty3
crw------- 1 root root 4, 30 Май 24 21:37 /dev/tty30
crw------- 1 root root 4, 31 Май 24 21:37 /dev/tty31
crw------- 1 root root 4, 32 Май 24 21:37 /dev/tty32
crw------- 1 root root 4, 33 Май 24 21:37 /dev/tty33
crw------- 1 root root 4, 34 Май 24 21:37 /dev/tty34
crw------- 1 root root 4, 35 Май 24 21:37 /dev/tty35
crw------- 1 root root 4, 36 Май 24 21:37 /dev/tty36
crw------- 1 root root 4, 37 Май 24 21:37 /dev/tty37
crw------- 1 root root 4, 38 Май 24 21:37 /dev/tty38
crw------- 1 root root 4, 39 Май 24 21:37 /dev/tty39
crw------- 1 root root 4, 4 Май 24 21:38 /dev/tty4
crw------- 1 root root 4, 40 Май 24 21:37 /dev/tty40
crw------- 1 root root 4, 41 Май 24 21:37 /dev/tty41
crw------- 1 root root 4, 42 Май 24 21:37 /dev/tty42
crw------- 1 root root 4, 43 Май 24 21:37 /dev/tty43
crw------- 1 root root 4, 44 Май 24 21:37 /dev/tty44
crw------- 1 root root 4, 45 Май 24 21:37 /dev/tty45
crw------- 1 root root 4, 46 Май 24 21:37 /dev/tty46
crw------- 1 root root 4, 47 Май 24 21:37 /dev/tty47
crw------- 1 root root 4, 48 Май 24 21:37 /dev/tty48
crw------- 1 root root 4, 49 Май 24 21:37 /dev/tty49
crw------- 1 root root 4, 5 Май 24 21:38 /dev/tty5
crw------- 1 root root 4, 50 Май 24 21:37 /dev/tty50
crw------- 1 root root 4, 51 Май 24 21:37 /dev/tty51
crw------- 1 root root 4, 52 Май 24 21:37 /dev/tty52
crw------- 1 root root 4, 53 Май 24 21:37 /dev/tty53
crw------- 1 root root 4, 54 Май 24 21:37 /dev/tty54
crw------- 1 root root 4, 55 Май 24 21:37 /dev/tty55
crw------- 1 root root 4, 56 Май 24 21:37 /dev/tty56
crw------- 1 root root 4, 57 Май 24 21:37 /dev/tty57
crw------- 1 root root 4, 58 Май 24 21:37 /dev/tty58
crw------- 1 root root 4, 59 Май 24 21:37 /dev/tty59
crw------- 1 root root 4, 6 Май 24 21:38 /dev/tty6
crw------- 1 root root 4, 60 Май 24 21:37 /dev/tty60
crw------- 1 root root 4, 61 Май 24 21:37 /dev/tty61
crw------- 1 root root 4, 62 Май 24 21:37 /dev/tty62
crw------- 1 root root 4, 63 Май 24 21:37 /dev/tty63
crw------- 1 root root 4, 7 Май 24 21:37 /dev/tty7
crw------- 1 root root 4, 8 Май 24 21:37 /dev/tty8
crw------- 1 root root 4, 9 Май 24 21:37 /dev/tty9
crw-rw—T 1 root dialout 204, 64 Май 24 21:37 /dev/ttyAMA0
crw-rw—T 1 root dialout 247, 0 Май 24 21:37 /dev/ttyAPP0
crw-rw—T 1 root dialout 247, 1 Май 24 21:39 /dev/ttyAPP1
crw-rw—T 1 root dialout 247, 2 Май 24 21:39 /dev/ttyAPP2
crw-rw—T 1 root dialout 247, 3 Май 24 21:39 /dev/ttyAPP3
crw-rw—T 1 root dialout 247, 4 Май 24 21:37 /dev/ttyAPP4
lrwxrwxrwx 1 root root 7 Май 24 21:37 /dev/ttyCONSOLE -> ttyAMA0
lrwxrwxrwx 1 root root 7 Май 24 21:37 /dev/ttyGSM -> ttyAPP0
lrwxrwxrwx 1 root root 7 Май 24 21:37 /dev/ttyMOD1 -> ttyAPP2
lrwxrwxrwx 1 root root 7 Май 24 21:37 /dev/ttyMOD2 -> ttyAPP3
lrwxrwxrwx 1 root root 7 Май 24 21:37 /dev/ttyRS485-1 -> ttyAPP1
lrwxrwxrwx 1 root root 7 Май 24 21:37 /dev/ttyRS485-2 -> ttyAPP4


#67

Ну вот теперь у вас /dev/ttyMOD2 появился, как и должен. Какие-то ошибки в /var/log/messages, связанные с wb-mqtt-serial, есть?

Перепроверьте в общем корректность настроек Serial.


#68

May 24 21:55:09 wirenboard-ABZ4PE4F user.notice serial: TSerialDevice::ReadRegisterRange(): warning: Serial protocol error: mercury200: bad CRC for command [slave_id is mercury200:164225]
May 24 21:55:09 wirenboard-ABZ4PE4F user.notice serial: TSerialDevice::ReadRegisterRange(): warning: Serial protocol error: mercury200: bad CRC for command [slave_id is mercury200:164225]
May 24 21:55:09 wirenboard-ABZ4PE4F user.notice serial: TSerialDevice::ReadRegisterRange(): warning: Serial protocol error: mercury200: bad CRC for command [slave_id is mercury200:164225]
May 24 21:55:09 wirenboard-ABZ4PE4F user.notice serial: TSerialDevice::ReadRegisterRange(): warning: Serial protocol error: mercury200: bad CRC for command [slave_id is mercury200:164225]
May 24 21:55:09 wirenboard-ABZ4PE4F user.notice serial: TSerialDevice::ReadRegisterRange(): warning: Serial protocol error: mercury200: bad CRC for command [slave_id is mercury200:164225]
May 24 21:55:09 wirenboard-ABZ4PE4F user.notice serial: FATAL: Serial protocol error: mercury200: register address is out of range. Stopping event loops.


#69

Возможно опять стоят лишние флажки в настройках.

  1. Пожалуйста временно отключите все другие порты кроме MOD2 в настройках Serial.

  2. Покажите мне пожалуйста ЦЕЛИКОМ файл /etc/wb-mqtt-serial.conf (Если не сложно, то пожалуйста текстом, выделенным тройными апострофами, а не картинкой. Иначе тема превращается в ужас).

  3. Если вы как-то меняли темплейт mercury200, то сохраните свою версию и откатите темплейт до версии из прошивки.

    apt-get install --reinstall wb-mqtt-serial


#70
  1. Все лишнее отключил
{
    "debug": false,
    "max_unchanged_interval": 10,
    "ports": [
        {
            "path": "/dev/ttyRS485-1",
            "baud_rate": 9600,
            "parity": "N",
            "stop_bits": 2,
            "poll_interval": 10,
            "enabled": false,
            "devices": [
                {
                    "slave_id": "36",
                    "device_type": "WB-MRGB"
                },
                {
                    "slave_id": "53",
                    "device_type": "WB-MRGB"
                },
                {
                    "slave_id": "30",
                    "device_type": "WB-MRGB"
                },
                {
                    "slave_id": "48",
                    "device_type": "WB-MSGR"
                },
                {
                    "slave_id": "34",
                    "device_type": "WB-MSW2"
                },
                {
                    "slave_id": "6",
                    "device_type": "WB-MR14"
                },
                {
                    "slave_id": "13",
                    "device_type": "WB-MR14"
                }
            ]
        },
        {
            "path": "/dev/ttyRS485-2",
            "baud_rate": 9600,
            "parity": "N",
            "data_bits": 8,
            "stop_bits": 1,
            "poll_interval": 10,
            "enabled": false,
            "devices": []
        },
        {
            "path": "/dev/ttyMOD1",
            "baud_rate": 9600,
            "parity": "N",
            "data_bits": 8,
            "stop_bits": 1,
            "poll_interval": 10,
            "enabled": false,
            "devices": [
                {
               "slave_id": "130730",
                    "device_type": "pulsar-water-2"
                },
                {
                    "slave_id": "133172",
                    "device_type": "pulsar-water-2"
                }
            ]
        },
        {
            "path": "/dev/ttyMOD2",
            "baud_rate": 9600,
            "parity": "N",
            "data_bits": 8,
            "stop_bits": 1,
            "poll_interval": 10,
            "enabled": true,
            "devices": [
                {
                    "slave_id": "164225",
                    "device_type": "Mercury 200.02"
                }
            ]
        },
        {
            "path": "/dev/ttyMOD3",
            "baud_rate": 9600,
            "parity": "N",
            "data_bits": 8,
            "stop_bits": 2,
            "poll_interval": 10,
            "enabled": false,
     "devices": []
        }
    ]
}
  1. Выполнил

#71

Меркурий появился в таком виде

В логах тоже ошибка

May 24 23:01:42 wirenboard-ABZ4PE4F user.notice serial: TSerialDevice::ReadRegisterRange(): warning: Serial protocol error: mercury200: bad CRC for command [slave_id is mercury200:164225]
May 24 23:01:42 wirenboard-ABZ4PE4F user.notice serial: TSerialDevice::ReadRegisterRange(): warning: Serial protocol error: mercury200: bad CRC for command [slave_id is mercury200:164225]
May 24 23:01:42 wirenboard-ABZ4PE4F user.notice serial: TSerialDevice::ReadRegisterRange(): warning: Serial protocol error: mercury200: bad CRC for command [slave_id is mercury200:164225]
May 24 23:01:42 wirenboard-ABZ4PE4F user.notice serial: FATAL: Serial protocol error: mercury200: register address is out of range. Stopping event loops.


#72

Хм, тогда странно. Видимо это некорректная реакция драйвера на ошибку обмена данными, будем разбираться.


#73

как мне сейчас хотяб RS485 -1 заставить работать?


#74

Отключить счётчик в настройках.


#75

отключал, ситуация не изменилась. Еще один побочный эффект который появился после добавления модуля Can, очень медленно загружается контроллер. Стали появляться сообщения в вебке Error listing the configs: MQTT RPC request timed out


#76

Я очень сомневаюсь, что всё так, как вы описываете. Отключите счётчик в настройках Serial, перезагрузитесь, проверьте ещё раз.