Этот рнр под винду я понимаю, а как под линукс дебиан переделать? У меня переходник юсби rs485, определяется как ttyUSB0.THK писал(а):Вот этот скрипт, по идее, далжен работать.Но похоже, что-то делаю не правильно с открытием и закрытием порта, тк объединив код - выполняется только первая команда...Или именно такой вариант не работает?Код: Выделить всё
<?php exec('mode com4: baud=9600 data=8 stop=1 parity=n xon=off'); $f = fopen("com4","r+"); //************************************************************* $i=0; $cmd = array(0x00,0x0E,0xEC,0xBC,0x63,0xD7,0xF4); // Команда "Мгновенные значения" $c=""; for($i=0; $i < count($cmd); $i++){$c .= chr($cmd[$i]);} // Сформировать строку символов для посылки в COM-порт fwrite($f,$c); $result=fread($f,21); $Uv = ((ord($result[12])>>4)*100)+((ord($result[12])&0x0f)*10)+(ord($result[13])>>4)+((ord($result[13])&0x0f)/10); $Ia = ((ord($result[14])>>4)*10)+(ord($result[14])&0x0f)+((ord($result[15])>>4)/10)+((ord($result[15])&0x0f)/100); $Pv = ((ord($result[16])&0x0f)*10)+(ord($result[17])>>4)+((ord($result[17])&0x0f)/10)+((ord($result[18])>>4)/100)+((ord($result[18])&0x0f)/1000); echo "<br>Напряжение сети: ".$Uv ." Uv"; echo "<br>Сила тока : ".$Ia ." Ia"; echo "<br>Потребляемая мощьность : ".$Pv." P kVt"; //************************************************************* $i=0; $cmd = array(0x00,0x0E,0xEC,0xBC,0x27,0xD7,0xC7); // Команда "Накопленная Энергия" $c=""; for($i=0; $i < count($cmd); $i++){$c .= chr($cmd[$i]);} // Сформировать строку символов для посылки в COM-порт fwrite($f,$c); $result=fread($f,30); $T1 = ((ord($result[13])>>4)*1000)+((ord($result[13])&0x0f)*100)+((ord($result[14])>>4)*10)+(ord($result[14])&0x0f)+((ord($result[15])>>4)/10)+((ord($result[15])&0x0f)/100); $T2 = ((ord($result[17])>>4)*1000)+((ord($result[17])&0x0f)*100)+((ord($result[18])>>4)*10)+(ord($result[18])&0x0f)+((ord($result[19])>>4)/10)+((ord($result[19])&0x0f)/100); $SUMM = $T1+$T2; echo "<br>Тариф 1: ".$T1 ." kVt*h"; echo "<br>Тариф 2: ".$T2 ." kVt*h"; echo "<br>Сумма: ".$SUMM ." kVt*h"; //************************************************************* fclose($f); ?>
Снятие показаний счетчиков электричества, воды, газа
-
- Сообщения: 17
- Зарегистрирован: 06 мар 2014, 16:28
Re: Снятие показаний счетчиков электричества, воды, газа
-
- Сообщения: 77
- Зарегистрирован: 22 ноя 2013, 03:17
Re: Снятие показаний счетчиков электричества, воды, газа
У меня в одном проекте было вроде так под винду:
exec("mode COM3 BAUD=115200 PARITY=N data=8 stop=1 xon=off to=off odsr=off octs=off dtr=off rts=off idsr=off");
$handle = fopen("com3", "r+");
и под линух:
exec("stty -F /dev/ttyUSB0 cs8 115200 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts");
$handle = fopen("/dev/ttyUSB0", "r+");
Скорость измените на свою.
Если не подойдет - можно погуглить инициализацию порта для работы с ардуино под linux - там аналогичные параметры.
exec("mode COM3 BAUD=115200 PARITY=N data=8 stop=1 xon=off to=off odsr=off octs=off dtr=off rts=off idsr=off");
$handle = fopen("com3", "r+");
и под линух:
exec("stty -F /dev/ttyUSB0 cs8 115200 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts");
$handle = fopen("/dev/ttyUSB0", "r+");
Скорость измените на свою.
Если не подойдет - можно погуглить инициализацию порта для работы с ардуино под linux - там аналогичные параметры.
-
- Сообщения: 17
- Зарегистрирован: 06 мар 2014, 16:28
Re: Снятие показаний счетчиков электричества, воды, газа
доеду до дома, попробую. Отпишусь. Очень хочется получить ответ от счетчика, а то под виндой работает а в линуксе нет.
-
- Сообщения: 17
- Зарегистрирован: 06 мар 2014, 16:28
Re: Снятие показаний счетчиков электричества, воды, газа
Запускаю измененный скрипт
зависает на fread($f,5)
что не так? Счетчик СЕ102М, параметры порта 7Е1.
Код: Выделить всё
<?
exec("stty -F /dev/ttyUSB0 cs7 9600 -parodd parenb -cstopb -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts");
$f = fopen("/dev/ttyUSB0","r+");
$i=0;
$cmd = array(0x2F,0x3F,0x21,0x0D,0x0A);
$c="";
for($i=0; $i < count($cmd); $i++){$c .=chr($cmd[$i]);}
fwrite($f,$c);
$result=fread($f,5);
echo $result;
fclose($f);
?>
что не так? Счетчик СЕ102М, параметры порта 7Е1.
-
- Сообщения: 17
- Зарегистрирован: 06 мар 2014, 16:28
Re: Снятие показаний счетчиков электричества, воды, газа
Вот этот скрипт:
под виндой работает, переношу на линукс:
, останавливается на fread. Надо как то параметры порта правильно задать.
Код: Выделить всё
<?php
exec('mode com7 baud=9600 data=7 stop=1 parity=even xon=on dtr=off to=off');
$f = fopen("com7","r+");
$i=0;
$cmd = array(0x2F,0x3F,0x21,0x0D,0x0A);
$c="";
for($i=0; $i < count($cmd); $i++) {$c .= chr($cmd[$i]);}
echo ("save:".$c);
fwrite($f,$c);
$result=fread($f,16);
echo ("load:".$result);
$cmd = array(0x06,0x30,0x35,0x36,0x0D,0x0A);
$c="";
for($i=0; $i < count($cmd); $i++) {$c .= chr($cmd[$i]);}
fwrite($f,$c);
$result=fread($f,61);
$total = ((($result[7])*1000)+(($result[8])*100)+(($result[9])*10)+($result[10]));
echo ("total=:".$total);
fclose($f);
echo("close!");
?>
Код: Выделить всё
<?php
exec('stty -F /dev/ttyUSB0 9600 cs7 -cstopb parenb');
$f = fopen("/dev/ttyUSB0","r+");
$i=0;
$cmd = array(0x2F,0x3F,0x21,0x0D,0x0A);
$c="";
for($i=0; $i < count($cmd); $i++) {$c .= chr($cmd[$i]);}
echo ("save:".$c);
fwrite($f,$c);
$result=fread($f,16);
echo ("load:".$result);
$cmd = array(0x06,0x30,0x35,0x36,0x0D,0x0A);
$c="";
for($i=0; $i < count($cmd); $i++) {$c .= chr($cmd[$i]);}
fwrite($f,$c);
$result=fread($f,61);
$total = ((($result[7])*1000)+(($result[8])*100)+(($result[9])*10)+($result[10]));
echo ("total=:".$total);
fclose($f);
echo("close!");
?>
Re: Снятие показаний счетчиков электричества, воды, газа
Попробуйте в начало линуксового скрипта (перед exec('stty -F /dev/ttyUSB0 9600 cs7 -cstopb parenb');) добавить
exec('setserial /dev/ttyUSB0 autoconfig');
exec('setserial /dev/ttyUSB0 autoconfig');
-
- Сообщения: 400
- Зарегистрирован: 21 сен 2013, 00:38
Re: Снятие показаний счетчиков электричества, воды, газа
Идея возникла - а что если сделать мелкую железку - МК какой нибудь простой (?), часики к нему (ну или просто кварц хороший?), и прицепить к любому счетчику с импульсным выходом- хоть водяному, хоть газовому, хоть электрическому... А в качестве интерфейса - I2C, и завести их в mega-328?
Чтобы в доме особо интерфейсов разных не плодить..
И спрашиваем мы через мегу - сколько там у нас "натикало", и с какой скоростью тикает - а он в ответ значение счетчика и текущее значение времени между импульсами?
Чтобы в доме особо интерфейсов разных не плодить..
И спрашиваем мы через мегу - сколько там у нас "натикало", и с какой скоростью тикает - а он в ответ значение счетчика и текущее значение времени между импульсами?
Re: Снятие показаний счетчиков электричества, воды, газа
Мастер сети 1wire и простая схемка на ds2423(микросхемка для сети 1wire с двумя счетчиками и памятью на борту) .
Я такими снимаю показания со счетчиков воды и газа.
Софт отлично работает и под винду и под FreeBSD\Linux.
Проще \ надежнее \ удобнее не знаю.
Одно огорчает: ds2423 почему-то сняли с производства и аналогов нет.
Но в продаже еще есть.
Я такими снимаю показания со счетчиков воды и газа.
Софт отлично работает и под винду и под FreeBSD\Linux.
Проще \ надежнее \ удобнее не знаю.
Одно огорчает: ds2423 почему-то сняли с производства и аналогов нет.
Но в продаже еще есть.
"Та нам з тобою своє робити, відкрити очі і далі йти!
І зуби сильно стиснувши, маму ніжно любити, хто ж тоді, як не ми, брати?!"(с)
І зуби сильно стиснувши, маму ніжно любити, хто ж тоді, як не ми, брати?!"(с)
-
- Сообщения: 400
- Зарегистрирован: 21 сен 2013, 00:38
Re: Снятие показаний счетчиков электричества, воды, газа
Ну так я просто пример привел со счетчиком. А так - если использовать МК, общающийся с системой через I2C можно делать многое... К примеру: можно измерять ток по нескольким каналам (потребление), снимая данные с трансформаторов тока, и вычисляя действующее значение в МК...
А так да - спасибо за информацию - приобрету себе парочку DS2423, для опытов
P.S. я так понял - можно при помощи DS2482-100 прикрутить счетчик такой к меге?
P.P.S. а где приобретаете DS2423? не посоветуете продавана?
А так да - спасибо за информацию - приобрету себе парочку DS2423, для опытов
P.S. я так понял - можно при помощи DS2482-100 прикрутить счетчик такой к меге?
P.P.S. а где приобретаете DS2423? не посоветуете продавана?
Re: Снятие показаний счетчиков электричества, воды, газа
DS2423 брал здесь http://ru.aliexpress.com/store/210768
"Та нам з тобою своє робити, відкрити очі і далі йти!
І зуби сильно стиснувши, маму ніжно любити, хто ж тоді, як не ми, брати?!"(с)
І зуби сильно стиснувши, маму ніжно любити, хто ж тоді, як не ми, брати?!"(с)
Re: Снятие показаний счетчиков электричества, воды, газа
Может вопрос обсуждался, но не нашел ответа.
Непроходимо снимать расход воды с счетчиков НЕ оборудованных импульсным выходом. На счетчиках есть крыльчатка, которая крутится.
Понимаю, что это будет фотодиод/светодиод + компаратор, но может существует готовое решение.
Кто что посоветует?
Непроходимо снимать расход воды с счетчиков НЕ оборудованных импульсным выходом. На счетчиках есть крыльчатка, которая крутится.
Понимаю, что это будет фотодиод/светодиод + компаратор, но может существует готовое решение.
Кто что посоветует?
-
- Сообщения: 400
- Зарегистрирован: 21 сен 2013, 00:38
Re: Снятие показаний счетчиков электричества, воды, газа
Насколько я помню - крыльчатка там крутится как раз при помощи магнитов. попробуйте пройтись герконом по корпусу счетчика, авось такое место и найдете. а с светодиодом/фотодиодом - таки да. должно получиться. Сам так снимаю показания с электросчетчика.
Вот такое использую:
купил на ибее 10 штук. Они маленькие, 5*5 мм примерно.
Вот такое использую:
купил на ибее 10 штук. Они маленькие, 5*5 мм примерно.
Re: Снятие показаний счетчиков электричества, воды, газа
Спасибо!
Ведь знал что есть не кустарный оптический датчик...
И сразу по этой модели нашел кучу статей...
http://www.esp8266.nu/forum/viewtopic.php?f=5&t=744
или
http://morethanuser.blogspot.ru/2012/11 ... unter.html
То что нужно.
Заказал, жду неделю и буду экспериментировать.
Ведь знал что есть не кустарный оптический датчик...
И сразу по этой модели нашел кучу статей...
http://www.esp8266.nu/forum/viewtopic.php?f=5&t=744
или
http://morethanuser.blogspot.ru/2012/11 ... unter.html
То что нужно.
Заказал, жду неделю и буду экспериментировать.
Re: Снятие показаний счетчиков электричества, воды, газа
Подниму тему.
Есть счетчик газа Gallus G4. Оборудован механическим счетчиком расхода газа, на последнем барабане которого есть светоотражающая метка.
Подскажите, каким датчиком ее можно считывать?
Пробовал таким https://ru.aliexpress.com/item/IR-Infra ... 0.0.5V8awx.
Не получилось, переходит в "1" уже при приближении к счетчику, метку не отслеживает.
Что посоветуете?
Есть счетчик газа Gallus G4. Оборудован механическим счетчиком расхода газа, на последнем барабане которого есть светоотражающая метка.
Подскажите, каким датчиком ее можно считывать?
Пробовал таким https://ru.aliexpress.com/item/IR-Infra ... 0.0.5V8awx.
Не получилось, переходит в "1" уже при приближении к счетчику, метку не отслеживает.
Что посоветуете?
Re: Снятие показаний счетчиков электричества, воды, газа
Я даже используя CNY70 не сразу смог заставить улавливать крыльчатку. Пришлось долго и кропотливо искать место и регулировать чуствительность.
Иногда для этих целей (поиска оптимального места и усиления) очень подходит самый простой олсцилограф.
Иногда для этих целей (поиска оптимального места и усиления) очень подходит самый простой олсцилограф.
-
- Сообщения: 400
- Зарегистрирован: 21 сен 2013, 00:38
Re: Снятие показаний счетчиков электричества, воды, газа
Вы уверены, что это "светоотражающая метка"? Я тоже так думал, и ловил эту метку успешно с помощью описанных выше компонентов. Только вот оказалось всё проще. Там магнит, это он и блестит. Внизу, под счетным механизмом в пластике углубление, для татчика штатного. У себя сейчас использую маленький геркон, из датчика открытия двери. главное подсмотреть - при какой цифре на счетчике этот магнит внизу, напротив ниши. В этот момент останавливаем расход газа, и уже спокойно находим оптимальное место для геркона.Ho Hum писал(а):... на последнем барабане которого есть светоотражающая метка...
Re: Снятие показаний счетчиков электричества, воды, газа
Мой счетчик выглядит так:
Места для геркона у него нет.
Если посмотреть на правый барабан, на шестерке видна светоотражающая метка.
О том, что она есть, написано в инструкции к счетчику - п. 4.4 на стр. 3
http://www.vdgu.ru/documents/schetchiki ... s2002.html
Так что нужно понять, какой датчик может считать эту метку.
Места для геркона у него нет.
Если посмотреть на правый барабан, на шестерке видна светоотражающая метка.
О том, что она есть, написано в инструкции к счетчику - п. 4.4 на стр. 3
http://www.vdgu.ru/documents/schetchiki ... s2002.html
Так что нужно понять, какой датчик может считать эту метку.
-
- Сообщения: 400
- Зарегистрирован: 21 сен 2013, 00:38
Re: Снятие показаний счетчиков электричества, воды, газа
Ну я не утверждал, предположил...
На али ищется по "TCRT5000 IR Infrared Line Track Follower Sensor Obstacle Avoidance Module For Arduino", там платка, сразу с компаратором и настройкой чувствительности. Я тамошние диоды менял на CNY70.
Если в помещении - то этого достаточно. Если на улице, и может попадать солнце, то нужно закрывать от прямых лучей.
На али ищется по "TCRT5000 IR Infrared Line Track Follower Sensor Obstacle Avoidance Module For Arduino", там платка, сразу с компаратором и настройкой чувствительности. Я тамошние диоды менял на CNY70.
Если в помещении - то этого достаточно. Если на улице, и может попадать солнце, то нужно закрывать от прямых лучей.
Re: Снятие показаний счетчиков электричества, воды, газа
А как вы доберитесь до этой метки без вскрытия счетчика?Ho Hum писал(а): О том, что она есть, написано в инструкции к счетчику - п. 4.4 на стр. 3
http://www.vdgu.ru/documents/schetchiki ... s2002.html
Так что нужно понять, какой датчик может считать эту метку.
Я вижу только такое решение http://www.ab-log.ru/smart-house/heatin ... ter-webcam
-
- Сообщения: 75
- Зарегистрирован: 30 авг 2015, 21:44
Re: Снятие показаний счетчиков электричества, воды, газа
Возможно, тогда можно использовать какой-нибудь из этих датчиков?Ho Hum писал(а): Если посмотреть на правый барабан, на шестерке видна светоотражающая метка.
Так что нужно понять, какой датчик может считать эту метку.
http://meandr.ru/datchik
Например, этот http://meandr.ru/datchik-opticheskij-diffuznye