Страница 5 из 6
Re: Опрос электросчетчика Меркурий 230
Добавлено: 22 ноя 2017, 20:15
MSapogov
bnx писал(а):MSapogov писал(а):Я на своем 230 с CAN интерфейсом
Это какая маркировка у вас на счетчике(модель)?
ART-01 CN (2006год)
Вот такой "обезжиренный", но с CAN интерфейсом.
Re: Опрос электросчетчика Меркурий 230
Добавлено: 01 дек 2017, 02:07
kpp
andrusha7778 писал(а):Добрый день, подскажите в чем может быть дело?
Подключил в 230-ARTCN к raspberyy PI через кан
устройство /dev/ttyUSB0 появилось
Раскомментировал строчку в конфиге DEV_FLAGS_LINUX для дебиана а для линукса закомментил (иначе ругалось что не может параметры порта установить)
в общем вот что выдает:
Код: Выделить всё
./electro_counter.sh
OS: LINUX; DEVICE: /dev/ttyUSB0; COUNTER_SN: 05994103(03); COUNTER_TYPE: merc230.sh; ECHOCOMMAND: NO; TEST_COMMUNITY: YES; DEV_EMULATOR: NO; METHOD_COMMUNITY: CAT; FUZZY_MATCHING_CRC: NO
COMMAND: kwatthour; PARAMS: "kwatthour"> mode=0, zona=00, month=0; SIZE: 19; OUTPARSER: ; DESCRIBE: Опрос накопленной энергии params: mode[]:zona[]
TEST_SEND: _0x03_0x00_0x01_0x40 4
METHOD_COMMUNITY=CAT len=4
...
Error! Not answer "/dev/ttyUSB0"!
root@majordomo:/home/pi/mercury#
Под виндой работает чудесно с этим переходником и конфигуратором
Работает под raspberry PI.
попробуйте поменять метод связи
METHOD_COMMUNITY="DD"
запускать:
sh electro_counter.sh <КОМАНДА>
Вопросы\отзывы по этому скрипту можно оставлять тут
https://redmine.hi.dp.ua/projects/electro_counter
Re: Опрос электросчетчика Меркурий 230
Добавлено: 01 янв 2018, 21:24
yuoras
Что то не работает
https://redmine.hi.dp.ua
Ошибка 500
Re: Опрос электросчетчика Меркурий 230
Добавлено: 04 янв 2018, 14:52
kpp
Уже работает, были проблемы при обновлении.
Re: Опрос электросчетчика Меркурий 230
Добавлено: 03 мар 2018, 16:47
empenoso
Глупый вопрос - серийный номер и пароль где взять для счетчика? Сначала из под windows запустить их родное приложение
http://www.incotexcom.ru/count_prog.htm ?
Re: Опрос электросчетчика Меркурий 230
Добавлено: 03 мар 2018, 17:37
kpp
Серийный номер счетчика указан на самом счетчике.
Пароли стандартные, одинаковые, если не менялись. Пароль чтения: 111111
Re: Опрос электросчетчика Меркурий 230
Добавлено: 04 мар 2018, 09:24
empenoso
kpp писал(а): ↑03 мар 2018, 17:37
Серийный номер счетчика указан на самом счетчике.
Пароли стандартные, одинаковые, если не менялись. Пароль чтения: 111111
Спасибо за ваш ответ. Еще один глупый вопрос - как определить устройство-порт, к которому подключен счетчик?
Код: Выделить всё
# устройство-порт, к которому подключен счетчик
DEVICE="/dev/cuaU4"
Пишу:
Код: Выделить всё
[10:32:06] openhabian@openHABianPi:~$ lsusb
Bus 001 Device 006: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light
Bus 001 Device 004: ID 0d8c:013c C-Media Electronics, Inc. CM108 Audio Controller
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
[10:32:47] openhabian@openHABianPi:~$
Код: Выделить всё
[10:35:34] openhabian@openHABianPi:~$ sudo lsusb -v
[sudo] пароль для openhabian:
Bus 001 Device 006: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x10c4 Cygnal Integrated Products, Inc.
idProduct 0xea60 CP210x UART Bridge / myAVR mySmartUSB light
bcdDevice 1.00
iManufacturer 1 Silicon Labs
iProduct 2 CP2104 USB to UART Bridge Controller
iSerial 3 014C0CA6
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 2 CP2104 USB to UART Bridge Controller
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Device Status: 0x0000
(Bus Powered)
Код: Выделить всё
[10:38:21] openhabian@openHABianPi:~$ dmesg | grep tty
[ 0.000000] Kernel command line: 8250.nr_uarts=0 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2708_fb.fbdepth=16 bcm2708_fb.fbswap=1 vc_mem.mem_base=0x3f000000 vc_mem.mem_size=0x3f600000 dwc_otg.lpm_enable=0 console=ttyS0,115200 console=tty1 root=PARTUUID=bd4128b8-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
[ 0.001212] console [tty1] enabled
[ 0.825565] 3f201000.serial: ttyAMA0 at MMIO 0x3f201000 (irq = 87, base_baud = 0) is a PL011 rev2
[ 14.364127] systemd[1]: Created slice system-getty.slice.
[ 15.760479] usb 1-1.5: cp210x converter now attached to ttyUSB0
[90386.530429] cp210x ttyUSB0: cp210x converter now disconnected from ttyUSB0
[90934.553181] usb 1-1.5: cp210x converter now attached to ttyUSB0
[10:38:38] openhabian@openHABianPi:~$
Изменил файл настройки:
Код: Выделить всё
# файл протокола обмена со счетчиком
COUNTER_TYPE="merc200.sh"
# устройство-порт, к которому подключен счетчик
DEVICE="/dev/ttyUSB0"
# серийный номер счетчика
COUNTER_SN=31680870
Получаю:
Код: Выделить всё
[10:38:50] openhabian@openHABianPi:~$ sh /etc/openhab2/exec/electo_counters/electro_counter.sh test
115200
stty: неверный аргумент «baud;»
По команде «stty --help» можно получить дополнительную информацию.
Error! Set params device "/dev/ttyUSB0"!
[10:40:23] openhabian@openHABianPi:~$
Переделал в файле настроек:
Код: Выделить всё
# Linux
#DEV_FLAGS_LINUX=" speed 9600 baud; rows 0; columns 0; line = 0;
#intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
#-parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
#-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -iutf8
#-opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
#-isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt -echoctl -echoke"
#Linux Debian
DEV_FLAGS_LINUX=" cs8 9600 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts"
Но ошибка:
Код: Выделить всё
[11:54:51] openhabian@openHABianPi:~$ sh /etc/openhab2/exec/electo_counters/electro_counter.sh test
Error! Not answer "/dev/ttyUSB0"!
[11:55:17] openhabian@openHABianPi:~$
Метод связи менял: DD, CAT - аналогично.
Подключал по схеме, GND, A, B:
- 83306-instrukcii-k-avtosignalizaciyam-s-avtozapuskom-pantera-slk-600-rs.jpg (235.05 КБ) 4429 просмотров
Re: Опрос электросчетчика Меркурий 230
Добавлено: 04 мар 2018, 12:31
empenoso
Фото номера и модели:
- IMG_20180304_101539.jpg (56.3 КБ) 4425 просмотров
Re: Опрос электросчетчика Меркурий 230
Добавлено: 04 мар 2018, 13:56
kpp
Какая ОС?
Через какой адаптер подключаете счетчик?
При попытке вычитки на адаптере моргают светодиоды?
Серийный номер счетчика(а заодно и пароль) лучше перепроверить под виндой, стандартной прогой - конфигуратором.
Re: Опрос электросчетчика Меркурий 230
Добавлено: 04 мар 2018, 14:27
empenoso
kpp писал(а): ↑04 мар 2018, 13:56
Какая ОС?
Через какой адаптер подключаете счетчик?
При попытке вычитки на адаптере моргают светодиоды?
Серийный номер счетчика лучше перепроверить под виндой, стандартной прогой - конфигуратором.
Сборка openHABianPi .
Код: Выделить всё
###############################################################################
################# openHABianPi ################################################
###############################################################################
## Ip = 192.168.48.31
## Release = Raspbian GNU/Linux 9 (stretch)
## Kernel = Linux 4.9.59-v7+
## Platform = Raspberry Pi 3 Model B Rev 1.2
Сейчас подключено через вот этот адаптер USB 2.0 to RS485 Serial Converter Adapter CP2104 SN75176 double protection FUSE:
https://www.aliexpress.com/item/USB-2-0 ... 83994.html
Еще есть вот такой CH340 Module 2016 USB to RS485:
https://www.ebay.com/itm/CH340-Module-2 ... 1986526656
На подключенном адаптере нет светодиодов.
Re: Опрос электросчетчика Меркурий 230
Добавлено: 04 мар 2018, 15:39
kpp
Проверьте все это сначала на ОС Виндоус стандартным конфигуратором.
Будет видно работает ли адаптер, правильно ли он подключен, будут точно известны серийный номер и пароль.
Re: Опрос электросчетчика Меркурий 230
Добавлено: 04 мар 2018, 19:38
empenoso
kpp писал(а): ↑04 мар 2018, 15:39
Проверьте все это сначала на ОС Виндоус стандартным конфигуратором.
Будет видно работает ли адаптер, правильно ли он подключен, будут точно известны серийный номер и пароль.
Похоже физически неправильно подключаю. Из под виндоус НЕ видит. Подключаю:
-CAN (на колодке 2) ---> B
+CAN (на колодке 3) ---> A
Питание +5В (на колодке 4 и 5) и GND (на колодке 1) НЕ подключаю никуда.
Драйвера вроде поставил на Windows:
Код: Выделить всё
Порты (СОМ и LPT)
Silicon Labs CP210x USB to UART Bridge (COM6)
USB-SERIAL CH340 (COM7)
Единственное для CH340 - сайт wch.cn - драйвера 2014 года старые.
- IMG_20180304_182430_.jpg (176.35 КБ) 4394 просмотра
- cx221.png (10.83 КБ) 4369 просмотров
http://incotex-counter.blogspot.ru/2011 ... st_25.html
Re: Опрос электросчетчика Меркурий 230
Добавлено: 04 мар 2018, 23:39
kpp
Re: Опрос электросчетчика Меркурий 230
Добавлено: 05 мар 2018, 15:19
empenoso
После подачи питания 5В из под windows прочитался, но скриптом не хочет почему-то
:
- merc.jpg (139.57 КБ) 4355 просмотров
Код: Выделить всё
[16:06:56] openhabian@openHABianPi:~$ sh /etc/openhab2/exec/electo_counters/electro_counter.sh datetime
Error! Not answer "/dev/ttyUSB0"!
[16:07:07] openhabian@openHABianPi:~$ sh /etc/openhab2/exec/electo_counters/electro_counter.sh datetime
Error! Not answer "/dev/ttyUSB0"!
[16:07:45] openhabian@openHABianPi:~$ sh /etc/openhab2/exec/electo_counters/electro_counter.sh test
Error! Not answer "/dev/ttyUSB0"!
[16:15:20] openhabian@openHABianPi:~$ sh /etc/openhab2/exec/electo_counters/electro_counter.sh
Error! Not answer "/dev/ttyUSB0"!
[16:18:15] openhabian@openHABianPi:~$ dmesg | grep tty
[ 0.000000] Kernel command line: 8250.nr_uarts=0 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2708_fb.fbdepth=16 bcm2708_fb.fbswap=1 vc_mem.mem_base=0x3f000000 vc_mem.mem_size=0x3f600000 dwc_otg.lpm_enable=0 console=ttyS0,115200 console=tty1 root=PARTUUID=bd4128b8-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
[ 0.001209] console [tty1] enabled
[ 0.825523] 3f201000.serial: ttyAMA0 at MMIO 0x3f201000 (irq = 87, base_baud = 0) is a PL011 rev2
[ 15.726386] usb 1-1.5: ch341-uart converter now attached to ttyUSB0
[ 337.250354] ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0
[ 516.880490] usb 1-1.5: ch341-uart converter now attached to ttyUSB0
[16:18:46] openhabian@openHABianPi:~$
Код: Выделить всё
# файл протокола обмена со счетчиком
COUNTER_TYPE="merc200.sh"
# устройство-порт, к которому подключен счетчик
DEVICE="/dev/ttyUSB0"
# серийный номер счетчика
COUNTER_SN=680870
# пароль чтения
PASS_READ=111111
# пароль записи
PASS_WRITE=12333333
# AUTO, FREEBSD, LINUX
OS=AUTO
# режим отладки 0, 1, 2
DEBUG=0
# отображать описание команды или нет
DISPLAY_DESCRIPTION=NO
# временный файл
TMPFL="/tmp/electro_counter.tmp"
# режим эмуляции работы со счетчиком
DEV_EMULATOR="NO"
#
ECHOCOMMAND=NO
#C_ECHO=/bin/echo
C_ECHO=echo
# метод связи: DD, CAT
METHOD_COMMUNITY="DD"
# жесткий контроль контрольной суммы(NO), контрольная сумма может полностью или частично отсутствовать(YES)
FUZZY_MATCHING_CRC="NO"
# ожидание
WAIT_TIME=.050
# сколько итераций по WAIT_TIME милисек ожидать ответа
WAITTICK=10
# тестировать ли связь перед каждым запросом
TEST_COMMUNITY="YES"
TEST_COMMAND=amper
# кол-во попыток отправки запроса TEST
TRY_COUNT_TEST=5
# кол-во попыток отправки целевого запроса
TRY_COUNT_COMMAND=3
# параметры настройки определения запущенной копии скрипта
# каталог расположения файла-флага
PID_DIR="/tmp"
# имя файла-флага
PID_NAME="electro_counter"
# время ожидания окончания работы запущенной копии скрипта (сек)
PID_TIMEOUT=20
# частота проверки окончания работы запущенной копии скрипта (сек)
PID_TIMEWAIT=1
# параметры порта
DEV_BAND=9600
# FreeBSD
DEV_FLAGS=" ixany ignbrk opost cread cs8 -ixon -ixoff -parenb -parodd -hupcl -clocal -cstopb raw"
#speed 9600 baud; 0 rows; 0 columns;
#lflags: -icanon -isig -iexten -echo -echoe -echok echoke -echonl echoctl
# -echoprt -altwerase -noflsh -tostop -flusho -pendin -nokerninfo
# -extproc
#iflags: -istrip -icrnl -inlcr -igncr -ixon -ixoff ixany -imaxbel ignbrk
# -brkint -inpck -ignpar -parmrk
#oflags: opost -onlcr -ocrnl tab0 -onocr -onlret
#cflags: cread cs8 -parenb -parodd -hupcl -clocal -cstopb -crtscts
# -dsrflow -dtrflow -mdmbuf
#cchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = <undef>;
# eol2 = <undef>; erase = ^?; erase2 = ^H; intr = ^C; kill = ^U;
# lnext = ^V; min = 1; quit = ^\; reprint = ^R; start = ^Q;
# status = ^T; stop = ^S; susp = ^Z; time = 2; werase = ^W;
# Linux
#DEV_FLAGS_LINUX=" speed 9600 baud; rows 0; columns 0; line = 0;
#intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
#-parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
#-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -iutf8
#-opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
#-isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt -echoctl -echoke"
#Linux Debian
DEV_FLAGS_LINUX=" cs8 9600 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts"
Re: Опрос электросчетчика Меркурий 230
Добавлено: 05 мар 2018, 15:41
kpp
Версия скриптов 2018-01-29 version 2.2 ?
В файле electro_counter.conf установить:
DEBUG=2
OS=LINUX
Re: Опрос электросчетчика Меркурий 230
Добавлено: 05 мар 2018, 18:17
empenoso
kpp писал(а): ↑05 мар 2018, 15:41
Версия скриптов 2018-01-29 version 2.2 ?
В файле electro_counter.conf установить:
DEBUG=2
OS=LINUX
Да, последнняя с сайта. Пишет:
Код: Выделить всё
[19:15:23] openhabian@openHABianPi:~$ sh /etc/openhab2/exec/electo_counters/elec tro_counter.sh amper
OS: LINUX; DEVICE: /dev/ttyUSB0; COUNTER_SN: 680870(x0ax63xa6); COUNTER_TYPE: me rc200.sh; ECHOCOMMAND: NO; TEST_COMMUNITY: YES; DEV_EMULATOR: NO; METHOD_COMMUNI TY: DD; FUZZY_MATCHING_CRC: NO
COMMAND: amper; PARAMS: none; SIZE: 14; OUTPARSER: "02x3,02x4#Aprintf(\"%s=%0.2f \",\"Amper\",^b0/100)"; DESCRIBE: Сила тока A (А)
TEST_SEND: amper _0x00_0x0a_0x63_0xa6_0x63_0xEC_0x4F 14
METHOD_COMMUNITY=DD len=14
METHOD_COMMUNITY=DD len=14
METHOD_COMMUNITY=DD len=14
METHOD_COMMUNITY=DD len=14
METHOD_COMMUNITY=DD len=14
TEST_ANSWER(1) 0
TEST_ANSWER(2) 0
TEST_ANSWER(3) 0
TEST_ANSWER(4) 0
TEST_ANSWER(5) 0
Set params device "/dev/ttyUSB0"...
Set params device "/dev/ttyUSB0" - 0.
METHOD_COMMUNITY=DD len=14
METHOD_COMMUNITY=DD len=14
METHOD_COMMUNITY=DD len=14
METHOD_COMMUNITY=DD len=14
METHOD_COMMUNITY=DD len=14
TEST_ANSWER(1) 0
TEST_ANSWER(2) 0
TEST_ANSWER(3) 0
TEST_ANSWER(4) 0
TEST_ANSWER(5) 0
Error! Not answer "/dev/ttyUSB0"!
[19:16:36] openhabian@openHABianPi:~$
Re: Опрос электросчетчика Меркурий 230
Добавлено: 05 мар 2018, 19:56
kpp
Тогда остается два варианта.
1. Неверно указано имя устройства.
2. Необходимо настроить параметры устройства.
Попробовать раскомментировать
DEV_FLAGS_LINUX=" speed 9600 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -iutf8
-opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt -echoctl -echoke"
И закоментировать другие DEV_FLAGS_LINUX=
Re: Опрос электросчетчика Меркурий 230
Добавлено: 05 мар 2018, 20:53
empenoso
kpp писал(а): ↑05 мар 2018, 19:56
2. Необходимо настроить параметры устройства.
Попробовать раскомментировать
DEV_FLAGS_LINUX=" speed 9600 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -iutf8
-opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt -echoctl -echoke"
И закоментировать другие DEV_FLAGS_LINUX=
Что-то нет:
Код: Выделить всё
[21:49:44] openhabian@openHABianPi:~$ sh /etc/openhab2/exec/electo_counters/electro_counter.sh version
OS: LINUX; DEVICE: /dev/ttyUSB0; COUNTER_SN: 680870(x0ax63xa6); COUNTER_TYPE: merc200.sh; ECHOCOMMAND: NO; TEST_COMMUNITY: YES; DEV_EMULATOR: NO; METHOD_COMMUNITY: DD; FUZZY_MATCHING_CRC: NO
COMMAND: amper; PARAMS: none; SIZE: 14; OUTPARSER: "02x3,02x4#Aprintf(\"%s=%0.2f\",\"Amper\",^b0/100)"; DESCRIBE: Сила тока A (А)
TEST_SEND: amper _0x00_0x0a_0x63_0xa6_0x63_0xEC_0x4F 14
METHOD_COMMUNITY=DD len=14
METHOD_COMMUNITY=DD len=14
METHOD_COMMUNITY=DD len=14
METHOD_COMMUNITY=DD len=14
METHOD_COMMUNITY=DD len=14
TEST_ANSWER(1) 0
TEST_ANSWER(2) 0
TEST_ANSWER(3) 0
TEST_ANSWER(4) 0
TEST_ANSWER(5) 0
Set params device "/dev/ttyUSB0"...
9600
stty: неверный аргумент «baud;»
По команде «stty --help» можно получить дополнительную информацию.
Set params device "/dev/ttyUSB0" - 1.
Error! Set params device "/dev/ttyUSB0"!
[21:50:55] openhabian@openHABianPi:~$
Re: Опрос электросчетчика Меркурий 230
Добавлено: 07 мар 2018, 23:41
kpp
Вопрос решен, скрипт работает.
Дело было в особенности расположения утилиты echo.
Для вашего случая необходимо:
в файле electro_counter.conf
C_ECHO=/bin/echo
#C_ECHO=echo
по умолчанию
#C_ECHO=/bin/echo
C_ECHO=echo
Re: Опрос электросчетчика Меркурий 230
Добавлено: 20 июл 2018, 11:10
buv
Сервер Ubuntu 16.04.4 LTS.
Чтобы завелся скрипт уважаемого kpp, поправил в файле electro_counter.conf:
Код: Выделить всё
C_ECHO=/bin/echo
#C_ECHO=echo
раскомментировал
# Linux Debian
DEV_FLAGS_LINUX=" cs8 9600 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts"
Сейчас бьюсь с невозможностью перекодировки ответа в конечные значения:
Код: Выделить всё
root@ubuntu-MD:~/mercury2018# ./electro_counter.sh volt
OS: LINUX; DEVICE: /dev/ttyUSB0; COUNTER_SN: 83(53); COUNTER_TYPE: merc230.sh; ECHOCOMMAND: NO; TEST_COMMUNITY: YES; DEV_EMULATOR: NO; METHOD_COMMUNITY: CAT; FUZZY_MATCHING_CRC: NO
COMMAND: amper; PARAMS: "amper"> phaza=1; SIZE: 12; OUTPARSER: ; DESCRIBE: Сила тока A (А) по фазам params: phaza[]
TEST_SEND: amper _0x53_0x08_0x16_0x21_0x5E_0xDA 12
METHOD_COMMUNITY=CAT len=12
TEST_ANSWER(1) x53x05xFDx43 4
COMMAND: volt; PARAMS: "volt"> phaza=1; SIZE: 12; OUTPARSER: ; DESCRIBE: Напряжение U (В) params: phaza[]
SEND: _0x53_0x08_0x16_0x11_0x5E_0xCE
METHOD_COMMUNITY=CAT len=12
ANSWER(1): x53x05xFDx43 4 0
METHOD_COMMUNITY=CAT len=4
METHOD_COMMUNITY=CAT len=12
ANSWER(2): x53x00xB7x5Dx00xBFx5Ex00xF7x5Ax85x26 12 0
Ph1(V) = 0.00
Ph2(V) = 0.00
Ph3(V) = 0.00
UPDATE: Ошибка с конвертацией связана с работой sprintf. После добавления параметра --non-decimal-data к awk в файле merc230.sh всё заработало.
Код: Выделить всё
echo $data | awk --non-decimal-data -Fx 'function preob(name,val)