Entwicklung einer 1wire-zu-WLAN-Bridge

Begonnen von hexenmeister, 18 Dezember 2015, 01:03:45

Vorheriges Thema - Nächstes Thema

yamfhem

#60
... ich möchte auch zwei (PCB).

yam

deltaac

Zitat von: hexenmeister am 07 Januar 2016, 09:17:02
Müssten auch 20 Stück DS18b20 an einem Modul funktionieren. Zumindest auf dem Breadboard beim Entwickler (pf@nne) soll das stabil laufen.
Werden wir testen, wenns fertig ist.
Danke. Würde trotzdem 2 Stück nehmen!

ThomasW

Hallo Alexander,

dann trage ich mich für 5 nackte Platinen (Frisösinen wären wir lieber ;D) an.

Grüß Thomas
FHEM auf RPi Rev.2 mit COC, FS20-Module, LAN-Steckdosen, JeeLink - 4x LaCrosse-Sensoren

VB90

Hallo, ich würde mich hier gern mit einer Platine anschließen wollen,  wenn noch machbar.

Danke.
Man muss das Rad nicht neu erfinden, nur wissen wie es gedreht wird.

SvenJust

Hallo Alexander,

ich würde gerne fünf Platinen nehmen.

VG
Sven
FTUI, Raspberry PI/SSD, CUL CC1101, HMLAN, 10x HM-LC-Bl1PBU-FM, HM-LC-Sw4-WM (KWL Pluggit P300), HM-WDS30-OT2-SM (Sonnensensor), HM-Sec-SCo, LW-12 Wifi LED, CUL Selbstbau nanoCUL 433 (IT), Arduino (S0-Stromverbrauch), OW DS2480 (OWX_ASYNC) 8x DS18B20, MQTT (Fröling P4), MYSENSORS (Roto Rollläden)

Pf@nne

#65
Zitat von: hexenmeister am 07 Januar 2016, 09:17:02
Müssten auch 20 Stück DS18b20 an einem Modul funktionieren. Zumindest auf dem Breadboard beim Entwickler (pf@nne) soll das stabil laufen.
Werden wir testen, wenns fertig ist.

Wenn es bei den 1m langen Leitungen in einer "sauberen" Umgebung bleibt sollten auch 30 Stück mit 3V3 an einem GPIO laufen.
In meinem Steuerschrank mit einem Frequenzumrichter für den Kompressor der Wärmepumpe läuft das mit Sicherheit nicht mehr.
Aus Erfahrung kann ich auch sagen, dass mit Fernmeldekabelverdarhtungen (I-Yst) innerhalb des Hauses sehr schnell schluss ist.
Hier spielt die Topologie (Stern, Kette oder Mix) eine erhebliche Rolle, Hauptproblem sind dann noch die Kabelkapazitäten bei zunehmender Leitungslänge.
Hier kommt dann der DS2482-Busmaster zum Einsatz. Der beherscht Sachen wie aktive PullUP (APU) und strong PullUP (SPU) und könnte über LevelShifter auch mit 5V in die Peripherie gehen.

ABER, wenn wir schon irgendwohin einen Draht für einen 1-Wire-Sensor haben, warum dann nicht gleich einen ESP mit einem (oder mehreren) Sensoren daran anschließen
und den Messwert per WLAN übertragen.

Die bridge ist wunderbar geeignet um Sammelmessungen mit "vielen" örtlichen Sensoren zu übertragen.
Freue mich schon drauf...... 8)  Für weit unter 30€ eine komplette Heizung per WLAN/MQTT an FHEM angebunden, Wahnsinn!!!!


ZitatKannst Du Dir die Schaltung mal ansehen, vor alln die verwendeten GPIOs tc. Wäre ja nicht verkehrt, wenn das das mit Deinem AktSen 'out-pf-the-box' funktioniert ;)
Momentan habe ich folgende Pinbelegung:

  • Pin 15 - über 10k auf GND [BootModeBit 0]
  • Pin 0   - über FlashTaster auf GND [BootModeBit 1] / 1-Wire direkt  (der sollte dann am "Anschlussboard" zur Verfügung stehen)
  • Pin 2   - über 10k auf 3V3 [BootModeBit 2]
  • Pin 4   - Input für Bewegungsmelder mit IRQ
  • Pin 5   - FREI
  • Pin 12 - I2C SCL
  • Pin 13 - I2C SDA
  • Pin 14 - Input für Portexpander IRQ
  • Pin 16 - FREI

Das würde bedeuten, dass wir deine aktuelle Schaltung noch ein wenig umsticken müssten.
Ich würde momentan ungern den Code ändern.
Grund:
Ich stehe mit den Pins des ESP12e noch ein wenig auf Kriegsfuß.
So läuft z.B. 1-Wire nicht an allen Pins.
Auch die beiden genutzen Interrups für den BM und den Portexpander laufen nicht auf jedem Pin.
Das muss ich nochmal weiter untersuchen.

Gruß
Pf@nne
FHEM auf: DS415+ (Master), Raspberry Pi 2

hexenmeister

Zitat von: ThomasW am 07 Januar 2016, 12:46:39
dann trage ich mich für 5 nackte Platinen (Frisösinen wären wir lieber ;D) an.
Hm... Ich hätte zwar eine Ahnung, wo es entsprechende Frisösinen (Krankenschwester, Polizistinen,..) geben könnte... ich glaube aber, dafür sind wir hier im falschen Forum ;D
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

hexenmeister

Zitat von: VB90 am 07 Januar 2016, 13:24:19
Hallo, ich würde mich hier gern mit einer Platine anschließen wollen,  wenn noch machbar.

Wir sind noch in einer recht unverbindlichen Planung- und Entwicklungsphase, hier ist noch alles machbar :)
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

hexenmeister

Zitat von: Pf@nne am 07 Januar 2016, 13:57:04
Die bridge ist wunderbar geeignet um Sammelmessungen mit "vielen" örtlichen Sensoren zu übertragen.
Freue mich schon drauf...... 8)  Für weit unter 30€ eine komplette Heizung per WLAN/MQTT an FHEM angebunden, Wahnsinn!!!!
Das ist der Plan 8)

Zitat von: Pf@nne am 07 Januar 2016, 13:57:04
Momentan habe ich folgende Pinbelegung:

  • Pin 15 - über 10k auf GND [BootModeBit 0]
  • Pin 0   - über FlashTaster auf GND [BootModeBit 1] / 1-Wire direkt  (der sollte dann am "Anschlussboard" zur Verfügung stehen)
  • Pin 2   - über 10k auf 3V3 [BootModeBit 2]
  • Pin 4   - Input für Bewegungsmelder mit IRQ
  • Pin 5   - FREI
  • Pin 12 - I2C SCL
  • Pin 13 - I2C SDA
  • Pin 14 - Input für Portexpander IRQ
  • Pin 16 - FREI

Das würde bedeuten, dass wir deine aktuelle Schaltung noch ein wenig umsticken müssten.
Ich würde momentan ungern den Code ändern.
Grund:
Ich stehe mit den Pins des ESP12e noch ein wenig auf Kriegsfuß.
So läuft z.B. 1-Wire nicht an allen Pins.
Auch die beiden genutzen Interrups für den BM und den Portexpander laufen nicht auf jedem Pin.
Das muss ich nochmal weiter untersuchen.

Kann man ja machen.
Frage dazu: Warum I2C auf 12/13? Standard schein ja 4/5 zu sein?
Pin 16 würde gerne 'frei' lassen und für DeepSleep verwenden. Auch wenn das es hier ohne Bedetung ist.

Grüße
Alexander
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Pf@nne

Zitat von: hexenmeister am 07 Januar 2016, 14:18:14
Kann man ja machen.
Frage dazu: Warum I2C auf 12/13? Standard schein ja 4/5 zu sein?
Pin 16 würde gerne 'frei' lassen und für DeepSleep verwenden. Auch wenn das es hier ohne Bedetung ist.

Grüße
Alexander

Ich Teste die GPIOs gerade mal in Bezug auf IRQ und 1-Wire durch.....
I2C können wir gerne auf 4/5 umlegen. Mit dem Hinweis auf mögliche Chips wo die beiden Pins vertauscht sind.

Ich geb mal einen Status von meinen Forschungen.... ;D
FHEM auf: DS415+ (Master), Raspberry Pi 2

hexenmeister

Zitat von: Pf@nne am 07 Januar 2016, 14:22:45
I2C können wir gerne auf 4/5 umlegen. Mit dem Hinweis auf mögliche Chips wo die beiden Pins vertauscht sind.
Wenn ich richtig verstanden habe, waren bei einigen alten ESP-12 Chargen lediglich die Beschriftungen vertauscht, nicht die Pins selbst...
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Pf@nne

Am "nackten" Chip, nicht die Frisösinnen....
läuft 1-Wire 3V3 bei mir direkt mit folgenden Einschränkungen:


  • Pin 15 - läuft generell, der 1-Wire PullUP beißt sich aber mit dem PullDOWN für den BootMode
  • Pin 0   - läuft
  • Pin 2   - läuft
  • Pin 4   - läuft
  • Pin 5   - läuft
  • Pin 12 - läuft
  • Pin 13 - läuft
  • Pin 14 - läuft
  • Pin 16 - läuft nicht

Vielleicht kann das ja jemand unabhängig nochmal testen, vielleicht geht der Pin 16 ja bei jemandem.
FHEM auf: DS415+ (Master), Raspberry Pi 2

hexenmeister

am Pin16 läft laut Beschreibung gar nichts. Kein IRQ, kein 1wire, kein I2C, kein PWM...
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Pf@nne

Zitat von: hexenmeister am 07 Januar 2016, 14:41:03
am Pin16 läft laut Beschreibung gar nichts. Kein IRQ, kein 1wire, kein I2C, kein PWM...

Dann wie immer: "Wer lesen kann......"
welche Beschreibung hast du genommen, hast du einen Link für mich?

1-Wire läuft auch auf allen Pins Zeitgleich.
Wenn es mit der Beschaltung mal eng wird wg. Kabellängen etc. kann man auch auf mehrere Pins aufteilen.

// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
OneWire oneWire15(15);
OneWire oneWire0(0);
OneWire oneWire2(2);
OneWire oneWire4(4);
OneWire oneWire5(5);
OneWire oneWire12(12);
OneWire oneWire13(13);
OneWire oneWire14(14);
FHEM auf: DS415+ (Master), Raspberry Pi 2

Pf@nne

Zitat von: hexenmeister am 07 Januar 2016, 14:41:03
am Pin16 läft laut Beschreibung gar nichts. Kein IRQ, kein 1wire, kein I2C, kein PWM...

Juupp, ist so. GPIO16 ist angeschlossen an:


  • ESP8266 Pin8 XPD_DCDC I/O Deep-Sleep Wakeup;GPIO16
  • ESP8266 Pin32 EXT_RSTB I External reset signal (Low voltage level: Active)
FHEM auf: DS415+ (Master), Raspberry Pi 2