CP2102: Unterschied zwischen den Versionen

Aus FHEMWiki
(Erste Version)
 
(Link zur Win-Software angepaßt)
 
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Baustelle}}
{{Infobox Hardware
{{Infobox Hardware
|Bild=PL2102_Modul.png
|Bild=CP2102_Modelle.png
|Bildbeschreibung=CP2102 USB-Seriell-Wandler
|Bildbeschreibung=CP2102 USB-Seriell-Wandler
|HWProtocol=
|HWProtocol=USB
|HWType=
|HWType=USB-Seriell-Wandler
|HWCategory=
|HWCategory=Other Components
|HWVoltage=3,3V oder 5V DC
|HWComm=USB
|HWManufacturer=Silabs  
|HWChannels=unknown
|HWVoltage=3,3V oder 5V DC
|HWPowerConsumption=unknown
|HWPoweredBy=USB
|HWManufacturer=Silabs
|HWSize=mehrere Varianten
|HWDeviceFHEM=Diverse
 
}}
}}
Auf gängigen Marktplätzen werden eine Vielzahl von Geräten angeboten, die als USB-Seriell-Wandler einen Baustein der Fa. Silabs anbieten. Sehr weit verbreitet sind insbesondere Modelle des Typs CP2102, der teilweise auch in Community-Projekten eingesetzt wird. Im Auslieferungszustand verwenden diese lediglich die Standard-Vendor- und Product-IDs, und werden daher im USB-System alle als 'usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0' eingebunden, so dass die Unterscheidung zwischen mehrerer solcher Devices nur über den physischen Anschluß erfolgen kann.
Auf gängigen Marktplätzen werden eine Vielzahl von Geräten<ref>z.B. [[Proteus_EcoMeter]], evtl. [[Vitotronic 200 (Viessmann Heizungssteuerung)|Original Viessmann Optolink]]</ref> angeboten, die als USB-Seriell-Wandler einen Baustein der Fa. Silabs anbieten. Sehr weit verbreitet sind insbesondere Modelle des Typs CP2102, der teilweise auch in Community-Projekten eingesetzt wird. Im Auslieferungszustand verwenden diese lediglich die Standard-Vendor- und Product-IDs, und werden daher im USB-System alle als 'usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0' eingebunden, so dass die Unterscheidung zwischen mehrerer solcher Devices nur über den physischen Anschluß erfolgen kann.


== Einbindung in FHEM ==
== Einbindung in FHEM ==
Verwendet man neben einem solchen Gerät weitere USB-Schnittstellen anderer Hersteller, kann die Zuordnung wie in [[Trick_der_Woche#CUL_.26_CO_.C3.BCber_Serial_ID-einbinden|Tipp der Woche]] mit "by-id" beschrieben erfolgen.
Verwendet man neben einem solchen Gerät weitere USB-Schnittstellen anderer Hersteller, kann die Zuordnung wie in [[Trick_der_Woche#CUL_.26_CO_.C3.BCber_Serial_ID-einbinden|Tipp der Woche]] mit "by-id" beschrieben erfolgen.
Kommen mehrere dieser Schnittstellen zum Einsatz, sollte man entweder auf "by-path" ausweichen, oder man nutzt den auf den Chips vorhandenen EEPROM, um z.B. eine eigene Herstellerkennung und/oder eine Seriennummer zu vergeben. Damit kann dann eine eindeutige Kennung vergeben werden.
Kommen mehrere dieser Schnittstellen zum Einsatz, sollte man entweder auf "by-path" ausweichen, oder man nutzt den auf den Chips vorhandenen EEPROM, um z.B. eine eigene Herstellerkennung und/oder eine Seriennummer zu vergeben. Damit kann dann eine eindeutige Kennung vergeben werden.
{{Hinweis|Dabei sollte nicht die VID oder PID verändert werden, Änderungen der Herstellerkennung (vendor-string) oder der Produktkennung (product-string) sind jedoch gefahrlos möglich.}}
{{Hinweis|Dabei sollte nicht die VID oder PID verändert werden, Änderungen der Seriennummer oder der Produktkennung (product-string) sind jedoch gefahrlos möglich, ebenso die der Herstellerkennung (vendor-string), die allerdings ein --force-eeprom erfordert (Linux).}}
=== Windows ===  
=== Windows ===  
Der Hersteller Silabs bietet dazu als Teil des Treiberpakets ein Tool für Windows an<ref>https://www.silabs.com/documents/public/application-notes/an220.pdf</ref>.  
[[Datei:T5740_innen_nah.JPG|300px|thumb|right|CP2102-Modul mit angelötetem HM-MOD-RPI-PCB]]Der Hersteller Silabs bietet dazu als Teil des Treiberpakets ein Tool für Windows an<ref>https://www.silabs.com/documents/public/application-notes/an220.pdf bzw. die Software ''Direct Access Driver Software'' unter https://www.silabs.com/products/development-tools/software/direct-access-drivers.</ref>.  


=== Linux ===
=== Linux ===
Für Linux ist [http://cp210x-program.sourceforge.net/ hier] ein in Python-Tool verfügbar.
Für Linux ist [[Mehrere USB-Geräte einbinden#CP2102|hier]] ein Tool beschrieben, mit dem sich die USB-Kennung verändern läßt. Leider ist die dort verwendete Python-Version nicht auf allen aktuellen Linuxen verfügbar; eine in C geschriebene (untetestete!) Alternative ist hier verfügbar<ref>https://github.com/DiUS/cp210x-cfg</ref>.


== Bekannte Probleme ==
== Bekannte Probleme ==
=== 3.3V werden überschritten ===
=== 3.3V werden überschritten ===
Es sind immer wieder Exemplare mit CP2102 im Umlauf, die nicht wie angegeben 3.3V an der Spannungsversorgung sowie den Signalpegeln liefern, sondern ca. 4.3V! Vor dem Verbinden mit Geräten wie dem [[HM-MOD-RPI-PCB HomeMatic Funkmodul für Raspberry Pi|HomeMatic Funkmodul für Raspberry Pi]] sollte daher geprüft werden, ob der interne Spannungswandler ordnungsgemäß funktioniert und wirklich nur 3.3V liefert. Bei den blauen Micro-Modulen kann man den Fehler nach dieser Anleitung beheben: [https://www.silabs.com/community/interface/forum.topic.html/cp2102_3_3v_outputi-EaVr Beitrag von PBudmark vom 08.07.2017].
Es sind immer wieder Exemplare mit CP2102 im Umlauf, die nicht wie angegeben 3.3V an der Spannungsversorgung sowie den Signalpegeln liefern, sondern ca. 4.3V! Vor dem Verbinden mit Geräten wie dem [[HM-MOD-RPI-PCB HomeMatic Funkmodul für Raspberry Pi|HomeMatic Funkmodul für Raspberry Pi]] sollte daher geprüft werden, ob der interne Spannungswandler ordnungsgemäß funktioniert und wirklich nur 3.3V liefert.  
 
Betroffen scheinen vor allem Micro-Module zu sein, wie das auf dem Bild rechts mit einer blauen Platine. Bei diesen kann man den Fehler nach dieser Anleitung beheben: [https://www.silabs.com/community/interface/forum.topic.html/cp2102_3_3v_outputi-EaVr Beitrag von PBudmark vom 08.07.2017].
[[Datei:PL2102 Modul.png|200px|thumb|right|Mod zur Herstellung der korrekten Spannung]]
[[Datei:PL2102 Modul.png|200px|thumb|right|Mod zur Herstellung der korrekten Spannung]]


== Links ==
== Links ==
<references />
[[Kategorie:Other Components]]

Aktuelle Version vom 4. Oktober 2019, 10:15 Uhr

CP2102
CP2102 USB-Seriell-Wandler
Allgemein
Protokoll USB
Typ USB-Seriell-Wandler
Kategorie Other Components
Technische Details
Kommunikation USB
Kanäle unknown
Betriebsspannung 3,3V oder 5V DC
Leistungsaufnahme unknown
Versorgung USB
Abmessungen mehrere Varianten
Sonstiges
Modulname Diverse
Hersteller Silabs

Auf gängigen Marktplätzen werden eine Vielzahl von Geräten[1] angeboten, die als USB-Seriell-Wandler einen Baustein der Fa. Silabs anbieten. Sehr weit verbreitet sind insbesondere Modelle des Typs CP2102, der teilweise auch in Community-Projekten eingesetzt wird. Im Auslieferungszustand verwenden diese lediglich die Standard-Vendor- und Product-IDs, und werden daher im USB-System alle als 'usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0' eingebunden, so dass die Unterscheidung zwischen mehrerer solcher Devices nur über den physischen Anschluß erfolgen kann.

Einbindung in FHEM

Verwendet man neben einem solchen Gerät weitere USB-Schnittstellen anderer Hersteller, kann die Zuordnung wie in Tipp der Woche mit "by-id" beschrieben erfolgen. Kommen mehrere dieser Schnittstellen zum Einsatz, sollte man entweder auf "by-path" ausweichen, oder man nutzt den auf den Chips vorhandenen EEPROM, um z.B. eine eigene Herstellerkennung und/oder eine Seriennummer zu vergeben. Damit kann dann eine eindeutige Kennung vergeben werden.

Info blue.png
Dabei sollte nicht die VID oder PID verändert werden, Änderungen der Seriennummer oder der Produktkennung (product-string) sind jedoch gefahrlos möglich, ebenso die der Herstellerkennung (vendor-string), die allerdings ein --force-eeprom erfordert (Linux).


Windows

CP2102-Modul mit angelötetem HM-MOD-RPI-PCB

Der Hersteller Silabs bietet dazu als Teil des Treiberpakets ein Tool für Windows an[2].

Linux

Für Linux ist hier ein Tool beschrieben, mit dem sich die USB-Kennung verändern läßt. Leider ist die dort verwendete Python-Version nicht auf allen aktuellen Linuxen verfügbar; eine in C geschriebene (untetestete!) Alternative ist hier verfügbar[3].

Bekannte Probleme

3.3V werden überschritten

Es sind immer wieder Exemplare mit CP2102 im Umlauf, die nicht wie angegeben 3.3V an der Spannungsversorgung sowie den Signalpegeln liefern, sondern ca. 4.3V! Vor dem Verbinden mit Geräten wie dem HomeMatic Funkmodul für Raspberry Pi sollte daher geprüft werden, ob der interne Spannungswandler ordnungsgemäß funktioniert und wirklich nur 3.3V liefert.

Betroffen scheinen vor allem Micro-Module zu sein, wie das auf dem Bild rechts mit einer blauen Platine. Bei diesen kann man den Fehler nach dieser Anleitung beheben: Beitrag von PBudmark vom 08.07.2017.

Mod zur Herstellung der korrekten Spannung

Links