Universalsensor: Unterschied zwischen den Versionen
(Hinweise zum Update der Firmaware per OTA. Neue Firmwareversion 0.13.) |
(Bedeutung der Register erklärt.) |
||
Zeile 85: | Zeile 85: | ||
Es gibt mittlerweile auch einen Bootloader, mit dem die Firmware des Sensors per OTA-Update ('''O'''ver '''T'''he '''A'''ir, also per Funk) aktualisiert werden kann. Das Firmwareupdate funktioniert dabei nur mit dem [[HomeMatic_Firmware_Update|flash-ota]]. Ein "set sensorname fwUpdate dateiname" in der Kommandozeile von FHEM funktioniert nicht. | Es gibt mittlerweile auch einen Bootloader, mit dem die Firmware des Sensors per OTA-Update ('''O'''ver '''T'''he '''A'''ir, also per Funk) aktualisiert werden kann. Das Firmwareupdate funktioniert dabei nur mit dem [[HomeMatic_Firmware_Update|flash-ota]]. Ein "set sensorname fwUpdate dateiname" in der Kommandozeile von FHEM funktioniert nicht. | ||
'''Firmwarekonfiguration''' | |||
Auf einige Einstellungen des Sensors lässt sich über die Kommandozeile Einfluss nehmen. Dazu "set <sensorname> regSet <register> <wert>" eingeben. | |||
;altitude | |||
:Die Höhe des Sensors über NN in m. Ist ein Luftdrucksensor vorhanden, dann wird der ermittelte Druck automatisch auf Druck in NN umgerechnet. | |||
;burstRx | |||
:??? | |||
;ledMode | |||
:''on'' die LED leuchtet, wenn der Sensor Daten überträgt, ''off'' die LED leuchtet beim Übertragen der Daten nicht | |||
;lowBatLimitTHPL | |||
:Batteriespannung, ab der die Warnung für den Batteriewechsel ausgegeben wird. | |||
;pairCentral | |||
:??? | |||
;transmDevTryMax | |||
:Anzahl der Wiederholungssendungen, sofern kein ACK empfangen wurde. | |||
[[Datei:Universalsensor-RS485_mit_1-Wire-Sensoren.jpg|200px|thumb|right|Universalsensor-RS485-Version. Hier mit angeschlossenen 1-Wire Temperatursensoren]] | [[Datei:Universalsensor-RS485_mit_1-Wire-Sensoren.jpg|200px|thumb|right|Universalsensor-RS485-Version. Hier mit angeschlossenen 1-Wire Temperatursensoren]] |
Version vom 21. Februar 2015, 07:19 Uhr
Übersicht
Die Universalsensor-Platine ist eine Hardwareplattform um verschiedene Sensorwerte auch über unterschiedliche Übertragungsverfahren z.B. für die eigene Homeautomatisierung verfügbar zu machen.
Hier werden die unterschiedliche Platinenlayouts, welche z.B. für einen Innensensor und einen Außensensor verwendet werden können, vorgestellt.
Als Übertragungsmedien sind ein Funkmodul (CC1101) oder ein RS485 Tranceiver (LT1785 oder kompatibel) vorgesehen.
Mit dem Funkmodul ist eine Anbindung an Funksysteme im 868 Mhz oder auch 433 Mhz-Band möglich. Hiermit kann der Sensor z.B. in ein Homematic Funksystem integriert werden. Aber auch andere Funksysteme sind über eine entsprechende Firmware zu realisieren.
Mit dem RS485 Tranceiver ist z.B. auch eine Integration in das Homematic-Wired System möglich.
Das Platinenlayout der Sensoren enthält zwei Pinleisten welche Arduino-Kompatibel sind. Als Mikrocontroller ist ein Atmega 328p bestückt.
Über diese Erweiterungsports können zusätzlich eigene Sensoren oder auch Aktoren angeschlossen werden. Über eine entsprechende Firmware ist es z.B. möglich auch mehrere 1-Wire-Sensoren abzufragen und deren Werte zu übertragen.
Die Spannungsversorgung erfolgt über 2 AA bzw. AAA Batterien. Damit eine möglichst gute Ausnutzung der Batteriekapazität erzielt wird und auch damit Sensoren mit 3,3 V Spannungsversorgung benutzt werden können, kann ein MAX1724 Stepup-Converter bestückt werden. Dieser stellt eine stabile Spannungsversorgung von 3,3 V zur Verfügung. Als Mindest-Eingangsspannung sind hier dann lediglich 1,2 V notwendig. Somit ist eine Versorung auch nur aus einer Batteriezelle denkbar.
Alternativ kann eine Spannungsversorung über einen Schaltregler erfolgen. Diese Versorgung kommt bei der Bestückungsversion mit RS485-Tranceiver zum Einsatz. Aber auch bei Benutzung mit dem Funkmodul kann diese Spannungsversorgung eingesetzt werden.
Der Schaltregler erlaubt dann einen recht breiten Eingangsspannungsbreich von 7 V bis 24 V. Außerdem steht dann intern zusätzlich zu den 3,3 V eine Spannung von 5 V zur Verfügung.
Innensensor
Das Layout des Innensensors unterstützt standardmäßig folgende Sensorbestückung:
- Temperatur / Feuchte (STH10)
- Temperatur / Luftdruck (BMP180)
- Helligkeit (TSL2561)
Zusätzlich können über die zwei Pinleisten eigene Sensoren z.B. über eine Erweiterungsplatine angeschlossen werden. Als Beispiel ist hier eine Firmwareversion genannt, bei der mehrere 1-Wire Sensoren an den Sensor angeschlossen werden und abgefragt werden können. Zusätzlich zu den unterschiedlichen bestückbaren Sensoren, kann der Innensensor alternativ zum Funkmodul mit einem RS485 Tranceiver bestückt werden. Als Spannungsversorgung steht eine Batterieversorgung (1,2 - 3V) oder eine Spannungsversorgung über einen Schaltregler (7 V - 24 V zur Verfügung)
Außensensor
Die Platinengröße des Außensensors ist deutlich kompakter als der Innensensor. Daher ist in dieser Version derzeit nur das Funkmodul bestückbar. Andere Übertragungsverfahren wie z.B. RS485 müssten hier extern realisiert werden. Das Layout des Außensensors unterstützt standardmäßig folgende Sensorbestückung:
- Temperatur / Luftdruck (BMP180)
- Helligkeit (TSL2561)
Weitere Sensoren z.B. ein STH10 für Temperatur/Luftfeuchte können über den nach außen geführten I2C-Bus angeschlossen werden. Natürlich existiert auch beim Außensensor die Möglichkeit weitere Sensoren oder auch Aktoren über die beiden Pinleisten anzuschließen.
Dieser Forenbeitrag beschreibt, wie der SHT10 auch innerhalb eines Gehäuses benutzt werden kann.
Der Helligkeitssensor
Der Helligkeitssensor braucht zum sinnvollen Einsatz natürlich die Möglichkeit vom Umgebungslicht beleuchtet zu werden. Da der Sensor im Innengehäuse nahe der Lüftungsschlitzen sitzt, wird dieser dadurch bereits beleuchtet. Allerdings fällt hier nur wenig Licht auf den Sensor. Daher ist bei dieser Messmethode die erreichbare Auflösung sehr gering.
Die bessere Möglichkeit ist es, in die Abdeckung des Sensorgehäuses ein 5 mm großes Loch zu bohren. In das Loch wird dann ein kurzer Stift aus Acrylglas eingesetzt. Siehe Bild mit der Bohrvorlage. Achtung, das Loch ist in horizontaler Ausrichtung nicht genau mittig. Der Acrylstab hat nicht genau 5 mm Durchmesser. Es sind 5,2 mm. Man kann dennoch ein 5 mm Loch bohren. Das Einschieben des Stabes in das Loch geht dann allerdings ziemlich schwer. Vor dem Einschieben kann man den Acrylstab an der Innenseite noch leicht anfasen. Dann lässt er sich leichter in das Loch schieben. Die Länge des Acrylstabes Beträgt 17 mm.
Im Außensensor ist die ausreichende Beleuchtung bereits durch die transparente Gehäuseoberseite gewährleistet. Allerdings wird der Sensor in direkter Sonneneinstrahlung übersteuern. Daher kann hier zwischen Sensor und Deckel eine Filterfolie eingelegt werden. Die getestete Filterfolie lässt dann nur noch etwa 25% des Lichtes durch. Dadurch übersteuert der Sensor auch im Sommer bei voller Sonneneinstrahlung nicht mehr. Durch den bekannten Filterwert der Folie lässt sich so auch gut ein Umrechnungsfaktor für die Heligkeitsmessung in Lux z.B. in FHEM hinterlegen.
Firmware
Aktuell existieren für den Sensor drei verschiedene Firmwareversionen.
- HB-UW-Sen-THPL HB-UW-Sen-THPL-I, HB-UW-Sen-THPL-O (Version 0.13)
- Homematic-Kompatibler Temperatur / Feuchte / Luftdruck / Helligkeitssensor für das Innengehäuse
- HB-UW-Sen-THPL-O (Version 0.13)
- Homematic-Kompatibler Temperatur / Feuchte / Luftdruck / Helligkeitssensor für das Außengehäuse
- HWB-ONEWIRE (Experimentel)
- Homematic-Wired Kompatibles 1-Wire-Temperatursensor-interface
HB-UW-Sen-THPL-I und HB-UW-Sen-THPL-O unterscheiden sich nur durch die Geräte-ID. Dadurch ist es Möglich dass die Sensoren z.B. in der CCU über ein eigenes Icon verfügt.
Firmwareupdates
Der Atmega328p auf den Platinen ist mit einem Arduino-Kompatiblen Bootloader ausgestattet. Damit lässt sich ganz einfach z.B. per USB-UART-Adapter ein Firmwareupdate auf den Sensor aufspielen.
Alternativ kann das auch über den UART-Anschluss von einem Raspberry Pi aus erfolgen. Sowohl für Windows als auch für Linux (Raspberry Pi) gibt es ein Flash-Tool. Das ist eine Sammlung von Scripten mit der die Firmware auf den Sensor überspielt werden kann. Dabei kann auch jeweils eine eigene Homematic-Adresse und Seriennummer angegeben werden unter welcher der Sensor dann erreichbar ist.
Es gibt mittlerweile auch einen Bootloader, mit dem die Firmware des Sensors per OTA-Update (Over The Air, also per Funk) aktualisiert werden kann. Das Firmwareupdate funktioniert dabei nur mit dem flash-ota. Ein "set sensorname fwUpdate dateiname" in der Kommandozeile von FHEM funktioniert nicht.
Firmwarekonfiguration Auf einige Einstellungen des Sensors lässt sich über die Kommandozeile Einfluss nehmen. Dazu "set <sensorname> regSet <register> <wert>" eingeben.
- altitude
- Die Höhe des Sensors über NN in m. Ist ein Luftdrucksensor vorhanden, dann wird der ermittelte Druck automatisch auf Druck in NN umgerechnet.
- burstRx
- ???
- ledMode
- on die LED leuchtet, wenn der Sensor Daten überträgt, off die LED leuchtet beim Übertragen der Daten nicht
- lowBatLimitTHPL
- Batteriespannung, ab der die Warnung für den Batteriewechsel ausgegeben wird.
- pairCentral
- ???
- transmDevTryMax
- Anzahl der Wiederholungssendungen, sofern kein ACK empfangen wurde.
RS485-Version mit 1-Wire Temperatursensoren
Hier ist eine experimentelle Firmware mit der man derzeit die RS485-Version des Sensors in eine 1-Wire - Homematic-Wired Interface "verwandeln" kann. Weiteres ist unter HWB-1WIRE-TMP10 nachzulesen.
Inbetriebnahme
- Batterien einlegen
- Stelle sicher, dass die HMConfig_SenTHPL.pm im Unterverzeichnis FHEM ist. Ist dem nicht so, lade sie herunter und lege sie dort ab. Danach muss FHEM neu gestartet werden ("shutdown restart" in die Kommandozeile eingeben)
- CUL in den Pairingmodus schalten
- Configtaster auf dem Universalsensor drücken