Problem och tester med ett 1wire-nät.

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
jah
Inlägg: 659
Blev medlem: 16 januari 2009, 13:00:08
Ort: Eslöv

Re: Problem och tester med ett 1wire-nät.

Inlägg av jah »

Jag har också haft mitt nät i drift i mer än 10 år nu, och det fungerade bra med 100+m och 50+noder under lång tid, då kopplat som rak buss med avstickare där signalerna alltid går fram-och-retur (CAT5).
Det är viktigt att ha allt på en lina utan längre avstickare pga reflektioner, annars kortas maxlängden drastiskt.
Slog dock i taket för en del år sedan och fick diverse problem, så byggde mig en 8-kanals interface ist. med en DS2482-800
https://www.maximintegrated.com/en/prod ... 2-800.html
Har haft denna i drift några år nu, och byggde in den i paj-lådan förra året, och har aldrig haft problem som har med 1-wire-nätet att göra.
2482:an är 16-pinnaren monterad "dead bug style" under flatkabeln. Transistorerna är nivåskiftare 3V3/5V
OpenHAB-Pi.jpg
/J
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
JimmyAndersson
Inlägg: 26308
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Re: Problem och tester med ett 1wire-nät.

Inlägg av JimmyAndersson »

Tack för tipset! :tumupp:
(Tyvärr kräver det att jag byter till nätverkskabel. Men visst, skulle det vara ända lösningen så...)


En sak som hela tiden funnits i bakhuvudet är:
Finns det ingen färdig/konkret lösning för att ”fixa till” signalen?
Typ repeater/gate.
Dvs nånting som alltid fungerar.
Jag har klurat lite på tristate-kopplingar, men något färdigt skulle spara tid.
Användarvisningsbild
JimmyAndersson
Inlägg: 26308
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Re: Problem och tester med ett 1wire-nät.

Inlägg av JimmyAndersson »

Jag har satt en Raspberry Pi som test för att prova med owserver och owhttpd.
Någon som testat detta?
Jag är inte helt med på hur man gör, kort sagt.

Någon som har en bra länk med mer info än owfs egna länk? (Dvs mer informativt än http://owfs.sourceforge.net/owserver.1.html )
larky
Inlägg: 1095
Blev medlem: 7 mars 2007, 07:54:18
Ort: Skellefteå
Kontakt:

Re: Problem och tester med ett 1wire-nät.

Inlägg av larky »

Jag har ingen förklaring, eller instruktion, men jag kan försöka beskriva hur jag kör, det är inte så komplicerat i praktiken.
Tror att jag har kompilerat owfs själv, men minns inte.
På RPI (IP 192.168.37.10) med USB-interface till 1-wire körs owfs och owserver

/opt/owfs/bin/owfs -s 127.0.0.1 --allow_other --usb_regulartime /mnt/1wire
/opt/owfs/bin/owserver -u

med en konfigurationsfil, /etc/owfs.conf

Kod: Markera allt

# 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
# 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
Sen på nästa RPI kör jag
sudo /usr/bin/owfs -o nonempty -s 192.168.37.10 --allow_other /mnt/1wire

Då får jag på båda datorerna
pi@raspberrypi ~ $ ls /mnt/1wire/
10.263B39010800 10.79A339010800 10.E19439010800 22.08B517000000 28.525142010000 28.875932010000 28.BB6642010000 28.FD2232010000 alarm structure
10.263B39010800 10.79A339010800 10.E19439010800 22.08B517000000 28.525142010000 28.875932010000 28.BB6642010000 28.FD2232010000 bus.0 system
10.3DFD38010800 10.BFB623010800 1D.6BE907000000 28.2D8042010000 28.77BA41010000 28.9C1B42010000 28.CC6D42010000 30.DA2C31120000 bus.1 uncached
10.3DFD38010800 10.BFB623010800 1D.6BE907000000 28.2D8042010000 28.77BA41010000 28.9C1B42010000 28.CC6D42010000 30.DA2C31120000 settings
10.65C024010800 10.C606EE000800 1D.B3F909000000 28.4B8942010000 28.7D1742010000 28.A94832010000 28.E36042010000 81.E35B24000000 simultaneous
10.65C024010800 10.C606EE000800 1D.B3F909000000 28.4B8942010000 28.7D1742010000 28.A94832010000 28.E36042010000 81.E35B24000000 statistics
pi@raspberrypi ~ $

owhttpd har jag nog inte använt.
Användarvisningsbild
JimmyAndersson
Inlägg: 26308
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Re: Problem och tester med ett 1wire-nät.

Inlägg av JimmyAndersson »

Intressant!
Jag tror att jag förstår.

Då ska vi se...
Jag har 2st Raspberry Pi med varsitt 1wire-interface.
Den som tråden handlat om sedan start sitter i pannrummet. Den ser jag som hjärtat i 1wire-nätet.
Nu har jag satt en raspberry pi i verkstaden också.

För att göra det enklare att skriva så kallar jag dem Pannrum-Pi och Verkstad-Pi.


Om det går, så skulle jag vilja att de sensorer som är kopplade till Verkstad-Pi ska synas hos Pannrum-Pi,
precis som sensorerna var kopplade direkt till Pannrum-Pi.
(Men det gör inget ifall Pannrum-Pi's sensorer även syns på Verkstads-Pajen.)

För att lösa det så tror jag att Verkstad-Pi ska köra owserver. Kan det stämma?
Men så måste ju Pannrum-Pi känna till att Verkstad-Pi finns. Där är jag vilse.

Klurigt och kul det här. :)
Påminner lite om när jag började med owfs. Man var totalt grön och förväntansfull på samma gång.

Men jag förstår inte varför det inte går att hitta någon vettig dokumentation. :wall:
larky
Inlägg: 1095
Blev medlem: 7 mars 2007, 07:54:18
Ort: Skellefteå
Kontakt:

Re: Problem och tester med ett 1wire-nät.

Inlägg av larky »

Prova att starta owserver på verkstade-PI, den skadar inte att ha igång.
Sen provar du att starta OWFS igen på din pannrums-PI, men istället för att starta mot ett USB-interface startar du mot en nätverksadress,
sudo /usr/bin/owfs -o nonempty -s 192.168.37.10 --allow_other /mnt/1wire

Då ska det slås ihop till en lång listning av sensorer.
Användarvisningsbild
JimmyAndersson
Inlägg: 26308
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Re: Problem och tester med ett 1wire-nät.

Inlägg av JimmyAndersson »

Tack! :tumupp:

Det gick fint att starta owserver.
Däremot fick jag felmeddelande på Pannrums-Pi:
Invalid option: -- 'o'

Jag lyckas inte hitta något om vad "-o" eller "nonempty" står för.
Var har du hittat dokumentation någonstans? :)

man /usr/lib/owfs/owfs ger en skärmsida full med teckengröt. Troligen fel teckenkodning nånstans...

Förutom Google så har jag mest letat här:
http://owfs.sourceforge.net/owfs.1.html <-- Den är väl huvudsajten för owfs?
Och även:
https://www.owfs.org/index_php_page_owfs.html
https://github.com/owfs/owfs-doc/wiki/owserver
Men de verkar vara kopior från owfs.sourceforge

edit: Jo förresten...
Du skrev "Sen provar du att starta OWFS igen"
Jag ska alltså inte avsluta den owfs som redan körs? För det gjorde jag inte.
(Har inte ens hittat hur man startar om owfs. Hur 17 listar folk ut allt utan manual?)
larky
Inlägg: 1095
Blev medlem: 7 mars 2007, 07:54:18
Ort: Skellefteå
Kontakt:

Re: Problem och tester med ett 1wire-nät.

Inlägg av larky »

Om jag fattat rätt behöver du en owfs för varje gränssnitt, usb och intranät.
-o nonempty borde inte vara viktigt, prova utan.
Temperatur.nu har haft en del duktiga oss-användare på forumet, men jag vet inte var jag snappat upp detta.
Användarvisningsbild
JimmyAndersson
Inlägg: 26308
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Re: Problem och tester med ett 1wire-nät.

Inlägg av JimmyAndersson »

"Om jag fattat rätt behöver du en owfs för varje gränssnitt, usb och intranät."

Mycket bra att veta.

Jag testade nu utan "-o noempty" på Pannrums-Pi och fick:
"DEFAULT: owlib.c:(56) No valid 1-wire buses found"

Båda pajerna är kopplade till samma nätverkswitch.
Verkstads-Pi har 192.168.1.139
Pannrums-Pi har 192.168.1.107
(Jag gör allt det här med två terminalfönster på en Debian-laptop och har dubbelkollat med ifconfig.
Fönstret för Verkstads-Pi till vänster och Pannrum-Pi till höger på skärmen. :) )

På Verkstads-Pi körde jag först /usr/bin/owserver -u
Sedan på Pannrums-Pi: /opt/owfs/bin/owfs -s 192.168.1.139 --allow_other /mnt/1wire <- Då fick jag felmeddelandet ovan.
Testade även samma sak men med "sudo", mest för att vara säker.

När jag kör ls /mnt/1wire på båda pajerna så ser jag sensorer, men det är enbart olika ID.


Jag är lite osäker på det här med /usr/bin respektive /opt/owfs/bin
så jag skrev likadant som jag har i respektive pajers startup-script för OWFS.
Men jag gissar att det hänger på hur OWFS är installerat?

edit: Märker nu att jag ibland inte kan se sensorerna i terminalfönstret på Pannrum-Pi.
Däremot syns de i mitt webgränssnitt. (En php-grej jag gjort för att se sensorer och värde.)
Såhär var det inte innan. :humm:


edit 2:
Passar på att lägga till mer info:
Pannrums-Pi har I2C-adapter för 1Wire. OWFS startas vid boot med /opt/owfs/bin/owfs --i2c=ALL:ALL --allow_other /mnt/1wire
Verkstads-Pi har USB-adapter. OWFS startas vid boot med /usr/bin/owfs -uall --allow_other /mnt/1wire


edit 3:
Testade nu att gå in på 192.168.1.139:4304/1wire i webläsaren, men fick "Unable to connect".
enligt https://www.owfs.org/index_php_page_owserver.html :
"Specific Options
-p
TCP port or IPaddress:port for owserver
Other OWFS programs will access owserver via this address. (e.g. owfs -s IP:port /1wire)
If no port is specified, the default well-known port (4304 -- assigned by the IANA) will be used."
Användarvisningsbild
JimmyAndersson
Inlägg: 26308
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Re: Problem och tester med ett 1wire-nät.

Inlägg av JimmyAndersson »

ps aux|grep owserver ger:
root 546 0.0 0.2 48276 2592 ? Ssl Apr23 0:00 /usr/bin/owserver -c /etc/owfs.conf --pid-file /var/run/owfs/owserver.pid
pi 7038 0.0 0.2 4280 1952 pts/0 S+ 22:18 0:00 grep --color=auto owserver


Så servern körs ju.

Provade att på Pannrums-Pi skriva:
sudo /opt/owfs/bin/owfs -s 192.168.1.131 --allow_other /mnt/1wire
Dvs här skrev jag fel IP-adress med flit, och jag fick samma felmeddelande vilket är lite intressant.
Med "ping" så ser pajerna varandra, och med netstat -an | grep LISTEN på Verkstad-Pi så ser jag bl.a:

tcp6 0 0 ::1:4304 :::* LISTEN

Men jag är lite osäker på hur jag ska tolka det. Vad jag ser så är det som det ska vara.
Däremot ser jag ingen rad med något som tillhör owfs eller owserver.

Provade nu att avsluta owserver med "kill", men det kommer bara upp en ny hela tiden:

Kod: Markera allt

pi@raspberrypi2b:/mnt/1wire $ ps aux|grep owserver
root       546  0.0  0.2  48276  2592 ?        Ssl  Apr23   0:00 /usr/bin/owserver -c /etc/owfs.conf --pid-file /var/run/owfs/owserver.pid
pi        7576  0.0  0.2   4280  2012 pts/0    S+   01:51   0:00 grep --color=auto owserver
pi@raspberrypi2b:/mnt/1wire $ 
pi@raspberrypi2b:/mnt/1wire $ 
pi@raspberrypi2b:/mnt/1wire $ kill 7576
-bash: kill: (7576) - No such process
pi@raspberrypi2b:/mnt/1wire $ sudo kill 7576
pi@raspberrypi2b:/mnt/1wire $ ps aux|grep owserver
root       546  0.0  0.2  48276  2592 ?        Ssl  Apr23   0:00 /usr/bin/owserver -c /etc/owfs.conf --pid-file /var/run/owfs/owserver.pid
pi        7592  0.0  0.2   4280  1912 pts/0    S+   01:51   0:00 grep --color=auto owserver
pi@raspberrypi2b:/mnt/1wire $ 

(Lägger in den här länken till mig själv, så jag inte glömmer det: https://forum.m.nu/viewtopic.php?t=2818 )

Testade nu att köra "sudo reboot" på båda pajerna och när de startat om och jag loggat in igen, så ser jag nu att owserver ändå körs.
Dvs "ps aux|grep owserver" ger samma resultat som innan. :shock:
Men... jag har ju inte startat owserver efter omstarten. ??
("uptime" visar att pajerna startades om.)
Och jag har inte "owserver" i mitt uppstart-script. Det är bara "owfs -uall --allow_other /mnt/1wire".
Så hur avslutar jag owserver ? (Jag vill göra det för att testa andra flaggor som t.ex "-uall" istället för "-u" när jag startar owserver.)
Allt här i inlägget har jag även testat som "sudo", utan skillnad.

Jag fattar absolut ingenting längre och utan en vettig manual/dokumentation för owfs så kommer jag inte vidare.
Game over? Kanske. Ska sova på saken, för nu är det inte kul längre.
Användarvisningsbild
carpelux
Inlägg: 1865
Blev medlem: 13 oktober 2007, 12:33:33
Ort: Varnhem

Re: Problem och tester med ett 1wire-nät.

Inlägg av carpelux »

Du kanske har en firewall aktiv så att de inte kan kommunicera med varandra. I så fall måste du öppna upp rätt portar eller temporärt stänga av firewallen för att testa.

Jag har för mig att det brukar vara ufw som firewall i raspbian. du kan väl testa med att köra

Kod: Markera allt

sudo ufw status
för att se om den är aktiv och hur den är konfigurerad.

En anna sak du kan göra är att från din "klient" köra nmap emot din "server". Då ser du vilka portar som är öppna på servern. Har du inte nmap installerad på klienten får du köra

Kod: Markera allt

sudo apt install nmap
larky
Inlägg: 1095
Blev medlem: 7 mars 2007, 07:54:18
Ort: Skellefteå
Kontakt:

Re: Problem och tester med ett 1wire-nät.

Inlägg av larky »

Enligt min historik i terminalen så verkar jag ha kompilerat owfs själv, version 3.1p5.
pi@raspberrypi-1Wire:~ $ history | grep owfs
17 wget http://sourceforge.net/projects/owfs/fi ... 1p5.tar.gz
18 tar -xvzf owfs-3.1p5.tar.gz
19 cd owfs-3.1p5/
Användarvisningsbild
JimmyAndersson
Inlägg: 26308
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Re: Problem och tester med ett 1wire-nät.

Inlägg av JimmyAndersson »

larky:
Jag tror att jag kompilerade själv på Pannrums-Pi.
Minns inte hur jag gjorde till Verkstads-Pi.
Tyvärr ger history | grep owfs bara några rader från gårdagen.
Men Pannrum-Pi kör owfs 2.9p0 och Verkstad-Pi kör 2.9p8.

Carpelux:
Tack för tipset. :tumupp:

Men jag lyckas inte ladda ner nmap med sudo apt-get install nmap. Jag får en massa rader som dessa:

Kod: Markera allt

Fel http://mirrordirector.raspbian.org/raspbian/ wheezy/main imagemagick-common all 8:6.7.7.10-5
  404  Not Found
Så jag körde sudo apt-get update och fick en massa:

Kod: Markera allt

W: Misslyckades med att hämta http://mirrordirector.raspbian.org/raspbian/dists/wheezy/rpi/binary-armhf/Packages  404  Not Found
E: Some index files failed to download. They have been ignored, or old ones used instead.
ufw fanns förresten inte heller installerat och att döma av ovanstående så lär det inte gå att installera.


Så det här går inte så bra i kväll heller...

Jag har iofs inte testat att uppgradera. Har Python 2.x som jag behöver behålla.
Det sägs försvinna om man uppgraderar och jag har verkligen ingen lust att skriva om tusentals rader kod nu. :)


edit:
Hittade ett annat kommando: sudo ss -tulpn som på ger det här resultatet på Verkstads-Pi:

Kod: Markera allt

Netid State      Recv-Q Send-Q   Local Address:Port     Peer Address:Port
*klipp*
tcp   LISTEN     0      128                ::1:4304               :::*      users:(("owserver",pid=524,fd=5))
Jag vet inte riktigt vad ettan (1) står för i ::1:4304

edit 2: Här hittade jag den här förklaringen:

::1 is the localhost for IPv6, like 127.0.0.1 for IPv4.
:::* is the short version of 0:0:1:* (IPv6 0:0:0, port *), it is like IPv4 0.0.0.0:*. Both of these in the foreign address column mean that there is no foreign address column. In case of the listening sockets it is clear that there is not (yet) a connected foreign address. In case of the udp sockets you normally do not have connected foreign addresses, so these are also listed with 0.0.0.0:*.


Men det står även:
If I interpret tools.ietf.org/html/rfc4291#section-2.5.2 correctly, :: is not loopback: it is the unspecified address, and loopback is at ::1

Jag vet, forum är inte 100% tillförlitliga, men jag hittar ingen "officiell" förklaring. Rättare sagt: Jag hittar inga bra sökord. "port" och "::1:" ger inget bra.
Men hur som helst: Har det bara med IPv6 att göra? Jag kör enbart med IPv4. Hur ser man *de* portarna?

Förresten, det här med att inte "-o nonempty" fungerar hos mig kan bero på:
The "nonempty" option has been removed from libfuse since version 3.0.0 to bring fuse "in-line with the behavior of the regular mount command".
larky
Inlägg: 1095
Blev medlem: 7 mars 2007, 07:54:18
Ort: Skellefteå
Kontakt:

Re: Problem och tester med ett 1wire-nät.

Inlägg av larky »

Om jag, från en helt owfs-fri dator i nätverket, kör telnet kommer jag in på den som kör owserver på port 4304
telnet 192.168.37.10 4303
Det händer inget, men jag kommer in.
Bara som ett steg i att felsöka nät-delen i problemet.
Användarvisningsbild
JimmyAndersson
Inlägg: 26308
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Re: Problem och tester med ett 1wire-nät.

Inlägg av JimmyAndersson »

Bra tips! :tumupp:

Om jag startar med /usr/bin/owserver -u och försöker med telnet så får jag "Could not resolve hostname 192.168.1.139:4304 Ingen sådan värd känd."
Men om jag istället startar med sudo /usr/bin/owserver -uall så får jag "Connection reset".
Samma sak i webläsaren: "Problem loading page. The connection was reset."

Hm.. reset?
Av vad, hur och varför? :)

Men: När jag startat owserver med "uall" (stycket ovan) och på Pannrum-Pi kör sudo /opt/owfs/bin/owfs -s 192.168.1.139 --allow_other /mnt/1wire så får jag:
fuse: mountpoint is not empty
fuse: if you are sure this is safe, use the 'nonempty' mount option

Det får jag inte med "-u" istället för "-uall".

Så.. halvvägs där. Kanske. :)
Det är bara det här med "mountpoint is not empty".

Men jag har en idé att testa på Pannrums-Pi:
Nu har jag ju hela tiden haft owfs igång (startas vid boot) och sedan kört "owfs osv... -s 192.168...osv".
Jag funderar på om det blir skillnad ifall jag kör allt på en rad. Alltså bara "ett" owfs.
Så vid boot skulle det bli:
/opt/owfs/bin/owfs --i2c=ALL:ALL -s 192.168.1.139 --allow_other /mnt/1wire (pust, jag tror det blev rätt.)

Det kanske skulle lösa problemet med att /mnt/1wire inte är tom när den ska slå ihop innehållet med det från Verkstads-Pi.
Ska testa om ett par timmar, så får vi se.


Ursäkta om det blev lite rörigt. Hjärnan behöver rastas. :)
I'll be back.
Skriv svar