Сбор показаний электросчетчика Меркурий 200

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
Булат
Сообщения: 23
Зарегистрирован: 22 май 2011, 10:32

Re: Сбор показаний электросчетчика Меркурий 200

Сообщение Булат » 21 июн 2016, 12:54

root@homeService:/opt/bin/powermeter# ./electro_counter.sh amper
OS: LINUX; DEVICE: /dev/ttyS0; COUNTER_SN: 13961366(x0exabx56); COUNTER_TYPE: merc200.sh; TEST_COMMUNITY: YES; DEV_EMULATOR: NO; METHOD_COMMUNITY: CAT; FUZZY_MATCHING_CRC: NO
COMMAND: amper; PARAMS: none; SIZE: 14; OUTPARSER: "02x3,02x4#Aprintf(\"%0.2f\",^b0/100)"; DESCRIBE: Сила тока A (А)
TEST_SEND: _0x00_0x0e_0xab_0x56_0x00_0x68_0xA8 4
TEST_ANSWER(1) 0
TEST_ANSWER(2) 0
TEST_ANSWER(3) 0
TEST_ANSWER(4) 0
TEST_ANSWER(5) 0
Set params device "/dev/ttyS0"...
Set params device "/dev/ttyS0" - 0.
TEST_ANSWER(1) 0
TEST_ANSWER(2) 0
TEST_ANSWER(3) 0
TEST_ANSWER(4) 0
TEST_ANSWER(5) 0
Error! Not answer "/dev/ttyS0"!

kpp
Сообщения: 147
Зарегистрирован: 29 авг 2011, 15:03
Откуда: Київ-Дніпро

Re: Сбор показаний электросчетчика Меркурий 200

Сообщение kpp » 21 июн 2016, 12:56

прописать еще:
TEST_COMMUNITY="NO"
"Та нам з тобою своє робити, відкрити очі і далі йти!
І зуби сильно стиснувши, маму ніжно любити, хто ж тоді, як не ми, брати?!"(с)

Булат
Сообщения: 23
Зарегистрирован: 22 май 2011, 10:32

Re: Сбор показаний электросчетчика Меркурий 200

Сообщение Булат » 21 июн 2016, 13:01

root@homeService:/opt/bin/powermeter# ./electro_counter.sh amper
OS: LINUX; DEVICE: /dev/ttyS0; COUNTER_SN: 13961366(x0exabx56); COUNTER_TYPE: merc200.sh; TEST_COMMUNITY: No; DEV_EMULATOR: NO; METHOD_COMMUNITY: CAT; FUZZY_MATCHING_CRC: NO
COMMAND: amper; PARAMS: none; SIZE: 14; OUTPARSER: "02x3,02x4#Aprintf(\"%0.2f\",^b0/100)"; DESCRIBE: Сила тока A (А)
SEND: _0x00_0x0e_0xab_0x56_0x63_0x28_0x81
ANSWER(1): 0 1
ANSWER(2): 0 1
ANSWER(3): 0 1
Error! Counter(13961366) not answer!

kpp
Сообщения: 147
Зарегистрирован: 29 авг 2011, 15:03
Откуда: Київ-Дніпро

Re: Сбор показаний электросчетчика Меркурий 200

Сообщение kpp » 21 июн 2016, 13:03

Параметры порта должны быть:
# Linux Debian
DEV_FLAGS_LINUX=" cs8 9600 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts"

Все другие DEV_FLAGS_LINUX закомментировать.
"Та нам з тобою своє робити, відкрити очі і далі йти!
І зуби сильно стиснувши, маму ніжно любити, хто ж тоді, як не ми, брати?!"(с)

Булат
Сообщения: 23
Зарегистрирован: 22 май 2011, 10:32

Re: Сбор показаний электросчетчика Меркурий 200

Сообщение Булат » 21 июн 2016, 13:06

root@homeService:/opt/bin/powermeter# ./electro_counter.sh amper
OS: LINUX; DEVICE: /dev/ttyS0; COUNTER_SN: 13961366(x0exabx56); COUNTER_TYPE: merc200.sh; TEST_COMMUNITY: No; DEV_EMULATOR: NO; METHOD_COMMUNITY: CAT; FUZZY_MATCHING_CRC: NO
COMMAND: amper; PARAMS: none; SIZE: 14; OUTPARSER: "02x3,02x4#Aprintf(\"%0.2f\",^b0/100)"; DESCRIBE: Сила тока A (А)
SEND: _0x00_0x0e_0xab_0x56_0x63_0x28_0x81
ANSWER(1): 0 1
ANSWER(2): 0 1
ANSWER(3): 0 1
Error! Counter(13961366) not answer!

kpp
Сообщения: 147
Зарегистрирован: 29 авг 2011, 15:03
Откуда: Київ-Дніпро

Re: Сбор показаний электросчетчика Меркурий 200

Сообщение kpp » 21 июн 2016, 13:07

Скрипт запустить без параметров, просто ./electro_counter.sh
Указать явно OS=LINUX если еще не указано.
Последний раз редактировалось kpp 21 июн 2016, 13:08, всего редактировалось 1 раз.
"Та нам з тобою своє робити, відкрити очі і далі йти!
І зуби сильно стиснувши, маму ніжно любити, хто ж тоді, як не ми, брати?!"(с)

Булат
Сообщения: 23
Зарегистрирован: 22 май 2011, 10:32

Re: Сбор показаний электросчетчика Меркурий 200

Сообщение Булат » 21 июн 2016, 13:08

root@homeService:/opt/bin/powermeter# ./electro_counter.sh
OS: LINUX; DEVICE: /dev/ttyS0; COUNTER_SN: 13961366(x0exabx56); COUNTER_TYPE: merc200.sh; TEST_COMMUNITY: No; DEV_EMULATOR: NO; METHOD_COMMUNITY: CAT; FUZZY_MATCHING_CRC: NO
COMMAND: kwatthour; PARAMS: "kwatthour"> zona=01; SIZE: 23; OUTPARSER: "02x$((${zona} * 4 - 3)),02x$((${zona} * 4 - 2)),02x$((${zona} * 4 - 1)),02x$((${zona} * 4))#Aprintf(\"%0.3f\",^b0/1000)"; DESCRIBE: Опрос накопленной энергии
SEND: _0x00_0x0e_0xab_0x56_0x27_0x28_0xB2
ANSWER(1): 0 1
ANSWER(2): 0 1
ANSWER(3): 0 1
Error! Counter(13961366) not answer!

kpp
Сообщения: 147
Зарегистрирован: 29 авг 2011, 15:03
Откуда: Київ-Дніпро

Re: Сбор показаний электросчетчика Меркурий 200

Сообщение kpp » 21 июн 2016, 13:11

Поменять METHOD_COMMUNITY="CAT" на METHOD_COMMUNITY="DD".
Указать явно OS=LINUX если еще не указано.
"Та нам з тобою своє робити, відкрити очі і далі йти!
І зуби сильно стиснувши, маму ніжно любити, хто ж тоді, як не ми, брати?!"(с)

Булат
Сообщения: 23
Зарегистрирован: 22 май 2011, 10:32

Re: Сбор показаний электросчетчика Меркурий 200

Сообщение Булат » 21 июн 2016, 13:15

METHOD_COMMUNITY="DD"
OS=LINUX указана явно.

root@homeService:/opt/bin/powermeter# ./electro_counter.sh amper
./electro_counter.sh: 18: ./electro_counter.conf: 13961366: not found
OS: LINUX; DEVICE: /dev/ttyS0; COUNTER_SN: 13961366(x0exabx56); COUNTER_TYPE: merc200.sh; TEST_COMMUNITY: No; DEV_EMULATOR: NO; METHOD_COMMUNITY: DD; FUZZY_MATCHING_CRC: NO
COMMAND: amper; PARAMS: none; SIZE: 14; OUTPARSER: "02x3,02x4#Aprintf(\"%0.2f\",^b0/100)"; DESCRIBE: Сила тока A (А)
SEND: _0x00_0x0e_0xab_0x56_0x63_0x28_0x81
ANSWER(1): 0 1
ANSWER(2): 0 1
ANSWER(3): 0 1
Error! Counter(13961366) not answer!

kpp
Сообщения: 147
Зарегистрирован: 29 авг 2011, 15:03
Откуда: Київ-Дніпро

Re: Сбор показаний электросчетчика Меркурий 200

Сообщение kpp » 21 июн 2016, 13:21

Установите явно параметры порта
stty -F /dev/ttyS0 cs8 9600 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts
"Та нам з тобою своє робити, відкрити очі і далі йти!
І зуби сильно стиснувши, маму ніжно любити, хто ж тоді, як не ми, брати?!"(с)

Булат
Сообщения: 23
Зарегистрирован: 22 май 2011, 10:32

Re: Сбор показаний электросчетчика Меркурий 200

Сообщение Булат » 21 июн 2016, 13:24

root@homeService:/opt/bin/powermeter# ./electro_counter.sh amper
LINUX; DEVICE: /dev/ttyS0; COUNTER_SN: 13961366(x0exabx56); COUNTER_TYPE: merc200.sh; TEST_COMMUNITY: No; DEV_EMULATOR: NO; METHOD_COMMUNITY: DD; FUZZY_MATCHING_CRC: NO
COMMAND: amper; PARAMS: none; SIZE: 14; OUTPARSER: "02x3,02x4#Aprintf(\"%0.2f\",^b0/100)"; DESCRIBE: Сила тока A (А)
SEND: _0x00_0x0e_0xab_0x56_0x63_0x28_0x81
ANSWER(1): 0 1
ANSWER(2): 0 1
ANSWER(3): 0 1
Error! Counter(13961366) not answer!

kpp
Сообщения: 147
Зарегистрирован: 29 авг 2011, 15:03
Откуда: Київ-Дніпро

Re: Сбор показаний электросчетчика Меркурий 200

Сообщение kpp » 21 июн 2016, 13:32

А если так:
stty -F /dev/ttyS0 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
-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
"Та нам з тобою своє робити, відкрити очі і далі йти!
І зуби сильно стиснувши, маму ніжно любити, хто ж тоді, як не ми, брати?!"(с)

Булат
Сообщения: 23
Зарегистрирован: 22 май 2011, 10:32

Re: Сбор показаний электросчетчика Меркурий 200

Сообщение Булат » 21 июн 2016, 13:40

Ошибки и виснет
bash: syntax error near unexpected token `;'
пробовал убрать `;' , вылазят другие

kpp
Сообщения: 147
Зарегистрирован: 29 авг 2011, 15:03
Откуда: Київ-Дніпро

Re: Сбор показаний электросчетчика Меркурий 200

Сообщение kpp » 21 июн 2016, 13:44

В кавычках двойных все что после stty -F /dev/ttyS0
"Та нам з тобою своє робити, відкрити очі і далі йти!
І зуби сильно стиснувши, маму ніжно любити, хто ж тоді, як не ми, брати?!"(с)

Булат
Сообщения: 23
Зарегистрирован: 22 май 2011, 10:32

Re: Сбор показаний электросчетчика Меркурий 200

Сообщение Булат » 21 июн 2016, 13:46

root@homeService:/opt/bin/powermeter# stty -F /dev/ttyS0 "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 -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"
stty: неверный аргумент «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 -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»
По команде «stty --help» можно получить дополнительную информацию.

kpp
Сообщения: 147
Зарегистрирован: 29 авг 2011, 15:03
Откуда: Київ-Дніпро

Re: Сбор показаний электросчетчика Меркурий 200

Сообщение kpp » 21 июн 2016, 14:01

А почему ttyS0 а не какой-нить ttyUSB0 ?
"Та нам з тобою своє робити, відкрити очі і далі йти!
І зуби сильно стиснувши, маму ніжно любити, хто ж тоді, як не ми, брати?!"(с)

Булат
Сообщения: 23
Зарегистрирован: 22 май 2011, 10:32

Re: Сбор показаний электросчетчика Меркурий 200

Сообщение Булат » 21 июн 2016, 14:11

я пробовал и ttyUSB0(у меня есть USB-CAN(RS485)) результат тот-же, и я решил попробовать ttyS0 через MOXA A52.
У меня на материнке физический СОМ порт.
В чем причина я так и не нашел.

Булат
Сообщения: 23
Зарегистрирован: 22 май 2011, 10:32

Re: Сбор показаний электросчетчика Меркурий 200

Сообщение Булат » 21 июн 2016, 14:17

В PHP скриптах работает и с ttyUSB0 и с ttyS0 через dio.

kpp
Сообщения: 147
Зарегистрирован: 29 авг 2011, 15:03
Откуда: Київ-Дніпро

Re: Сбор показаний электросчетчика Меркурий 200

Сообщение kpp » 21 июн 2016, 14:18

Можно попробовать снифер, например jpnevulator
На одном терминале: jpnevulator --tty /dev/ttyS0 --read
На другом jpnevulator --tty /dev/ttyS0 --write
И пробовать скриптом слать команду.
И PHP скриптом.
Посмотреть разницу.
Нет под рукой сейчас линукса, все под FREEBSD.
"Та нам з тобою своє робити, відкрити очі і далі йти!
І зуби сильно стиснувши, маму ніжно любити, хто ж тоді, як не ми, брати?!"(с)

Булат
Сообщения: 23
Зарегистрирован: 22 май 2011, 10:32

Re: Сбор показаний электросчетчика Меркурий 200

Сообщение Булат » 21 июн 2016, 14:22

пойду борща съем.

Ответить