Neuartiges 1-Wire Interface

Begonnen von Prof. Dr. Peter Henning, 18 Januar 2014, 21:00:45

Vorheriges Thema - Nächstes Thema

Prof. Dr. Peter Henning

#105
Gestern ist das Chinateil gekommen, habe dann wegen dringend überfälliger Klausurkorrekturen nur wenig daran ausprobieren können. Heute etwas mehr Zeit investiert, und siehe da: Läuft auf Anhieb, ein echtes Schmuckstück...

Das erste Bild (etwas unscharf, aber das sei egal...) zeigt den etwas hastigen Aufbau, bestehend aus dem Chinateil, einem DS2480B und einem DS1820 zum Testen.

Von links kommen GND, 5V und 3,3V (leider verlangt das Teil nach 3,3V...)

Aus diesem Grund wird auch die Leitung für empfangene Daten (RxD) über einen Spannungsteiler 5,6 k/10k geführt - ich wollte lieber nicht ausprobieren, ob der RxD Eingang auch 5V verträgt. Der TxD-Ausgang wird direkt an den DS2480 geleitet (blaues Kabel).

Im zweiten bis fünften Bild ist die Konfiguration des Chinateils zu sehen. Ich habe es mit einer festen IP versehen, und in meinem WPA2-verschlüsselten Netz angemeldet, direkter Datentransfer ohne Kinkerlitzchen. Das Teil ist echt witzig, weil es ausgeliefert wird mit der Konfiguration als Access Point und chinesischer Oberfläche (Bild 2). Das lässt sich aber sofort beheben, so ein Glück...

Man muss sich dann mit dem eigenen Laptop bei diesem AP anmelden und die Konfiguration erst einmal auf Client umschießen (siehe 3. Bild), darf aber nicht vergessen, das auch ordentlich zu konfigurieren (4. Bild). Ich habe jedenfalls dreimal einen Reset auf die Factory Settings machen müssen, weil ich meine eigene Handschrift nicht lesen kann (Berufskrankheit...). Nach einem Neustart findet man dann den Client als Webserver im Netz (5. Bild).

Dann wie gehabt mit

socat -s PTY,link=/dev/owxwifi,raw,echo=0,waitslave TCP4:192.168.0.97:23

auf dem FHEM-Rechner bekannt machen, und mit

define OWXWIFI OWX /dev/owxwifi

in FHEM einbinden.

Astreine Lösung, bis auf einen Schönheitsfehler: Die 3,3V-Versorgung. Wahrscheinlich muss man so etwas verwenden: http://www.conrad.biz/ce/de/product/676218/1-W-DCDC-Wandler-Serie-RO-Recom-International-RO-0533S-In-5-VDC-Out-33-VDC-300-mA-1-W.

Eine Primitivlösung mit Zenerdiode halte ich für ungeeignet, weil das Ding immerhin ca. 200 mA verbrät - vielleicht hat jemand noch einen intelligenteren Wandler im Auge.

Laut der etwas wirren Doku lässt sich das Chinateil auch so konfigurieren, dass AP und WLAN Client parallel arbeiten.

Auch schön: Ethernet ist auf den Anschlussstecker geführt, es benötigt also nur eine RJ45-Buchse mit eingebautem Transformator, um es auch am Kabel zu betreiben. Weniger gut: Der Anschlusstecker hat 2mm Rastermaß - also habe ich einfach vier Drähte an das Teil angelötet, sieht man gut im ersten Bild.

Auch gut: Das Chinateil hat auch ein etwas intelligenteres Protokoll eingebaut, mit dem man ausfallsicher über WLAN kommunizieren kann. Könnte man ebenfall snutzen.

Schließlich würde ich gerne noch auf das eher dumme socat verzichten und die Teile direkt über einen TCP Socket ansprechen. Die Zeit habe ich derzeit aber nicht. Vielleicht baue ich einen Workaround, der bei Nichtverfügbarkeit des Interfaces eine Hilfsroutine aufruft, die per System-Call einen Neustart von socat macht.

Summa Summarum: Scharfes Teil. Ermöglicht die Ausweitung meines 1-Wire Netzes.

LG

pah

ntruchsess

mal so interessehalber: wie verhält sich denn das socat (und damit das darauf zugreifende owx) wenn man die Gegenstelle kommentarlos vom Netz nimmt, resettet und wieder anklemmt?
while (!asleep()) {sheep++};

Tobias

Hallo Pah. Schau mal bitte in den Post Nr.82. D ist ein 3.3v schaltregler

Gesendet von meinem ALCATEL ONE TOUCH 997D mit Tapatalk

Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Prof. Dr. Peter Henning

@ntruchsess: socat läuft weiter - kann aber sein, dass irgendwann ein timeout kommt.
Bei OWX hängt es wohl davon ab, ob das gerade während eines Buszugriffs passiert. Muss man halt mal testen.

@Tobias: Äh - Post Nr. 82 in welchem Thread ?

LG

pah

UweH

@pah: Tobias meinte die 81 in diesen Thread, aber das war nur ein exemplarisches Beispiel, mit wie wenig Bauelementen ein Schaltregler auskommt, so dass man ihn direkt in die Schaltung integrieren könnte.

@Tobias: Allerdings ist das Layouten eines Schaltreglers eine Spezialität für sich. Da kann schon die "geografische" Lage eines Bauelementes über Sieg oder Niederlage entscheiden. Nicht umsonst veröffentlichen viele Schaltregler-Hersteller auch gleich Layout-Vorschläge im Datenblatt.
Insofern ist der Vorschlag von pah mit dem Fertigbauteil von Conrad die beste Variante.

@ntruchsess: Wie pah schon geschrieben hat, mit seiner OWX-Version funktioniert es. Mit der Version 4348, die ich mit dem LAN-Teil verwende, steigt FHEM sofort aus, wenn die Netzwerkverbindung zum LAN-Interface gekappt wird.

Prof. Dr. Peter Henning

ntruchsess und ich basteln seit längerem an den OWX-Modulen herum.

Er hat dafür eine Version erstellt, die  auf die eigentlichen Devices asynchron zugreift und nicht auf die Rückgabe des relativ langsamen 1-Wire Bus wartet. Was am Anfang sehr einfach aussah, hat sich aber inzwischen zu einer sehr komplexen Sache entwickelt - mit eigenem Framework, das zumindest ich nicht ganz durchblicke.

Ich habe dafür das "alte" Backendmodul 00_OWX.pm stabilisiert und modernisiert, und die ganzen Frontendmodule (bis auf 21_OWLCD.pm) soweit umgestrickt, dass sie auch mit dem asynchronen Zweig laufen können.  Bei mir ist dieses "modernisierte" OWX im Einsatz, stabil seit Monaten.

Ich will keinen neuen Branch erzeugen, hänge also mal diese ausdrücklich experimentellen Versionen hier an.

LG

pah

UweH

Hm, auch diese OWX-Version läuft problemlos bis zu dem Moment, in dem ich dem LAN/1Wire-Interface den Stecker ziehe...es gibt zwar Unterschiede im Verhalten (Frontend ist weiterhin zu sehen, bisher war auch das komplett weg), aber FHEM ist auch nach erneuter Netzwerkverbindung mit dem Interface tot...

Prof. Dr. Peter Henning

Das kann nicht sein. Schau Dir mal mit tail -f <logfile> in einer Shell das Logfile an. Es kann sein, dass FHEM versucht, das Interface zu reconnecten (bis zu 100x). Mit anderen Worten: Nicht tot, aber spielt nur noch an sich selbst herum. Eine Weile warten, dann kommt das wieder.

LG

pah

Tobias

#113
Zitat von: Prof. Dr. Peter Henning am 27 Februar 2014, 17:03:49
Auch schön: Ethernet ist auf den Anschlussstecker geführt, es benötigt also nur eine RJ45-Buchse mit eingebautem Transformator, um es auch am Kabel zu betreiben. Weniger gut: Der Anschlusstecker hat 2mm Rastermaß - also habe ich einfach vier Drähte an das Teil angelötet, sieht man gut im ersten Bild.
Laut ChinaWebseite und einer Referenzschaltung ist als Transformator ein "hn1674og" Baustein verwendet. Leider lässt sich der so nicht finden. Hast du da etwas recherchieren können?
(http://i00.i.aliimg.com/img/pb/387/085/521/521085387_438.jpg)

Bzgl Spannungswandler finde ich, wenn schon RECOM, dann diesen hier besser: R-783.3-0.5
Dann kann man das Teil mit 12V oder 5V betreiben...
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Wzut

Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Tobias

Interessant dieser MagJack... auf http://www.csd-electronics.de/ gibts irgendwie 3 VErsionen aber ich seh keinen Unterschied, außer im Preis....
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

UweH

ZitatDas kann nicht sein. Schau Dir mal mit tail -f <logfile> in einer Shell das Logfile an. Es kann sein, dass FHEM versucht, das Interface zu reconnecten (bis zu 100x)
Ist aber offenbar doch so. Netzwerkstecker vom Interface raus, FHEM startet nach ein paar Sekunden mit reconnect zum zweiten Port, nach ein paar Sekunden Stecker wieder rein, FHEM versucht 5 min lang, die Verbindung wieder aufzubauen, bekommt dann auch keine Verbindung mehr zum ersten Port (trotz bestehender Netzwerkverbindung) und schmiert danach komplett ab.

.
.
.
2014.03.01 13:30:41 3: OWX_SER::Reset_2480 failure on bus Test_ETH_2
2014.03.01 13:30:45 1: Trying second reset
2014.03.01 13:30:47 3: OWX_SER::Reset_2480 failure on bus Test_ETH_2
2014.03.01 13:30:52 1: Trying second reset
2014.03.01 13:30:54 3: OWX_SER::Reset_2480 failure on bus Test_ETH
2014.03.01 13:30:56 1: Trying second reset
2014.03.01 13:30:58 3: OWX_SER::Reset_2480 failure on bus Test_ETH_2
2014.03.01 13:31:00 1: Trying second reset
2014.03.01 13:31:02 3: OWX_SER::Reset_2480 failure on bus Test_ETH
2014.03.01 13:31:02 1: OWX_SER::Search reset failed
2014.03.01 13:31:04 1: Trying second reset
2014.03.01 13:31:06 3: OWX_SER::Reset_2480 failure on bus Test_ETH
2014.03.01 13:31:12 1: Trying second reset
2014.03.01 13:31:14 3: OWX_SER::Reset_2480 failure on bus Test_ETH

UweH

Zum Thema Schaltregler, DC/DC-Konverter hab ich noch was Hübsches: http://www.conrad.biz/ce/de/product/158144/

Prof. Dr. Peter Henning

@UweH: Na, dann lass den Netzwerkstecker doch einfach drin  8).

Spaß beiseite: Den Grund für den Totalabsturz habe ich bisher nicht gefunden

Ich denke, dass die Ecistenz dieser Netzwerkverbindungen durch einen externen Watchdog überprüft werden muss. Für den socat-Prozess habe ich das schon geschafft: Ein Skript in /etc/watchdog.d wird periodisch mit dem Parameter "test" aufgerufen. Liefert es keine 0 zurück (weil socat tot ist), startet der Watchdog-Dämon dasselbe Skript mit dem Parameter "repair".

Mal sehen, was ich sonst noch mit dem externen Watchdog anstellen kann. Allerdings geht meine freie Zeit dem Ende zu - in ein paar Tagen muss ich wieder voll in den Stress.

LG

pah

UweH

Zitat von: Prof. Dr. Peter Henning am 01 März 2014, 19:07:10
@UweH: Na, dann lass den Netzwerkstecker doch einfach drin  8).
So ähnlich hat das meine Frau vorhin auch formuliert... ok, ich fass das Ding nicht mehr an  ::)

Zitat... voll in den Stress.
Igitt, Stress ist nicht gut für Körper und Geist. Hast Du nicht einen Assi, der das machen kann? So bleibt mehr Zeit für FHEM...