rasberry, Com Pi, Fhem,ds18b20 Kombination

Begonnen von devien, 03 Oktober 2013, 00:25:23

Vorheriges Thema - Nächstes Thema

devien

ich habe den Com Pi von ab electronics geholt und gemäß der Anleitung http://www.abelectronics.co.uk/owfs-and-compi/info.aspx auf dem Raspian Wheezy installiert.
dierekt im Anschluss sind unter /mnt/1wire auch meine ds18b20 zu sehen, nach einem Neustart allerdings nicht mehr. Ich muss immer folgende Komandos auf der Shell absetzen damit es wieder läuft:
"
sudo modprobe i2c-dev
sudo modprobe i2c-bcm2708
sudo i2cdetect -y 1
sudo /opt/owfs/bin/owfs --i2c=ALL:ALL --allow_other /mnt/1wire/
cd /mnt/1wire/
"

klar könnte ich die in ein Script legen und per cron nach einem Systemstart ausführen lassen, aber das muss doch eine bestimmte Ursache haben welche man "sauber" und nicht per workaround bereinigen kann?

mir ist aufgefallen das die von mir gemäß Anleitung instalierte owfs version owfs-2.9p1 nicht all die Files anlegt wie es die älltere owfs Version tut wenn ich aus dem repository über "apt-get install owfs" installieren würde.
Ich hätte auch nichts gegen die älltere Version von owfs, wenn da ncht das Problem wäre das ich OWFS dabei nicht zum laufen kriege bzw ich eine Fehlermeldung beim Aufruf von "sudo /opt/owfs/bin/owfs --i2c=ALL:ALL --allow_other /mnt/1wire/" kassiere.....

Kann mir jemand aus der Zwickmühle helfen?
FHEM + UniPi + Arduino = gute Lösung

le66ck

Hallo devien

Ich hab zwar OWFS noch nicht ausprobiert, Dein erster Befehl "sudo modprobe i2c-dev" davon sollte doch "i2c-dev"
in /etc/modules eingetragen werden. Damit wird Dein erster Befehl überflüssig. Das Modul wird dann automatisch geladen!
Der zweite Befehl soll doch gar nicht nach Anleitung ausgeführt werden. In  /etc/modprobe.d/raspi-blacklist.conf
soll doch "blacklist i2c-bcm2708" drin stehen, damit das Modul beim Systemstart nicht geladen wird.
Dann wäre die Frage, ob OWFS automatisch gestartet wird.
Wenn ja, dann sollte bestimmt die /etc/owfs.conf bearbeitet werden...!
Vielleicht hilft das hier weiter http://neubert-volmar.de/Hausautomation/RaspberryPi/index.html
Ich könnte mir vorstellen, wenn OWFS über die Paketverwaltung installiert wurde, läuft es schon nach dem Systemstart.

Vielleicht hilf es Dir...
CK
1 BPi mit SSD und CSM-Funkmodul für Fhem + Baïkal für CalDAV
6 HM-LC-Dim1TPBU-FM, 8 HM-CC-RT-DN, 4 HM-LC-Sw1PBU-FM,
6 HM-SEC-SCo, 1 HM-Sen-MDIR-WM55, 1HM-SCI-3, 1 HM-ES-PMSw1-Pl

devien

@le66ck, danke schon mal für deine Antwort
zu i2c-dev, ja das ist in /etc/modules eingetragen, wird auch geladen, jedoch anscheinend zu früh, ich muss es mit "modprobe i2c-dev" neuladen damit es tut was es soll.
zu i2c-bcm2708, ja es steht in "/etc/modprobe.d/raspi-blacklist.conf" drinn muss jedoch mit einer "#" auskommentiert werden damit es geladen wird, so steht es auch gleich am Anfang der Seite welche du mir empfohlen hast "http://neubert-volmar.de/Hausautomation/RaspberryPi/index.html"
Auch dieses Modul wird anscheinend zu früh oder in falscher reihenfolge geladen denn ohne "sudo modprobe i2c-bcm2708" nach dem ersten Befehl ist im owfs Mount Verzeichniss nichts zu finden.
ebenso wie die 2 weiteren Befehle in exakt der angegebenen Reihenfolge aabgesetzt werden müssen.

Wenn ich owfs über die Paketverwaltung installiere wird der i2c Bus nicht eingebunden und damit auch der DS2482-100 nicht gefunden was wiederum ja der 1 Wire Bus Treiber ist, also vergleichbar mit nem CUL. ist also nicht effektiv....

Ich kann mir 2 mögliche Ursachen vorstellen:
-zum einen das beim Neustart vieleicht die Prozesse mit einem anderen User gestertet werden und als User "pi" ich im Verzeichniss mangels Rechte (weil den Prozess eben nicht gestartet) ich nichts sehen kann.....
-oder das es etwas mit dem DS2482-100 (i2c-1wire Interface) zu tun hat welcher dem ComPi Modul als Basis dient, habe noch grob eine Ahnung das dieses Modul eine initialisierungseigenart hat, finde jedoch im Netz nicht mehr die entsprechende Passage..

Ich weiß leider nicht wie ich auch nur eine der 2 Möglichkeiten testen könnte, daher steh ich aktuell etwas auf dem Schlauch...

Ich bin dankbar über jeden Hinweis, hat noch jemand eine Idee?
FHEM + UniPi + Arduino = gute Lösung

le66ck

Hallo devien

Ich habe den DS2482-100 schon da. Ich komme erst übernächste Woche dazu, alles andere ist Zufall.
Für Ideen bin ich immer gut...und habe fogendes gefunden

Link
http://owfs.org/index.php?page=advanced-i2c
http://www.fischer-net.de/hausautomation/haustechnik/1-wire/39-1-wire-software-unter-linux-teil-1.html
http://www.fischer-net.de/hausautomation/haustechnik/1-wire/40-1-wire-software-unter-linux-teil-2.html
http://forum.fhem.de/index.php?t=msg&goto=81946&rid=0
http://evil.hn.vc/linux/HomeServer/pdf/Raspberry%20Pi%20-%20Hardware.pdf
http://raspberrypi.homelabs.org.uk/i2c-connected-1-wire-masters/

Aus dem Gesammelten sollte es doch möglich sei, es zum laufen zu bekommen!
Meine Vogehensweise (übernächste Woche) wäre, die Module per Befehlszeile laden,
dann schauen ob der DS2482-100 gefunden wird, danach Module automatisch laden lassen und
wieder schauen ob der DS2482-100 gefunden wird. Logdateien im Auge behalten!!!
Erst danch OWFS anfassen

z.B.
apt-get install i2c-tools

i2cdetect -l
i2c-0 i2c bcm2708_i2c.0 I2C adapter
i2c-1 i2c bcm2708_i2c.1 I2C adapter

Alte Raspb erry Pi (256 MB):
i2cdetect -y 0
Neue Raspb erry Pi (512 MB):
i2cdetect -y 1

0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- 18 -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- -

CK
1 BPi mit SSD und CSM-Funkmodul für Fhem + Baïkal für CalDAV
6 HM-LC-Dim1TPBU-FM, 8 HM-CC-RT-DN, 4 HM-LC-Sw1PBU-FM,
6 HM-SEC-SCo, 1 HM-Sen-MDIR-WM55, 1HM-SCI-3, 1 HM-ES-PMSw1-Pl

le66ck

Hallo devien

Also vorweg, es funktioniert! Meine Vorgehen

sudo nano /etc/modprobe.d/raspi-blacklist.conf
Raute vor  #blacklist spi-bcm2708  entfernt und gespeichert

sudo nano /etc/modules
i2c-dev in nächste Zeile eingefügt und mit Enter abgeschlossen und gespeichert

dann   sudo shutdown -r now  (reboot)

ein     dmesg | grep i2c    ergibt folgende Ausgabe:
[    3.863540] bcm2708_i2c bcm2708_i2c.0: BSC0 Controller at 0x20205000 (irq 79) (baudrate 100k)
[    3.898780] bcm2708_i2c bcm2708_i2c.1: BSC1 Controller at 0x20804000 (irq 79) (baudrate 100k)
[    9.195644] i2c /dev entries driver
Also alles ok.

dann    sudo apt-get install i2c-tools      mit anschließend      sudo i2cdetect -l    (neue Raspberry Pi 512 MB)
ergibt:
i2c-0   i2c             bcm2708_i2c.0                           I2C adapter
i2c-1   i2c             bcm2708_i2c.1                           I2C adapter

ein   sudo i2cdetect -y 1
ergibt:
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- 18 -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
also DS2482-100 vorhanden/erkannt

jetzt mit      sudo apt-get install owfs owserver        OWFS installiert
ein      ps -ae    zeigt danach in der Liste, das OWFS läuft

Das Nächste hab ich von dieser Seite genommen: http://neubert-volmar.de/Hausautomation/RaspberryPi/index.html

sudo apt-get install libi2c-dev python-smbus i2c-tools
sudo adduser pi i2c
sudo shutdown -r now
wobei, meiner Meinung nach, nur die beiden letzten Zeilen erst mal nötig sind.

dann     sudo nano /etc/owfs.conf     
server: device = /dev/i2c-1 # i2c port: DS2482-100
http: port = 2121
ftp: port = 2120
server: port = localhost:4304
server: port = raspi:4304
Celsius
eingefügt/ergänzt. Meinen Hostnamen hab ich noch noch in    sudo nano /etc/hostname      in raspi geändert, dann passt es wieder!
Und dann    sudo shutdown -r now       die Änderungen abgeschlossen!

Die Änderungen in fhem.cfg  von hier: http://neubert-volmar.de/Hausautomation/RaspberryPi/index.html
haben bei mir nicht komplett funktioniert. Wo mein/der Fehler lag, hab ich nicht weiter geschaut...!

Für Fhem und OWFS bin ich nach der Seite gegangen: http://www.fhemwiki.de/wiki/OWServer_%26_OWDevice

Ein    define ck_owserver OWServer localhost:4304     startete bei mir den OWServer (ck_owserver natürlich an eigene Vorlieben anpassen)
define temp_1 OWDevice 10.A7C382020800 60       siehe da, die erste Temperatur wird angezeigt!
und noch
define temp_1.log FileLog /opt/fhem/log/temp_1.log temp_1
attr temp_1.log logtype temp4:Plot,text:Text
Erst mal fertig, temp_1 ist wieder nach den persönlichen Vorlieben anzupassen

Über   http://raspi:2121  (raspi oder IP anpassen) bin ich an die Seriennummer von DS18b20 gekommen, 60 sollte das Abfrageintervall sein!

Viel Spaß CK

PS: Muß nicht fehlerfrei sein....



1 BPi mit SSD und CSM-Funkmodul für Fhem + Baïkal für CalDAV
6 HM-LC-Dim1TPBU-FM, 8 HM-CC-RT-DN, 4 HM-LC-Sw1PBU-FM,
6 HM-SEC-SCo, 1 HM-Sen-MDIR-WM55, 1HM-SCI-3, 1 HM-ES-PMSw1-Pl

devien

Vielen Dank CK,

habe nach deiner Anleitung die Installation von vorn aufgerollt und mit der Außnahme das ich die Raute vor  #blacklist spi-bcm2708  gesetzt und nicht entfernt habe hat es erstklassig funktioniert.

Ich bin begeistert, damit kann ich nun den Rest fertigstellen.

Vielen Dank
FHEM + UniPi + Arduino = gute Lösung

AlphaKingOne

ich habe auch mal ne frage. Jedes mal wenn ich OWFS installiere geht meine CPU Auslastung auf 96% was ein gescheites arbeiten fast unmöglich macht oder ist das normal?

PS: Mein Raspberry läuft auf 1GHz
Raspberry B, B+, B v2 u. v3; DS18B20; MCP23017; CUL; ESP8266

le66ck

Hallo AlphaKingOne

Ich konnte das mit der CPU-Auslastung auch beobachten.
Irgend ein Eintrag in /etc/owfs.conf hatte ich damals dafür ausgemacht!
Mehr kann ich dazu leider nicht sagen.
Nimm doch mal die /etc/owfs.conf von mir weiter oben, wenns passt...!

CK
1 BPi mit SSD und CSM-Funkmodul für Fhem + Baïkal für CalDAV
6 HM-LC-Dim1TPBU-FM, 8 HM-CC-RT-DN, 4 HM-LC-Sw1PBU-FM,
6 HM-SEC-SCo, 1 HM-Sen-MDIR-WM55, 1HM-SCI-3, 1 HM-ES-PMSw1-Pl

AlphaKingOne

#8
Ok danken jetzt funktioniert es. Aber die Temperatur zeigt was mit 60°C an und wie bekommt man das mit dem Temperatur verlauf hin?
Raspberry B, B+, B v2 u. v3; DS18B20; MCP23017; CUL; ESP8266

AlphaKingOne

Jetzt weiß ich wieso die Schwankungen da sind ^^
und zwar wird die Temperatur simuliert. Das muss ich in der owfs.conf unter SOURCES eintragen?
Raspberry B, B+, B v2 u. v3; DS18B20; MCP23017; CUL; ESP8266

peble

Hallo

ich konnte die hohe CPU Auslastung auch feststellen nachdem alles lief.
Gibt es dafür eine Lösung?

nach der Anleitung von le66ck funktioniert bei mir ein Interface für Temperaturmessung bis auf die hohe CPU Auslastung sehr gut
super Arbeit, danke

Gruß
Cubietruck mit FHEM
1-Wire mit LinkUSBi / Com to 1Wire USB Adapter CUL 868 V3 von busware / ESA2000 Strommessung
Uniroll Gurtwickler über CUL 868 / verschiedeneFS 20 Geräte