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

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Användarvisningsbild
JimmyAndersson
Inlägg: 26578
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 testade som jag skrev i slutet av förra inlägget och bootade om Pannrums-Pi.
Det verkar ha gått bra så långt. Jag ser de sensorer jag redan hade och ps aux|grep owfs ger:

Kod: Markera allt

root      2139  0.1  0.3  36824  1364 ?        Ssl  20:18   0:00 /opt/owfs/bin/owfs --i2c=ALL:ALL -s 192.168.1.139 --allow_other /mnt/1wire
Jag kan förresten lista hur 1wire-katalogen ser ut. Kan vara kul att ha en "före"-bild. :)

Så här ser det ut på Verkstads-Pi:

Kod: Markera allt

pi@raspberrypi2b:~ $ ls /mnt/1wire
05.4AEC29CDBAAB  28.526670020000  bus.0         statistics
10.678A92010800  28.F09370020000  bus.1         structure
10.67C6697351FF  81.55DC2E000000  settings      system
20.E7960D000000  alarm            simultaneous  uncached
Och Pannrum-Pi:

Kod: Markera allt

pi@raspberrypi ~ $ ls /mnt/1wire
1D.7FC30D000000  28.466F70020000  bus.0     statistics  uncached
20.5F500D000000  28.4D7C70020000  bus.1     structure
28.455470020000  28.956370020000  settings  system
(Måste byta hostname någon vacker dag. De är väldigt lika... :D )

Så, jag ser som sagt inte Verkstads-Pi's sensorer hos Pannrum-Pi.
Det har nog med porten att göra. Måste lösa det.

Okej, så brandvägg i pajen... :humm:

Avslutar inlägget med att lista sudo ss -tulpn |grep owserver på Verkstads-Pi:

Kod: Markera allt

tcp    LISTEN     0      128                    *:47405                 *:*      users:(("owserver",pid=4070,fd=6))
tcp    LISTEN     0      128                    *:4304                  *:*      users:(("owserver",pid=1905,fd=6))
tcp    LISTEN     0      128                  ::1:4304                 :::*      users:(("owserver",pid=524,fd=5))

edit: Tittade på loggen i routern och switchen, men inget om att något på 192.168.1.139 eller 192.168.1.107 har blivit spärrat.
Användarvisningsbild
JimmyAndersson
Inlägg: 26578
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 »

Okej, lite brandväggs-undersökningar nu då. :)

Först och främst så visste jag inte ens ifall Verkstads-Pi *har* en brandvägg.
Lite sökningar på nätet gav att Raspbian inte har någon som default,
men att "netfilter" är en del av Linux-kärnan, så på sätt och vis har den det.

Men jag har ju ingen aning om hur man använder det, så jag fick söka på Google efter "raspbian netfilter"
Träffarna handlade enbart om "iptables". Hm, är det samma? Mer sökningar: "difference netfilter iptables" som gav:

Netfilter is an infrastructure; it is the basic API that the Linux 2.4 kernel offers for applications that want to view and manipulate network packets. Iptables is an interface that uses Netfilter to classify and act on packets.

(Lärde mig även att UFW, som nämndes på förra sidan, är ett paket som gör det lite smidigare att konfigurera detta. :idea: )

Okej, så då kikar vi:
sudo iptables -L -nv ger:

Kod: Markera allt

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination    
Dvs inga regler uppsatta. Så då ska ju allt släppas igenom?

hum hum hum... Måste komma på något mer som kan orsaka detta. :)

--

En sammanfattning kanske:
Jag har en Raspberry Pi 2B som kör owserver. Denna server lyssnar på port 4304.
Men när jag från någon klient försöker ansluta till dess IP-adress och port 4304, så kommer jag inte "in". Får "The connection was reset".

Detta är ovsett om jag ansluter från en annan Raspberry Pi, en Win10-dator med ssh/telnet eller webläsaren på min Debian-laptop. (Det är de jag försökt med.)
Båda pajerna är anslutna med nätverkskabel till samma switch. Från switchen är det trådlöst till routern.
Jag har kollat loggen på både switchen och routern. Ingen av pajerna nämns i loggen över vad som blockerats.


--

edit:

Undersökte owserver lite närmare och den använder också /etc/owfs.conf
vilket ledde mig in på att lusläsa den igen.
Larky lade upp sin owfs.conf på förra sidan, vilket är ovärderligt. Speciellt nu. :)

Det som skiljer våra filer nedanstående rader. Sett från mina rader:
Under "SOURCES":
server: FAKE = DS18S20, DS2405 <-- Hos Larky börjar den med "#".
#server: usb = all <-- Hos Larky så saknas "#", dvs den raden körs.
Under OWFS:
#mountpoint = /mnt/1wire <-- Här saknas också "#" hos Larky.
#allow_other <-- Samma här.

Så eftersom owserver använder den här filen, så ska jag justera "#" och starta om.

Och nu har jag startat om och kört owserver -uall.
Och nu blir det annorlunda. Nu får jag inte "The connection was reset" med telnet eller webläsare. Nu får jag bara "Unable to connect".
Humm...

edit 2:
Kommenterade bort "#server: server = 192.168.10.1:3131" och skrev istället "! server: server = localhost:4304"
Både # och ! ska tydligen kommentera bort, men beskrivningen var inte identisk, så jag testar. :)
Kommenterade även bort "#server: port = localhost:4304" och skrev istället "server: port = 0.0.0.0:4304"
Den raden kan eventuellt göra skillnad.

Reboot igen.

...och det är ändå ingen skillnad. "Unable to connect".

Så nu behöver jag verkligen hjälp. :)
Hoppas ni kan få ut något av detta inlägget.
Jag vet, det är mycket text, men läs gärna från sammanfattningen (precis innan mina två "Edit" och neråt. :pray:

Men nu får jag stoppar för i "natt". Klockan är 05:07 nu, så Godnatt.
larky
Inlägg: 1140
Blev medlem: 7 mars 2007, 07:54:18
Ort: Skellefteå
Kontakt:

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

Inlägg av larky »

"mountpoint not empty" borde ju kunna testas förbi med att montera i /mnt/1wire2, bara om ett test?
Alltså att de "nya" sensorerna hamnar i en ny mapp(som du bör skapa), och sen läsa på varför -u nonempry är borttagen, och vad man ska göra istället.
Användarvisningsbild
JimmyAndersson
Inlägg: 26578
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 idé med /mnt/1wire2.
Provade och det fungerade som det skulle.
(Att jag inte testade innan var för att jag inte längre fick felmeddelandet om jag bara körde owfs en gång.)

Men jag har faktiskt fått allt att fungera som det ska, med /mnt/1wire. :whoho:
Har även sammanställt mina anteckningar, ifall man behöver lösa det på någon annan paj i framtiden.
Kan även skriva ner det i tråden.



Såhär fick jag det att fungera:
(Sökvägar kan skilja mellan olika installationer.)

Jag har som sagt 2st Raspberry Pi.

Den ena kallar jag i tråden för Verkstad-Pi. Den är en Raspberry Pi 2B med IP-adressen 192.168.1.139.
Den har en USB-1Wire-adapter med diverse sensorer. Dessa sensorer kommer enbart (pga owserver) att synas på den andra pajen.

Den andra pajen kallar jag för Pannrum-Pi. Den är en Raspberry Pi (första versionen) med IP-adress 192.168.1.107.
Den har en I2C-1Wire-adapter med diverse sensorer. Och det är på den här pajen som alla sensorer kommer synas.

På Verkstad-Pi:
I scriptet /etc/init.d/start1wire.sh startar jag OWFS med:
/usr/bin/owfs -uall --allow_other /mnt/1wire
På raden under kör jag igång owserver med:
/usr/bin/owserver -uall

När man ändrat så behövde jag uppdatera så att det körs vid boot, med:
sudo update-rc.d start1wire.sh defaults

Jag justerade även /etc/owfs.conf såhär:
#server: FAKE = DS18S20, DS2405 <-- Den raden saknade tidigare ett # i början.
server: usb = all <-- Den raden hade tidigare # i början.
mountpoint = /mnt/1wire <-- Den raden hade tidigare # i början.
allow_all <-- Den raden hade tidigare # i början.

Det är förresten bara min Verkstad-Pi som använder owfs.conf-filen.

Över till Pannrums-Pi:
I scriptet /etc/init.d/start1wire.sh startar jag OWFS med:
/opt/owfs/bin/owfs --i2c=ALL:ALL -s 192.168.1.139 --allow_other /mnt/1wire


Det var allt. Och det fungerar som sagt. :)
Däremot får jag fortfarande "The connection was reset" och liknande när jag testar med telnet eller webläsare mot 192.168.1.139:4304/1wire
men det gör inget. Jag har egna sidor där jag kan se temperaturer mm.

Ett litet fel finns fortfarande, som jag måste fixa:
Två temperatur-sensorer, de med längst sladd, syns inte.
Ska prova koppla i/ur olika kombinationer och testa lite. I värsta fall får jag byta sladd på dem, men det löser sig.

Men huvudmålet är nått. :tumupp:
Nästa steg blir lite programmering så att mitt 1Wire-system kan avgöra tiden då jag tycker det börjar bli mörkt/ljust ute.
larky
Inlägg: 1140
Blev medlem: 7 mars 2007, 07:54:18
Ort: Skellefteå
Kontakt:

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

Inlägg av larky »

Kul att det mer eller mindre löste sig!
danielr112
Inlägg: 8092
Blev medlem: 18 januari 2009, 00:48:24
Ort: Alvesta, Småland

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

Inlägg av danielr112 »

Telenet kräver att man har porten för sig:

Telnet <ip> <port>

Vet inte om du kom fram till det sedan :) men tänker jag skriver ifall att
Användarvisningsbild
JimmyAndersson
Inlägg: 26578
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 att du skrev det. :)
Ska testa lite mer med någon klient jag är lite mer van vid, för jag lyckas inte med Debian's "telnet".

Det blir såhär:
jimmy@toshibadebian:~$ telnet 192.168.1.139 4304
Trying 192.168.1.139...
Connected to 192.168.1.139.
Escape character is '^]'.
Connection closed by foreign host.


Larky: Jepp. Tack för alla tips. :) :tumupp:



Förresten, någon här som provat OWNet för att komma åt 1Wire-sensorer via PHP?
Två länkar:
https://owfs.org/index_php_page_ownet-php.html
https://hotexamples.com/examples/-/OWNe ... mples.html

Jag brukar läsa av sensorerna precis som med vanliga filer, men blev lite nyfiken eftersom det finns timeout och andra finesser i OWNet.


En annan sak jag funderar på nu när jag har två Raspberry Pi med OWFS:
Om jag ska ändra någon parameter på någon sensor. T.ex Alarm eller Power.
Är det bäst att göra det på den paj där sensorerna är fysiskt inkopplade, eller på den paj där de syns? :)
Upptäckte att A/D'n DS2450 har en "power"-parameter som inte känner av om den drivs med parasitmatning eller separat 5V,
utan man får sätta den till "1" manuellt. Därav frågan.


Edit: efter lite sömn:
Det var inget. :oops:
Jag ser ju för 17 bara parametrarna på ena pajen. :D
Skriv svar