Interfaces für 1-Wire: Unterschied zwischen den Versionen

Aus FHEMWiki
Keine Bearbeitungszusammenfassung
 
(10 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
= Einleitung =
== Einleitung ==
Der 1-Wire Bus mit seinen Sensoren und Aktoren ist über ein Interface an einen Computer angeschlossen. Hierzu sind folgende Typen gebräuchlich:
Der '''1-Wire''' Bus mit seinen Sensoren und Aktoren ist über ein [[Interface]] an einen Computer angeschlossen. Hierzu sind folgende Typen gebräuchlich:


* '''DS2480(B)''' ist ein Bus-Master-IC, der einen kompletten 1-Wire Bus an ein serielles Signal ankoppelt, dabei Teile des Timing sowie des Suchalgorithmus übernimmt. Dieser Schaltkreis ist Bestandteil vieler anderer aktiver Interfaces.
* '''DS2480(B)''' ist ein Bus-Master-IC, der einen kompletten 1-Wire Bus an ein serielles Signal ankoppelt, dabei Teile des Timing sowie des Suchalgorithmus übernimmt. Dieser Schaltkreis ist Bestandteil vieler anderer [[Aktives Interface|aktiver Interfaces]].
* '''DS2482''' ist ein Bus-Master-IC, der einen kompletten 1-Wire Bus an ein serielles Signal auf dem I2C-Bus ankoppelt, dabei Teile des Timing sowie des Suchalgorithmus übernimmt. Dieser Schaltkreis ist Bestandteil des [[CUNO und 1-wire]]
* '''DS2482''' ist ein Bus-Master-IC, der einen kompletten 1-Wire Bus an ein serielles Signal auf dem I2C-Bus ankoppelt, dabei Teile des Timing sowie des Suchalgorithmus übernimmt. Dieser Schaltkreis ist Bestandteil des [[CUNO und 1-wire]]
* '''DS2490''' ist ein Bus-Master-IC, der einen kompletten 1-Wire Bus an einen USB-Port ankoppelt, dabei Teile des Timing sowie des Suchalgorithmus übernimmt. Dieser Schaltkreis ist Bestandteil verschiedener USB-Interfaces, er ist gegenwärtig nür über die Bibliothek libusb ansteuerbar, die von OWFS unterstützt wird. Eine Ansteuerung über OWX ist in Arbeit.
* '''DS2490''' ist ein Bus-Master-IC, der einen kompletten 1-Wire Bus an einen USB-Port ankoppelt, dabei Teile des Timing sowie des Suchalgorithmus übernimmt. Dieser Schaltkreis ist Bestandteil verschiedener USB-Interfaces, er ist gegenwärtig nur über die Bibliothek libusb ansteuerbar, die von OWFS unterstützt wird.  
* '''DS9097''' ist ein passives Interface, bestehend nur aus ein paar Schottky- und Zenerdioden, einem Widerstand und einem Kondensator, mit dem die 1-Wire Komponenten aus einer seriellen RS232- Schnittstelle angesteuert werden. Dabei wird eine Spannungsversorgung realisiert, indem die RTS/CTS-Signale der Schnittstelle "gestohlen" und gesammelt werden. Der 1-Wire-Suchalgorithmus muss bei dem DS9097-Interface vollständig im ansteuernden Computer realisiert werden.
* '''DS9097''' ist ein [[Passives Interface|passives Interface]], mit dem die 1-Wire Komponenten aus einer seriellen RS232- Schnittstelle angesteuert werden. Dabei wird eine Spannungsversorgung realisiert, indem die RTS/CTS-Signale der Schnittstelle "gestohlen" und gesammelt werden. Der 1-Wire-Suchalgorithmus muss bei dem DS9097-Interface vollständig im ansteuernden Computer realisiert werden.
* '''DS9097U''' ist ein aktives Interface (basierend auf dem DS2480B), welches die serielle RS232-Schnittstelle eines Computers an den 1-Wire-Bus ankoppelt. Es kann durch einen zusätzlichen USB-zu-Seriell-Konverter auch an den USB-Port angeschlossen werden. Der 1-Wire-Anschluss erfolgt über einen 6-Poligen RJ11 ("Western"-)Stecker. Den DS9097U gibt es in drei Varianten (009/S09, E25), von denen 2 mit 9-poligem Anschluss und eine mit 25-poligem Anschluss an die serielle Schnittstelle versehen sind. Problematisch ist, dass bei den 9-poligen Varianten auf die RJ-11-Anschlussbuchse keine Versorgungsspannung für den 1-Wire-Bus geführt wird, dies lässt sich aber durch Öffnung des Gehäuses und Herausführung der entsprechenden Leitungen beheben.
* '''DS9490R''' ist ein aktives 1-Wire [[USB-Interface]] (Typ 2, basierend auf dem DS2490) das auch eine Versorgungsspannung für den 1-Wire Bus zur Verfügung stellt. Zusätzlich ist ein DS1420 ID-Chip integriert. Der 1-Wire-Anschluss erfolgt über einen 6-Poligen RJ11 ("Western"-)Stecker.
* '''USB9097''' ist eine Version des DS9097U für den USB-Port, die auch eine Versorgungsspannung für den 1-Wire-Bus zur Verfügung stellt. Er benötigt das Linux-Kernmodul ch341.ko, das nicht auf allen Systemen verfügbar ist.
* '''DS9097U''' ist ein [[Aktives Interface|aktives Interface]] (basierend auf dem DS2480B), welches die serielle RS232-Schnittstelle eines Computers an den 1-Wire-Bus ankoppelt. Es kann durch einen zusätzlichen USB-zu-Seriell-Konverter auch an den USB-Port angeschlossen werden. Der 1-Wire-Anschluss erfolgt über einen 6-Poligen RJ11 ("Western"-)Stecker. Den DS9097U gibt es in drei Varianten (009/S09, E25), von denen 2 mit 9-poligem Anschluss und eine mit 25-poligem Anschluss an die serielle Schnittstelle versehen sind. Problematisch ist, dass bei den 9-poligen Varianten auf die RJ-11-Anschlussbuchse keine Versorgungsspannung für den 1-Wire-Bus geführt wird, dies lässt sich aber durch Öffnung des Gehäuses und Herausführung der entsprechenden Leitungen beheben.
* '''USB9097''' ist aktives 1-Wire [[USB-Interface]] (Typ 1, basierend auf dem DS2480(B)). Er benötigt das Linux-Kernmodul ch341.ko
* '''LinkUSBi''' ist ein USB-1-Wire Adapter mit FTDI-Chip, der gegenüber den DS2480 etc. eine verbesserte Ansteuerung des 1-Wire Bus aufweist. '''Achtung:''' Dieser Adapter stellt verschiedene Funktionen für den 1-Wire Bus bereit, und emuliert den DS2480 Chip nur. Es kann daher derzeit zu Timing-Problemem kommen.
* '''LinkUSBi''' ist ein USB-1-Wire Adapter mit FTDI-Chip, der gegenüber den DS2480 etc. eine verbesserte Ansteuerung des 1-Wire Bus aufweist. '''Achtung:''' Dieser Adapter stellt verschiedene Funktionen für den 1-Wire Bus bereit, und emuliert den DS2480 Chip nur. Es kann daher derzeit zu Timing-Problemem kommen.
* '''[[Arduino mit OneWireFirmata]]''' [http://www.arduino.cc], kann als Aktiver Busmaster für 1-Wire am USB-Port verwendet werden. Vorteil ist die preisgünstige Beschaffbarkeit und die einfache Integrierbarkeit in eigene Geräte (z.B. in der Version 'Nano' die sich in übliche Lochrasterplatinen im 2,54mm Rastermas einfach einlöten läßt). An einem Arduino können bis zu 54 (Modelabhängig) unabhängige 1-Wire-Busse angeschlossen werden. Nicht für 1-Wire benutzte Pins können für parallel für Digital- und Analog- Ein/Ausgabe benutzt werden.
* '''[[Arduino mit OneWireFirmata]]''' [http://www.arduino.cc], kann als aktiver Busmaster für 1-Wire am USB-Port verwendet werden. Vorteil ist die preisgünstige Beschaffbarkeit und die einfache Integrierbarkeit in eigene Geräte (z.B. in der Version 'Nano' die sich in übliche Lochrasterplatinen im 2,54 mm Rastermaß einfach einlöten läßt). An einem Arduino können bis zu 54 (modellabhängig) unabhängige 1-Wire-Busse angeschlossen werden. Nicht für 1-Wire benutzte Pins können für parallel für Digital- und Analog- Ein/Ausgabe benutzt werden.
= Selbstbau eines passiven Seriell-1-Wire Interface =
*'''[[1W-IF-ETH]]''' ist eine Kombination aus einem kommerziell erhältlichen Ethernet-Modul und einem oder zwei DS2480(B)-Chips, mit denen ein 1-Wire-Bus direkt an ein Ethernet angeschlossen werden kann.
Ein solcher Selbstbau kann nötig sein, wenn der FHEM-Server nicht über das Kernelmodul ch341.ko verfügt, mit dem die meisten käuflichen USB-Interfaces für den 1-Wire-Bus versehen sind. Wenn die an den 1-Wire-Bus angeschlossenen Komponenten keinen nennenswerten Energieverbrauch haben, genügt dafür das passive Interface. Zu beachten ist, dass dieses Interface keinen ''True Ground''zur Verfügung stellt, d.h., der Ground-Pegel der 1-Wire-Komponenten unterscheidet sich substanziell vom GND-Pegel des Computers und darf nicht mit diesem verbunden werden.
*'''[[1W-IF-WIFI]]''' ist eine Kombination aus einem kommerziell erhältichen WLAN-Modul und einem oder zwei DS2480(B)-Chips, mit denen ein 1-Wire-Bus direkt an ein Ethernet angeschlossen werden kann.
 
* '''[http://www.ethersex.de/index.php/Onewire_(Deutsch) Ethersex]''', kann als aktiver Busmaster oder Slave über Ethernet, ZBus oder Funk verwendet werden. Von Vorteil sind u.a. die Möglichkeit, mehrere Busse zu bedienen und das Pollen der Sensoren bereits in Ethersex zu realisieren. Bekannteste Hardware dafür ist der [[AVR-NET-IO]].
Nachstehend ein Schaltplan, bestehend nur aus ein paar Schottky- und Zenerdioden, einem Widerstand und einem Kondensator, der mit Hilfe eines handelsüblichen USB-zu-Seriell-Konverter verwendet werden kann. Ggf. ist dabei darauf zu achten, dass dieser Konverter einen FTDI-Chip aufweist, da das zugehörige Linux-Kernelmodul auf den meisten FHEM-Systemen verfügbar ist.
 
[[File:Passives_Interface.png|400px|alt=Passives 1-Wire Interface]]
 
= Selbstbau eines aktiven Seriell- bzw. USB-1-Wire Interface =
Ein solcher Selbstbau kann nötig sein, wenn der FHEM-Server nur über einen eingeschränkten Satz von Kernelmodulen verfügt, die nicht mit allen USB-zu-Seriell Wandlern zusammenarbeiten.. Großer Vorteil des aktiven Interfaces ist, dass es auch die Versorgungsspannung für den 1-Wire Bus zur Verfügung stellt und den echten Ground-Pegel durchleitet. Rechts ein Schaltplan, bei dem der Busmaster über einen entsprechenden Chip (Hersteller FTDI) direkt an den USB gekoppelt ist. Dabei wurde der USB-Teil durch ein fertig aufgebautes Modul realisiert
 
[[File:Aktives_Interface.png|400px|alt=Aktives 1-Wire Interface]]   [[Datei:USB_Interface.png|400px|alt=USB 1-Wire Interface]]
 
[[Kategorie:1-Wire]]
[[Kategorie:1-Wire]]
[[Kategorie:Interfaces]]
[[Kategorie:HOWTOS]]
[[Kategorie:HOWTOS]]

Aktuelle Version vom 25. Februar 2024, 18:22 Uhr

Einleitung

Der 1-Wire Bus mit seinen Sensoren und Aktoren ist über ein Interface an einen Computer angeschlossen. Hierzu sind folgende Typen gebräuchlich:

  • DS2480(B) ist ein Bus-Master-IC, der einen kompletten 1-Wire Bus an ein serielles Signal ankoppelt, dabei Teile des Timing sowie des Suchalgorithmus übernimmt. Dieser Schaltkreis ist Bestandteil vieler anderer aktiver Interfaces.
  • DS2482 ist ein Bus-Master-IC, der einen kompletten 1-Wire Bus an ein serielles Signal auf dem I2C-Bus ankoppelt, dabei Teile des Timing sowie des Suchalgorithmus übernimmt. Dieser Schaltkreis ist Bestandteil des CUNO und 1-wire
  • DS2490 ist ein Bus-Master-IC, der einen kompletten 1-Wire Bus an einen USB-Port ankoppelt, dabei Teile des Timing sowie des Suchalgorithmus übernimmt. Dieser Schaltkreis ist Bestandteil verschiedener USB-Interfaces, er ist gegenwärtig nur über die Bibliothek libusb ansteuerbar, die von OWFS unterstützt wird.
  • DS9097 ist ein passives Interface, mit dem die 1-Wire Komponenten aus einer seriellen RS232- Schnittstelle angesteuert werden. Dabei wird eine Spannungsversorgung realisiert, indem die RTS/CTS-Signale der Schnittstelle "gestohlen" und gesammelt werden. Der 1-Wire-Suchalgorithmus muss bei dem DS9097-Interface vollständig im ansteuernden Computer realisiert werden.
  • DS9490R ist ein aktives 1-Wire USB-Interface (Typ 2, basierend auf dem DS2490) das auch eine Versorgungsspannung für den 1-Wire Bus zur Verfügung stellt. Zusätzlich ist ein DS1420 ID-Chip integriert. Der 1-Wire-Anschluss erfolgt über einen 6-Poligen RJ11 ("Western"-)Stecker.
  • DS9097U ist ein aktives Interface (basierend auf dem DS2480B), welches die serielle RS232-Schnittstelle eines Computers an den 1-Wire-Bus ankoppelt. Es kann durch einen zusätzlichen USB-zu-Seriell-Konverter auch an den USB-Port angeschlossen werden. Der 1-Wire-Anschluss erfolgt über einen 6-Poligen RJ11 ("Western"-)Stecker. Den DS9097U gibt es in drei Varianten (009/S09, E25), von denen 2 mit 9-poligem Anschluss und eine mit 25-poligem Anschluss an die serielle Schnittstelle versehen sind. Problematisch ist, dass bei den 9-poligen Varianten auf die RJ-11-Anschlussbuchse keine Versorgungsspannung für den 1-Wire-Bus geführt wird, dies lässt sich aber durch Öffnung des Gehäuses und Herausführung der entsprechenden Leitungen beheben.
  • USB9097 ist aktives 1-Wire USB-Interface (Typ 1, basierend auf dem DS2480(B)). Er benötigt das Linux-Kernmodul ch341.ko
  • LinkUSBi ist ein USB-1-Wire Adapter mit FTDI-Chip, der gegenüber den DS2480 etc. eine verbesserte Ansteuerung des 1-Wire Bus aufweist. Achtung: Dieser Adapter stellt verschiedene Funktionen für den 1-Wire Bus bereit, und emuliert den DS2480 Chip nur. Es kann daher derzeit zu Timing-Problemem kommen.
  • Arduino mit OneWireFirmata [1], kann als aktiver Busmaster für 1-Wire am USB-Port verwendet werden. Vorteil ist die preisgünstige Beschaffbarkeit und die einfache Integrierbarkeit in eigene Geräte (z.B. in der Version 'Nano' die sich in übliche Lochrasterplatinen im 2,54 mm Rastermaß einfach einlöten läßt). An einem Arduino können bis zu 54 (modellabhängig) unabhängige 1-Wire-Busse angeschlossen werden. Nicht für 1-Wire benutzte Pins können für parallel für Digital- und Analog- Ein/Ausgabe benutzt werden.
  • 1W-IF-ETH ist eine Kombination aus einem kommerziell erhältlichen Ethernet-Modul und einem oder zwei DS2480(B)-Chips, mit denen ein 1-Wire-Bus direkt an ein Ethernet angeschlossen werden kann.
  • 1W-IF-WIFI ist eine Kombination aus einem kommerziell erhältichen WLAN-Modul und einem oder zwei DS2480(B)-Chips, mit denen ein 1-Wire-Bus direkt an ein Ethernet angeschlossen werden kann.
  • Ethersex, kann als aktiver Busmaster oder Slave über Ethernet, ZBus oder Funk verwendet werden. Von Vorteil sind u.a. die Möglichkeit, mehrere Busse zu bedienen und das Pollen der Sensoren bereits in Ethersex zu realisieren. Bekannteste Hardware dafür ist der AVR-NET-IO.