Ethernet-1-wire и owfs

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
icahbko
Сообщения: 15
Зарегистрирован: 20 фев 2017, 22:06

Ethernet-1-wire и owfs

Сообщение icahbko » 24 фев 2017, 01:25

добрый день, али ночь ...

помогите запустить устройство Ethernet-1-wire от radioseti.ru http://radioseti.ru/index.php?route=pro ... uct_id=142 используя owfs
сразу скажу, что бенукс отрабатывает и показывает 3 температурных и одно цифровое устройства

по инструкции:
запускаем эмуляцию COM порта
socat -d -d -d pty,link=/dev/ttyS0,raw,echo=0 tcp4:192.168.100.101:4001

Код: Выделить всё

2017/02/24 00:05:00 socat[21892] I socat by Gerhard Rieger - see www.dest-unreach.org
2017/02/24 00:05:00 socat[21892] I This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/)
2017/02/24 00:05:00 socat[21892] I This product includes software written by Tim Hudson (tjh@cryptsoft.com)
2017/02/24 00:05:00 socat[21892] I setting option "symbolic-link" to "/dev/ttyS0"
2017/02/24 00:05:00 socat[21892] I setting option "raw"
2017/02/24 00:05:00 socat[21892] I setting option "echo" to 0
2017/02/24 00:05:00 socat[21892] I openpty({3}, {4}, {"/dev/pts/14"},,) -> 0
2017/02/24 00:05:00 socat[21892] N PTY is /dev/pts/14
2017/02/24 00:05:00 socat[21892] N opening connection to AF=2 192.168.100.101:4001
2017/02/24 00:05:00 socat[21892] I starting connect loop
2017/02/24 00:05:00 socat[21892] I socket(2, 1, 6) -> 5
2017/02/24 00:05:00 socat[21892] N successfully connected from local address AF=2 192.168.100.100:50826
2017/02/24 00:05:00 socat[21892] I resolved and opened all sock addresses
2017/02/24 00:05:00 socat[21892] N starting data transfer loop with FDs [3,3] and [5,5]
2017/02/24 00:05:00 socat[21892] I transferred 46 bytes from 5 to 3
запускаем owfs
owfs -d /dev/ttyS0 -m /mnt/1wire --allow_other --error-level=5 --error-print=1 --baud=9600

Код: Выделить всё

Feb 24 00:09:14 icahbko-vsrv OWFS[22401]: CONNECT: owfs.c:(99) fuse mount point: /mnt/1wire
Feb 24 00:09:14 icahbko-vsrv OWFS[22401]:   DEBUG: ow_inotify.c:(80) No configuration files to monitor
Feb 24 00:09:14 icahbko-vsrv OWFS[22401]: CONNECT: ow_dnssd.c:(81) Zeroconf/Bonjour is disabled since dnssd library isn't found
Feb 24 00:09:14 icahbko-vsrv OWFS[22401]:    CALL: ow_parsename.c:(104) path=[]
Feb 24 00:09:14 icahbko-vsrv OWFS[22401]:   DEBUG: owlib.c:(77) Global temp limit 0C to 100C (for fake and mock adapters)
Feb 24 00:09:14 icahbko-vsrv OWFS[22401]:   DEBUG: ow_ds9097U.c:(471) Attempt 0 of 3 to initialize the DS9097U
Feb 24 00:09:14 icahbko-vsrv OWFS[22401]:   DEBUG: ow_ds9097U.c:(565) Send the initial reset to the bus master.
Feb 24 00:09:14 icahbko-vsrv OWFS[22401]:   DEBUG: ow_tcp_read.c:(63) attempt 1 bytes Time: 5.000000 seconds
Feb 24 00:09:14 icahbko-vsrv OWFS[22401]:   DEBUG: ow_tcp_read.c:(113) read: 1 - 0 = 1
Feb 24 00:09:14 icahbko-vsrv OWFS[22401]:   DEBUG: ow_tcp_read.c:(63) attempt 1 bytes Time: 5.000000 seconds
Feb 24 00:09:14 icahbko-vsrv OWFS[22401]:   DEBUG: ow_tcp_read.c:(113) read: 1 - 0 = 1
Feb 24 00:09:15 icahbko-vsrv OWFS[22401]:   DEBUG: ow_tcp_read.c:(63) attempt 1 bytes Time: 5.000000 seconds
Feb 24 00:09:15 icahbko-vsrv OWFS[22401]:   DEBUG: ow_tcp_read.c:(113) read: 1 - 0 = 1
Feb 24 00:09:15 icahbko-vsrv OWFS[22401]:   DEBUG: ow_tcp_read.c:(63) attempt 1 bytes Time: 5.000000 seconds
Feb 24 00:09:15 icahbko-vsrv OWFS[22401]:   DEBUG: ow_tcp_read.c:(113) read: 1 - 0 = 1
Feb 24 00:09:15 icahbko-vsrv OWFS[22401]:   DEBUG: ow_tcp_read.c:(63) attempt 1 bytes Time: 5.000000 seconds
Feb 24 00:09:15 icahbko-vsrv OWFS[22401]:   DEBUG: ow_tcp_read.c:(113) read: 1 - 0 = 1
Feb 24 00:09:15 icahbko-vsrv OWFS[22401]:   DEBUG: ow_tcp_read.c:(63) attempt 1 bytes Time: 5.000000 seconds
Feb 24 00:09:15 icahbko-vsrv OWFS[22401]:   DEBUG: ow_tcp_read.c:(113) read: 1 - 0 = 1
Feb 24 00:09:15 icahbko-vsrv OWFS[22401]:   DEBUG: ow_tcp_read.c:(63) attempt 1 bytes Time: 5.000000 seconds
Feb 24 00:09:15 icahbko-vsrv OWFS[22401]:   DEBUG: ow_tcp_read.c:(113) read: 1 - 0 = 1
Feb 24 00:09:15 icahbko-vsrv OWFS[22401]:   DEBUG: ow_tcp_read.c:(63) attempt 1 bytes Time: 5.000000 seconds
Feb 24 00:09:15 icahbko-vsrv OWFS[22401]:   DEBUG: ow_tcp_read.c:(113) read: 1 - 0 = 1
Feb 24 00:09:15 icahbko-vsrv OWFS[22401]:   DEBUG: ow_tcp_read.c:(63) attempt 1 bytes Time: 5.000000 seconds
Feb 24 00:09:15 icahbko-vsrv OWFS[22401]:   DEBUG: ow_tcp_read.c:(113) read: 1 - 0 = 1
Feb 24 00:09:15 icahbko-vsrv OWFS[22401]:   DEBUG: ow_tcp_read.c:(63) attempt 1 bytes Time: 5.000000 seconds
Feb 24 00:09:15 icahbko-vsrv OWFS[22401]:   DEBUG: ow_tcp_read.c:(113) read: 1 - 0 = 1
Feb 24 00:09:15 icahbko-vsrv OWFS[22401]:   DEBUG: fuse_line.c:(88) Added FUSE option 0 OWFS
Feb 24 00:09:15 icahbko-vsrv OWFS[22401]:   DEBUG: fuse_line.c:(88) Added FUSE option 1 /mnt/1wire
Feb 24 00:09:15 icahbko-vsrv OWFS[22401]:   DEBUG: fuse_line.c:(88) Added FUSE option 2 -o
Feb 24 00:09:15 icahbko-vsrv OWFS[22401]:   DEBUG: fuse_line.c:(88) Added FUSE option 3 direct_io
Feb 24 00:09:15 icahbko-vsrv OWFS[22401]:   DEBUG: owfs.c:(138) fuse_mnt_opt=[(null)]
Feb 24 00:09:15 icahbko-vsrv OWFS[22401]:   DEBUG: owfs.c:(140) fuse_open_opt=[(null)]
Feb 24 00:09:15 icahbko-vsrv OWFS[22401]:   DEBUG: fuse_line.c:(88) Added FUSE option 4 -o
Feb 24 00:09:15 icahbko-vsrv OWFS[22401]:   DEBUG: fuse_line.c:(88) Added FUSE option 5 allow_other
уже смущает DEBUG: ow_ds9097U.c:(471) Attempt 0 of 3 to initialize the DS9097U не отображается/нет упоминания о ds2480
тут вообще выбивает DEBUG: ow_tcp_read.c:(63) attempt 1 bytes Time: 5.000000 seconds

ll /mnt/1wire

Код: Выделить всё

drwxr-xr-x 1 root root 4096 февр. 24 00:09 ./
drwxr-xr-x 5 root root 4096 февр. 23 20:57 ../
drwxrwxrwx 1 root root 4096 февр. 24 00:10 28.54251C060000/
drwxr-xr-x 1 root root 4096 февр. 24 00:09 alarm/
drwxr-xr-x 1 root root 4096 февр. 24 00:09 bus.0/
drwxr-xr-x 1 root root 4096 февр. 24 00:09 settings/
drwxrwxrwx 1 root root 4096 февр. 24 00:10 simultaneous/
drwxr-xr-x 1 root root 4096 февр. 24 00:09 statistics/
drwxr-xr-x 1 root root 4096 февр. 24 00:09 structure/
drwxr-xr-x 1 root root 4096 февр. 24 00:09 system/
drwxr-xr-x 1 root root 4096 февр. 24 00:09 uncached/
отображаемый датчик вообще не понятно откуда берется!
после cat /mnt/1wire/28.54251C060000/temperatere
отваливается

cat /etc/owfs.conf

Код: Выделить всё

# Sample configuration file for the OWFS suite for Debian GNU/Linux.
#
#
# This is the main OWFS configuration file. You should read the
# owfs.conf(5) manual page in order to understand the options listed
# here.

######################## SOURCES ########################
#
# With this setup, any client (but owserver) uses owserver on the
# local machine...
! server: server = localhost:4304
#
# ...and owserver uses the real hardware, by default fake devices
# This part must be changed on real installation
#server: FAKE = DS18S20,DS2405
#
# USB device: DS9490
#server: usb = all
#
# Serial port: DS9097
#server: device = /dev/ttyS1
#server: device = /dev/virtualcom0
server: device = /dev/ttyS0
#
# owserver tcp address
#server: server = 192.168.10.1:3131
#
# random simulated device
#server: FAKE = DS18S20,DS2405
#
######################### OWFS ##########################
#
mountpoint = /mnt/1wire
allow_other
#
####################### OWHTTPD #########################

http: port = 2121

####################### OWFTPD ##########################

#ftp: port = 2120

####################### OWSERVER ########################

server: port = localhost:4304

где пилить owfs ?
owfs --ver

Код: Выделить всё

/usr/lib/owfs/owfs version:
	2.8p15
libow version:
	2.8p15
танцы с
echo -n -e "\xC1\xE3\xC5" > /dev/ttyS0
echo -n -e "\xC1\xE3\xC5\xA1" > /dev/ttyS0
особо результатов не дает/

stels3737
Сообщения: 27
Зарегистрирован: 24 окт 2013, 00:45

Re: Ethernet-1-wire и owfs

Сообщение stels3737 » 24 фев 2017, 16:06

вс€ хитрость в инициализации DS2480
последовательность така€:
send: C5
input: CD
send: 17 45 5B 0F 91
input: 16 44 5A 00 93
это всЄ в шестнадцатиричном формат
если с OWFS не получаетс€, то скорее проблема не в железке, а в OWFS

я использовал owfs на Raspberry Pi и верси€ из дистрибутива видимо с каким-то проблемами,
она не может говорить с устройством. я вз€л самую свежую ofws и собрал ее сам она заработала почти сразу,
только иногда устройство входит в какое-то состо€ние когда owfs не может к ним договоритьс€,
устройство отвечает не то, что ожидает owfs, в этом случае нужно послать команды как было
указано выше

 оманды дл€ подключени€:
# создать виртуальный ком. порт подключенный по tcp к устройству
sudo socat pty,link=/dev/virtualcom0,raw,echo=0 tcp:192.168.0.123:4001

# командна€ строка дл€ запуска owfs
sudo /opt/owfs/bin/owfs -d /dev/virtualcom0 -m /mnt/1wire --allow_other

# команда чтобы вывести устройство из состо€ни€ когда owfs не может к нему подключитс€
echo -n -e "\xC1\xE3\xC5" > /dev/virtualcom0

я один раз наблюдал, что устройство может входить в такой режим,
когда команды "\xC1\xE3\xC5" его не могут привести в чувство.
“огда нужно было еще послать "\xA1".

stels3737
Сообщения: 27
Зарегистрирован: 24 окт 2013, 00:45

Re: Ethernet-1-wire и owfs

Сообщение stels3737 » 24 фев 2017, 16:06

если все делать по инструкции то проблем не будет - проверено

icahbko
Сообщения: 15
Зарегистрирован: 20 фев 2017, 22:06

Re: Ethernet-1-wire и owfs

Сообщение icahbko » 24 фев 2017, 17:36

stels3737 писал(а):вс€ хитрость в инициализации DS2480
последовательность така€:
send: C5
input: CD
send: 17 45 5B 0F 91
input: 16 44 5A 00 93
это всЄ в шестнадцатиричном формат
можно на пальцах, как это сделать?

icahbko
Сообщения: 15
Зарегистрирован: 20 фев 2017, 22:06

Re: Ethernet-1-wire и owfs

Сообщение icahbko » 25 фев 2017, 18:31

??? что я пропустил :) ? как это сделать ? поделитесь!!!

THK
Модератор
Сообщения: 588
Зарегистрирован: 18 мар 2011, 19:00
Откуда: Серпухов, МО

Re: Ethernet-1-wire и owfs

Сообщение THK » 25 фев 2017, 22:46

icahbko писал(а):танцы с
echo -n -e "\xC1\xE3\xC5" > /dev/ttyS0
echo -n -e "\xC1\xE3\xC5\xA1" > /dev/ttyS0
особо результатов не дает/
Расшифруйте, что Вы имели в виду. Команды не дают ожидаемого эффекта, работают через раз или вообще не работают?

Вот это не Ваш случай? http://debianforum.ru/index.php?PHPSESS ... 1#msg30651 Наступал на такие грабли когда то. Проблему удалось решить вот так: http://forum.kodi.tv/showthread.php?tid ... #pid314739 По ссылкам речь о lirc, но смысл думаю понятен.

icahbko
Сообщения: 15
Зарегистрирован: 20 фев 2017, 22:06

Re: Ethernet-1-wire и owfs

Сообщение icahbko » 26 фев 2017, 08:47

при выводе
socat -d -d -d pty,link=/dev/ttyS0,raw,echo=0 tcp4:192.168.100.101:4001
вижу, что обмен идет, но устройство в монтируемой точке так датчики и не показывает
можно сказать, отправка echo -n -e "\xC1\xE3\xC5" > /dev/ttyS0 ничего не дает.

Код: Выделить всё

2017/02/26 07:32:07 socat[29348] I socat by Gerhard Rieger - see www.dest-unreach.org
2017/02/26 07:32:07 socat[29348] I This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/)
2017/02/26 07:32:07 socat[29348] I This product includes software written by Tim Hudson (tjh@cryptsoft.com)
2017/02/26 07:32:07 socat[29348] I setting option "symbolic-link" to "/dev/ttyS0"
2017/02/26 07:32:07 socat[29348] I setting option "raw"
2017/02/26 07:32:07 socat[29348] I setting option "echo" to 0
2017/02/26 07:32:07 socat[29348] I openpty({3}, {4}, {"/dev/pts/11"},,) -> 0
2017/02/26 07:32:07 socat[29348] N PTY is /dev/pts/11
2017/02/26 07:32:07 socat[29348] N opening connection to AF=2 192.168.100.101:4001
2017/02/26 07:32:07 socat[29348] I starting connect loop
2017/02/26 07:32:07 socat[29348] I socket(2, 1, 6) -> 5
2017/02/26 07:32:07 socat[29348] N successfully connected from local address AF=2 192.168.100.100:57496
2017/02/26 07:32:07 socat[29348] I resolved and opened all sock addresses
2017/02/26 07:32:07 socat[29348] N starting data transfer loop with FDs [3,3] and [5,5]
2017/02/26 07:40:43 socat[29348] I transferred 3 bytes from 3 to 5
2017/02/26 07:40:43 socat[29348] I transferred 17 bytes from 5 to 3
2017/02/26 07:41:02 socat[29348] I transferred 1 bytes from 3 to 5
2017/02/26 07:41:02 socat[29348] I transferred 1 bytes from 5 to 3
2017/02/26 07:41:02 socat[29348] I transferred 3 bytes from 3 to 5
2017/02/26 07:41:02 socat[29348] I transferred 2 bytes from 5 to 3
2017/02/26 07:41:02 socat[29348] I transferred 1 bytes from 3 to 5
2017/02/26 07:41:02 socat[29348] I transferred 1 bytes from 5 to 3
2017/02/26 07:41:02 socat[29348] I transferred 2 bytes from 3 to 5
2017/02/26 07:41:02 socat[29348] I transferred 1 bytes from 5 to 3
2017/02/26 07:41:02 socat[29348] I transferred 2 bytes from 3 to 5
2017/02/26 07:41:02 socat[29348] I transferred 1 bytes from 5 to 3
2017/02/26 07:41:02 socat[29348] I transferred 19 bytes from 3 to 5
2017/02/26 07:41:02 socat[29348] I transferred 16 bytes from 5 to 3
2017/02/26 07:41:02 socat[29348] I transferred 2 bytes from 3 to 5

icahbko
Сообщения: 15
Зарегистрирован: 20 фев 2017, 22:06

Re: Ethernet-1-wire и owfs

Сообщение icahbko » 26 фев 2017, 09:03

setserial /dev/ttyS0

Код: Выделить всё

Cannot get serial info: Inappropriate ioctl for device

icahbko
Сообщения: 15
Зарегистрирован: 20 фев 2017, 22:06

Re: Ethernet-1-wire и owfs

Сообщение icahbko » 26 фев 2017, 09:11

вот еще в логах нашел такую штуку при попытки прочитать /mnt/1wire

Код: Выделить всё

Feb 26 08:06:23 icahbko-vsrv OWFS[3744]:   DEBUG: ow_select.c:(84) Continuing root branch
Feb 26 08:06:23 icahbko-vsrv OWFS[3744]: CONNECT: ow_com_write.c:(177) [Input/output error] Trouble writing to /dev/ttyS0
Feb 26 08:06:23 icahbko-vsrv OWFS[3744]:   DEBUG: ow_com_write.c:(79) Trouble writing to /dev/ttyS0
Feb 26 08:06:23 icahbko-vsrv OWFS[3744]:   DEBUG: ow_com_write.c:(83) Need to reopen /dev/ttyS0
Feb 26 08:06:23 icahbko-vsrv OWFS[3744]:   DEBUG: ow_com_write.c:(85) Reopened /dev/ttyS0, now slurp
Feb 26 08:06:23 icahbko-vsrv OWFS[3744]:   DEBUG: ow_com_write.c:(87) Write again to /dev/ttyS0
Feb 26 08:06:23 icahbko-vsrv OWFS[3744]:   DEBUG: ow_tcp_read.c:(63) attempt 1 bytes Time: 5.000000 seconds
Feb 26 08:06:23 icahbko-vsrv OWFS[3744]:   DEBUG: ow_tcp_read.c:(113) read: 1 - 0 = 1
Feb 26 08:06:23 icahbko-vsrv OWFS[3744]:   DEBUG: ow_cache.c:(467) Won't cache empty directory
Feb 26 08:06:23 icahbko-vsrv OWFS[3744]:   DEBUG: ow_cache.c:(1362) Delete from cache sn 00 00 00 00 00 00 00 00 in=0x7f65c777f080 index=0
судя по всему проблема именно в связке устройства и сом порта, те его преобразованием.

stels3737 теоретически прав, что устройство в части DS2480 нужно правильно инициализировать, но как это сделать?

на одном из форумов нашел, как правильно дожен выглядеть лог :) но только лог

Код: Выделить всё

DEBUG: ow_ds9097U.c:DS2480_initialize_repeatedly(265) Attempt #0 to initialize the DS9097U
  DEBUG: ow_ds9097U.c:DS2480_big_reset_serial(354) Send the initial reset to the bus master.

icahbko
Сообщения: 15
Зарегистрирован: 20 фев 2017, 22:06

Re: Ethernet-1-wire и owfs

Сообщение icahbko » 26 фев 2017, 10:14

stels3737 писал(а):вс€ хитрость в инициализации DS2480
последовательность така€:
send: C5
input: CD
send: 17 45 5B 0F 91
input: 16 44 5A 00 93
это всЄ в шестнадцатиричном формат.
действительно устройство после ввода этой последовательности дает такие же ответы

Код: Выделить всё

> 2017/02/26 09:12:50.902553  length=1 from=8 to=8
 c5
< 2017/02/26 09:12:50.941637  length=1 from=4 to=4
 cd
> 2017/02/26 09:13:01.236421  length=5 from=9 to=13
 17 45 5b 0f 91
< 2017/02/26 09:13:01.277524  length=5 from=5 to=9
 16 44 5a 00 93
но в монтируемой области датчики так и не появляются

THK
Модератор
Сообщения: 588
Зарегистрирован: 18 мар 2011, 19:00
Откуда: Серпухов, МО

Re: Ethernet-1-wire и owfs

Сообщение THK » 26 фев 2017, 11:41

icahbko писал(а):setserial /dev/ttyS0

Код: Выделить всё

Cannot get serial info: Inappropriate ioctl for device
"Неуместный IOCTL для устройства" - мне кажется, надо начинать копать отсюда, хотя это может setserial не понимает виртуального порта...
Вы пытаетесь создать виртуальный порт командой
socat -d -d -d pty,link=/dev/ttyS0,raw,echo=0 tcp4:192.168.100.101:4001
может попробовать UDP? Кстати, Вы тестировали обмен с портом? Что если сразу после создания порта выполнить команду echo -n -e "\xC1\xE3\xC5" > /dev/ttyS0 , ответ придет (cat /dev/ttyS0 на другом терминале)?

icahbko
Сообщения: 15
Зарегистрирован: 20 фев 2017, 22:06

Re: Ethernet-1-wire и owfs

Сообщение icahbko » 27 фев 2017, 08:51

собственно ответ из socat

Код: Выделить всё

< 2017/02/26 09:13:01.277524  length=5 from=5 to=9
 16 44 5a 00 93
действия полностью повторяют инструкцию, инициализация исходя из логов происходит, но owfs в монтируемой области так и не показывает датчики.
попробую на виртуалке поставить с нуля или пересобрать owfs.

vladimir22
Сообщения: 219
Зарегистрирован: 15 мар 2013, 09:42

Re: Ethernet-1-wire и owfs

Сообщение vladimir22 » 27 фев 2017, 09:51

у меня так и не получилось с OWFS его завести.
лежит на полке :-(

icahbko
Сообщения: 15
Зарегистрирован: 20 фев 2017, 22:06

Re: Ethernet-1-wire и owfs

Сообщение icahbko » 27 фев 2017, 14:38

vladimir22 писал(а):у меня так и не получилось с OWFS его завести.
лежит на полке :-(
Если он под виндой работает, то значит и ubuntu должен с ним справиться!

Я понимаю, что нет никаких толком рекоммендаций, кроме рекоммендаций "stels3737 нужно инициаоищировать правильно, и если что-то не так, то послать определенную последовательность.

Нет ни версии owfs, ни названия сборки, ни версии ядра... или?

stels3737
Сообщения: 27
Зарегистрирован: 24 окт 2013, 00:45

Re: Ethernet-1-wire и owfs

Сообщение stels3737 » 27 фев 2017, 17:25

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

вот часть его письма (у меня не получилось :( )

Дело оказалось в моей версии owfs. Я использовал owfs на Raspberry Pi и версия из дистрибутива видимо с каким-то проблемами, она не может говорить с устройством. Я взял самую свежую ofws и собрал ее сам она заработала почти сразу, только иногда устройство входит в какое-то состояние когда owfs не может к ним договориться, устройство отвечает не то, что ожидает owfs, в этом случае нужно послать команды как было указано в чате, который вы мне переслали. Команды для подключения:

# создать виртуальный ком. порт подключенный по tcp к устройству
sudo socat pty,link=/dev/virtualcom0,raw,echo=0 tcp:192.168.0.123:4001

# командная строка для запуска owfs
sudo /opt/owfs/bin/owfs -d /dev/virtualcom0 -m /mnt/1wire --allow_other

# команда чтобы вывести устройство из состояния когда owfs не может к нему подключится
echo -n -e "\xC1\xE3\xC5" > /dev/virtualcom0

stels3737
Сообщения: 27
Зарегистрирован: 24 окт 2013, 00:45

Re: Ethernet-1-wire и owfs

Сообщение stels3737 » 27 фев 2017, 17:27

по поводу железки, там вся хитрость в инициализации DS2480
саму строку инициализации щас найду...
жду
последовательность такая:
send: C5
input: CD
send: 17 45 5B 0F 91
input: 16 44 5A 00 93
я понял
спс
это всё в шестнадцатиричном формат

я вообще, к тому, что если у клиента с OWFS не получается, то скорее проблема не в железке, а в OWFS
странно

вот его ответ:
Спасибо большое, ваши рекомендации помогли "разбудить" преобразователь. Действительно после долгого простоя, преобразователь сам переключается в режим данных. К сожалению отследить, как и почему это происходит пока не получается, но вот сегодня утром после простоя в течении 3 часов, ситуация с засыпанием опять проявилась.
Чтобы исправить ситуацию, открыл терминальную программу и послал сначала байт С1h, затем E3h затем С5h, в последнем ответе получил CDh

В общем еще раз спасибо за помощь, проблема мне теперь понятна, и я могу написать простенький exe`ник, который будет запускаться всякий раз перед стартом owserver`a чтобы правильно обрабатывать данную ситуацию.

icahbko
Сообщения: 15
Зарегистрирован: 20 фев 2017, 22:06

Re: Ethernet-1-wire и owfs

Сообщение icahbko » 27 фев 2017, 23:22

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

1. owfs из репозитория
действия:

Код: Выделить всё

socat -x pty,link=/dev/virtualcom0,raw,echo=0 tcp:192.168.100.101:4001
иницаиализаия

Код: Выделить всё

echo -n -e "\xC5" > /dev/virtualcom0
cd
echo -n -e "\x17\x45\x5B\x0F\x91" > /dev/virtualcom0
16 44 5a 00 93
echo -n -e "\xC1\xE3\xC5" > /dev/virtualcom0
cd cd
ll /mnt/1wire
тут ничего нового

Код: Выделить всё

drwxr-xr-x 1 root root 4096 февр. 27 19:52 ./
drwxr-xr-x 5 root root 4096 февр. 23 20:57 ../
drwxrwxrwx 1 root root 4096 февр. 27 22:17 28.D42E62050000/
drwxr-xr-x 1 root root 4096 февр. 27 19:52 alarm/
drwxr-xr-x 1 root root 4096 февр. 27 19:52 bus.0/
drwxr-xr-x 1 root root 4096 февр. 27 19:52 settings/
drwxrwxrwx 1 root root 4096 февр. 27 22:17 simultaneous/
drwxr-xr-x 1 root root 4096 февр. 27 19:52 statistics/
drwxr-xr-x 1 root root 4096 февр. 27 19:52 structure/
drwxr-xr-x 1 root root 4096 февр. 27 19:52 system/
drwxr-xr-x 1 root root 4096 февр. 27 19:52 uncached/
а вот отладка говорит после этого любой запрос отдает ff.

2. owfs собран из исходников
действия:

Код: Выделить всё

socat -x pty,link=/dev/virtualcom0,raw,echo=0 tcp:192.168.100.101:4001
иницаиализаия

Код: Выделить всё

echo -n -e "\xC5" > /dev/virtualcom0
cd
echo -n -e "\x17\x45\x5B\x0F\x91" > /dev/virtualcom0
16 44 5a 00 93
echo -n -e "\xC1\xE3\xC5" > /dev/virtualcom0
cd cd
ll /mnt/1wire
тут ничего нового

Код: Выделить всё

drwxr-xr-x 1 root root    8 февр. 26 14:14 ./
drwxr-xr-x 6 root root 4096 нояб.  2 23:16 ../
drwxr-xr-x 1 root root    8 февр. 26 14:14 bus.0/
drwxr-xr-x 1 root root    8 февр. 26 14:14 settings/
drwxr-xr-x 1 root root    8 февр. 26 14:14 statistics/
drwxr-xr-x 1 root root   32 февр. 26 14:14 structure/
drwxr-xr-x 1 root root    8 февр. 26 14:14 system/
drwxr-xr-x 1 root root    8 февр. 26 14:14 uncached/
а вот отладка говорит после этого любой запрос отдает 0f.

оба owfs

Код: Выделить всё

owfs --ver
/usr/lib/owfs/owfs version:
	2.8p15
libow version:
	2.8p15
еще идеи?

icahbko
Сообщения: 15
Зарегистрирован: 20 фев 2017, 22:06

Re: Ethernet-1-wire и owfs

Сообщение icahbko » 28 фев 2017, 07:10

Stels3737 а тот человек не может версию owfs сказать, какую он использует?

stels3737
Сообщения: 27
Зарегистрирован: 24 окт 2013, 00:45

Re: Ethernet-1-wire и owfs

Сообщение stels3737 » 28 фев 2017, 16:17

использовал owfs 3.1p0. Версия 2.8p15, которая стоит на raspberry pi меня не работала.

icahbko
Сообщения: 15
Зарегистрирован: 20 фев 2017, 22:06

Re: Ethernet-1-wire и owfs

Сообщение icahbko » 01 мар 2017, 22:51

пробовал на чистой системе собирать owfs 3.1p0 и 3.1p5, результат примерно один и тот же.
после инициализации по схеме

Код: Выделить всё

socat -x pty,link=/dev/virtualcom0,raw,echo=0 tcp:192.168.100.101:4001
echo -n -e "\xC5" > /dev/virtualcom0
echo -n -e "\x17\x45\x5B\x0F\x91" > /dev/virtualcom0
все датчики видны, но попытка прочитать температуру получаю что-то вроде этого

Код: Выделить всё

Mar  1 21:40:33 cahbko-srv OWFS[18442]:   DEBUG: ow_ds9097U.c:(503) Attempting reconnect on /dev/virtualcom0
Mar  1 21:40:33 cahbko-srv OWFS[18442]:   DEBUG: ow_ds9097U.c:(565) Send the initial reset to the bus master.
Mar  1 21:40:33 cahbko-srv OWFS[18442]:   DEBUG: ow_tcp_read.c:(63) attempt 1 bytes Time: 5.000000 seconds
Mar  1 21:40:33 cahbko-srv OWFS[18442]:   DEBUG: ow_tcp_read.c:(113) read: 1 - 0 = 1
Mar  1 21:40:33 cahbko-srv OWFS[18442]:   DEBUG: ow_tcp_read.c:(63) attempt 1 bytes Time: 5.000000 seconds
Mar  1 21:40:38 cahbko-srv OWFS[18442]: CONNECT: ow_tcp_read.c:(109) TIMEOUT after 0 bytes
Mar  1 21:40:38 cahbko-srv OWFS[18442]:   DEBUG: ow_tcp_read.c:(63) attempt 1 bytes Time: 5.000000 seconds
Mar  1 21:40:43 cahbko-srv OWFS[18442]: CONNECT: ow_tcp_read.c:(109) TIMEOUT after 0 bytes
Mar  1 21:40:43 cahbko-srv OWFS[18442]:   DEBUG: ow_tcp_read.c:(63) attempt 1 bytes Time: 5.000000 seconds
Mar  1 21:40:48 cahbko-srv OWFS[18442]: CONNECT: ow_tcp_read.c:(109) TIMEOUT after 0 bytes
Mar  1 21:40:49 cahbko-srv OWFS[18442]:   DEBUG: ow_tcp_read.c:(63) attempt 1 bytes Time: 5.000000 seconds
Mar  1 21:40:49 cahbko-srv OWFS[18442]:   DEBUG: ow_tcp_read.c:(113) read: 1 - 0 = 1
Mar  1 21:40:49 cahbko-srv OWFS[18442]:   DEBUG: ow_tcp_read.c:(63) attempt 1 bytes Time: 5.000000 seconds
Mar  1 21:40:54 cahbko-srv OWFS[18442]: CONNECT: ow_tcp_read.c:(109) TIMEOUT after 0 bytes
Mar  1 21:40:54 cahbko-srv OWFS[18442]:   DEBUG: ow_tcp_read.c:(63) attempt 1 bytes Time: 5.000000 seconds
Mar  1 21:40:59 cahbko-srv OWFS[18442]: CONNECT: ow_tcp_read.c:(109) TIMEOUT after 0 bytes
Mar  1 21:40:59 cahbko-srv OWFS[18442]:   DEBUG: ow_tcp_read.c:(63) attempt 1 bytes Time: 5.000000 seconds
Mar  1 21:41:04 cahbko-srv OWFS[18442]: CONNECT: ow_tcp_read.c:(109) TIMEOUT after 0 bytes
Mar  1 21:41:04 cahbko-srv OWFS[18442]:   DEBUG: ow_tcp_read.c:(63) attempt 1 bytes Time: 5.000000 seconds
Mar  1 21:41:04 cahbko-srv OWFS[18442]:   DEBUG: ow_tcp_read.c:(113) read: 1 - 0 = 1
Mar  1 21:41:04 cahbko-srv OWFS[18442]:   DEBUG: ow_tcp_read.c:(63) attempt 1 bytes Time: 5.000000 seconds
Mar  1 21:41:04 cahbko-srv OWFS[18442]:   DEBUG: ow_tcp_read.c:(113) read: 1 - 0 = 1
Mar  1 21:41:04 cahbko-srv OWFS[18442]:   DEBUG: ow_tcp_read.c:(63) attempt 1 bytes Time: 5.000000 seconds
Mar  1 21:41:04 cahbko-srv OWFS[18442]:   DEBUG: ow_tcp_read.c:(113) read: 1 - 0 = 1
Mar  1 21:41:04 cahbko-srv OWFS[18442]:   DEBUG: ow_tcp_read.c:(63) attempt 1 bytes Time: 5.000000 seconds
Mar  1 21:41:04 cahbko-srv OWFS[18442]:   DEBUG: ow_tcp_read.c:(113) read: 1 - 0 = 1
Mar  1 21:41:04 cahbko-srv OWFS[18442]:   DEBUG: ow_tcp_read.c:(63) attempt 1 bytes Time: 5.000000 seconds
Mar  1 21:41:09 cahbko-srv OWFS[18442]: CONNECT: ow_tcp_read.c:(109) TIMEOUT after 0 bytes
Mar  1 21:41:09 cahbko-srv OWFS[18442]:   DEBUG: ow_serial_open.c:(174) Cannot power cycle a closed serial port
Mar  1 21:41:09 cahbko-srv OWFS[18442]:   DEBUG: ow_ds9097U.c:(565) Send the initial reset to the bus master.
Mar  1 21:41:09 cahbko-srv OWFS[18442]:   DEBUG: ow_tcp_read.c:(63) attempt 1 bytes Time: 5.000000 seconds
Mar  1 21:41:09 cahbko-srv OWFS[18442]:   DEBUG: ow_tcp_read.c:(113) read: 1 - 0 = 1
Mar  1 21:41:09 cahbko-srv OWFS[18442]:   DEBUG: ow_tcp_read.c:(63) attempt 1 bytes Time: 5.000000 seconds
Mar  1 21:41:14 cahbko-srv OWFS[18442]: CONNECT: ow_tcp_read.c:(109) TIMEOUT after 0 bytes
Mar  1 21:41:14 cahbko-srv OWFS[18442]:   DEBUG: ow_tcp_read.c:(63) attempt 1 bytes Time: 5.000000 seconds
Mar  1 21:41:19 cahbko-srv OWFS[18442]: CONNECT: ow_tcp_read.c:(109) TIMEOUT after 0 bytes
Mar  1 21:41:19 cahbko-srv OWFS[18442]:   DEBUG: ow_tcp_read.c:(63) attempt 1 bytes Time: 5.000000 seconds
Mar  1 21:41:24 cahbko-srv OWFS[18442]: CONNECT: ow_tcp_read.c:(109) TIMEOUT after 0 bytes
Mar  1 21:41:25 cahbko-srv OWFS[18442]:   DEBUG: ow_tcp_read.c:(63) attempt 1 bytes Time: 5.000000 seconds
Mar  1 21:41:25 cahbko-srv OWFS[18442]:   DEBUG: ow_tcp_read.c:(113) read: 1 - 0 = 1
Mar  1 21:41:25 cahbko-srv OWFS[18442]:   DEBUG: ow_tcp_read.c:(63) attempt 1 bytes Time: 5.000000 seconds
Mar  1 21:41:30 cahbko-srv OWFS[18442]: CONNECT: ow_tcp_read.c:(109) TIMEOUT after 0 bytes
Mar  1 21:41:30 cahbko-srv OWFS[18442]:   DEBUG: ow_tcp_read.c:(63) attempt 1 bytes Time: 5.000000 seconds
Mar  1 21:41:35 cahbko-srv OWFS[18442]: CONNECT: ow_tcp_read.c:(109) TIMEOUT after 0 bytes
Mar  1 21:41:35 cahbko-srv OWFS[18442]:   DEBUG: ow_tcp_read.c:(63) attempt 1 bytes Time: 5.000000 seconds
Mar  1 21:41:40 cahbko-srv OWFS[18442]: CONNECT: ow_tcp_read.c:(109) TIMEOUT after 0 bytes
Mar  1 21:41:40 cahbko-srv OWFS[18442]:   DEBUG: ow_tcp_read.c:(63) attempt 1 bytes Time: 5.000000 seconds
Mar  1 21:41:40 cahbko-srv OWFS[18442]:   DEBUG: ow_tcp_read.c:(113) read: 1 - 0 = 1
Mar  1 21:41:40 cahbko-srv OWFS[18442]:   DEBUG: ow_tcp_read.c:(63) attempt 1 bytes Time: 5.000000 seconds
Mar  1 21:41:40 cahbko-srv OWFS[18442]:   DEBUG: ow_tcp_read.c:(113) read: 1 - 0 = 1
у кого этот контроллер работает под управлением owfs??? неужели никто не победил???

Ответить