mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Funkthermometer Controlbits


Autor: Dirk K (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich habe mit Funkmodulen und einem AVR den Bit-Stream eines
Funkthermometers ausgewertet. Den 44-Bit-Stream habe ich soweit
entschlüsselt und kann Werte an das Thermometer senden, aber nur die
bekannten Werte. Denn die letzen 4 Bit und das 4 Bit im 3 Byte scheinen
Kontrollwerte zu sein. Ich habe eine mal ne Datei angehängt mit den
übertragenen Bits bei verschiedenen Temperaturen und verschiedenen
Adressen. Vielleicht kann mir jemand bei der Berechnung der
Kontrollbits (mit P gekennzeichnet) helfen. Ich bekomme es nicht hin.
Gruß Dirk

Autor: Thomas J. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Dirk,

Die vier 0-Bits am Anfang dienen scheinbar nur zum Einschwingen des
Empfängers, sie gehören nicht zum Messwert. Ich habe diese Bits
testweise weggelassen und der Messwert wurde trotzdem akzeptiert.

Das Protokoll sieht so aus:

8-Bit Sensortyp
7-Bit Adresse
1-Bit Messwert-Parität
4-Bit Messwert 10er
4-Bit Messwert 1er
4-Bit Messwert 0,1er
4-Bit Messwert 10er
4-Bit Messwert 1er
4-Bit Prüfsumme

Das Paritätsbit wird über die 3 Nibbles des Messwertes gebildet.
Die Prüfsumme ist der 4-Bit Rest der Summe aller Nibbles.


Datenpacket : A0 D1 58 35 85

583 = 0101 1000 0011   > Parität = 1
A+0+D+1+5+8+3+5+8 = 35 > Prüsumme = 5


Datenpacket : A0 D0 60 06 03

600 = 0110 0000 0000   > Parität = 0
A+0+D+0+6+0+0+6+0 = 23 > Prüfsumme = 3


Gruß Thomas

Autor: Dirk K (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Thomas,

vielen Dank für Deine ausführliche Hilfe. Jetzt funktioniert es. Ich
habe mir schon fast gedacht, daß die letzten 4 Bits eine Prüfsumme
sind. Ich hatte das Parität-Bit für Teil der Prüfsumme gehalten, also 5
Bit Prüfsumme und bin dann nicht weiter gekommen.

Gruß Dirk

Autor: Dirk K__ (dirk_k)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich habe ein Funkthermometer von der Fa. Mebus. Bisher habe ich
folgendes herausgefunden:
Übertragung
- 433Mhz, AM
- Es werden 36 Bits übertragen,
- 0.5ms High und 4ms Low ==> Bit 1
- 0.5ms High und 2ms Low ==> Bit 0

Codierung
Bits 1-4 Adresse ???
Bits 5-6 wahrscheinlich die Kanalschalterstellung
Bits 7-12 ????
Bits 13-24 Temperatur (LSB zuerst) ==> Temperatur = 12BitWert/10
Bits 25-28 1 Stelle der Luftfeuchte (LSB zuerst)
Bits 29-32 10 Stelle der Luftfeucht (LSB zuerst)
Bits 33-36 Prüfsumme = 15 - (Summe der 4 Nibbles)

Wenn die Bits 1-4 und 7-12 nicht geändert werden, kann man jede
beliebige Temperatur und Luftfeuchte senden. Der Empfänger zeigt
übrigens sofort an.
Weiß jemand näheres über die Bits 1-4 und 7-12??

Gruß Dirk

Autor: Dirk K (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

weiß niemand etwas über die Bits?

Gruß Dirk

Autor: Joe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Dirk,

bin gerade an Mebus-kompatiblen Sendern dran.

Du schreibst die Prüfsumme ist die Summe von vier Nibbles. Welche meinst 
Du damit?

Bits 5 bis 6 sind definitiv die Kanalnummern (ab 1 losgezählt).

Vor dem Datenrahmen gibt es noch eine SYNC-Sequenz, die wie ein HI-Bit 
aussieht, nur mit ca. 9ms deutlich länger ist.

Autor: Dirk K__ (dirk_k)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

was ich da mal geschrieben habe, verstehe ich heute selber nicht mehr, 
naja nach 4,5Jahren wahrscheinlich normal, aber es müßte so gehen:

LSB vorne, Beipiel an der ersten Zeile mit -8.6°C und 45%Luftfeuchte:

1)Nibble: 7
2)Nibble: 14
3)Nibble: 12
4)        10
5)        10
6)        15
7)         5
8)         4
9)         2 Prüfsumme
--> Summe = 77
Nur die untersten 4 Bit --> 77 & 15 = 13
dann, 15 - 13 = 2 = Prüfsumme


Nochmal bei 43,2°C und 20%
1)Nibble: 7
2)Nibble: 14
3)Nibble: 12
4)         0
5)        11
6)         1
7)         0
8)         2
9)         0 Prüfsumme
--> Summe = 47
Nur die untersten 4 Bit --> 47 & 15 = 15
dann, 15 - 15 = 0 = Prüfsumme

Temperatur = (0 +11*16 + 1*256) / 10 = 43,2
Luftfeuchte =  0*1 + 2 *10 = 20

Bits 1-4 Adresse ???
Bits 5-6 wahrscheinlich die Kanalschalterstellung
Bits 7-12 ????

Die 5-6 waren die Kanalschalterstellung, aber 1-4 und 7-12 haben sich 
immer verändert, wenn man den Kanal ändert. Ich habe die Bedeutung der 
Bits nie klären können. Vielleicht postet du mal die Bedeutung.

Ich habe mir die Bits aufgeschrieben und dann einfach mit gesendet bzw. 
beim Empfang ignoriert. Das hat ca. 4 Jahre in einer Heizungssteuerung 
funktioniert. Die Regelparameter konnte ich dann im Thermometer im 
Wohnzimmer auf den Kanälen 2 und 3 abfragen.

Anbei noch ein Auszug aus dem Programm für den Sendestream (nicht als 
Beispiel für gute Programmierung gedacht)

Gruß Dirk

Autor: ein Lesender (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wird bei den nur-Temperatur-Sensoren nicht manchmal (oder gar immer?) 
noch ein Batterie-Zustands-Bit mitgesendet?

Also ein Bit, womit die Wetterstation dann ein Battterie-ist-leer Symbol 
anzeigt?

Die H*g*r Bar 888 vom Sperrmüll macht das jedenfalls.
Ohne zu wissen, ob die Anzeige "Batterie leer" stimmt.
Ich empfange nur anderen ihre Funksensoren ;-)

n8

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.