Funk-wetterstations-protokoll: Unterschied zwischen den Versionen
Kiwi (Diskussion | Beiträge) |
Kiwi (Diskussion | Beiträge) K (anpassung links) |
||
(29 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt) | |||
Zeile 3: | Zeile 3: | ||
<br> | <br> | ||
Funk Wetterstation:<br> | Funk Wetterstation:<br> | ||
− | http:// | + | nicht länger im Handel |
+ | <br> | ||
+ | Bilder:<br> | ||
+ | [http://gallery.keyb.de/index.php/Elektronik/Funk-Wetter-Stationen/im000842 Vorderseite, Ausgeschaltet]<br> | ||
+ | [http://gallery.keyb.de/index.php/Elektronik/Funk-Wetter-Stationen/im000857 Vorderseite, Eingeschaltet]<br> | ||
+ | [http://gallery.keyb.de/index.php/Elektronik/Funk-Wetter-Stationen/im000844 Hinterseite]<br> | ||
+ | [http://gallery.keyb.de/index.php/Elektronik/Funk-Wetter-Stationen/im000840 Innen Ansicht]<br> | ||
<br> | <br> | ||
Aussensensor mit Temperatur und Luftfeuchtigkeits Messung:<br> | Aussensensor mit Temperatur und Luftfeuchtigkeits Messung:<br> | ||
http://www.produktservice.info/shop/index.aspx?view=3&product_id=37<br> | http://www.produktservice.info/shop/index.aspx?view=3&product_id=37<br> | ||
− | + | Preis 7,50 Euro<br> | |
+ | Bilder:<br> | ||
+ | [http://gallery.keyb.de/index.php/Elektronik/Funk-Wetter-Stationen/im000846 Vorderseite]<<br> | ||
+ | [http://gallery.keyb.de/index.php/Elektronik/Funk-Wetter-Stationen/im000847 Hinterseite Geschlossen]<<br> | ||
+ | [http://gallery.keyb.de/index.php/Elektronik/Funk-Wetter-Stationen/im000848 Hinterseite Batteriefach Offen]<<br> | ||
+ | [http://gallery.keyb.de/index.php/Elektronik/Funk-Wetter-Stationen/im000849 Innen Ansicht, Übersicht]<<br> | ||
+ | [http://gallery.keyb.de/index.php/Elektronik/Funk-Wetter-Stationen/im000854 Innen Ansicht, Prozessor Platine]<<br> | ||
+ | [http://gallery.keyb.de/index.php/Elektronik/Funk-Wetter-Stationen/im000855 Innen Ansicht, Sende Platine]<br> | ||
+ | [http://gallery.keyb.de/index.php/Elektronik/Funk-Wetter-Stationen/im000856 Innen Ansicht, Temp und Feuchte Sensor]<br> | ||
<br> | <br> | ||
Der Aussensensor übermittelt die daten über funk, mittels 433 Mhz,<br> | Der Aussensensor übermittelt die daten über funk, mittels 433 Mhz,<br> | ||
− | Jeweils alle ca. 5 minuten, | + | Jeweils alle ca. 5 minuten, 5 bis 7 gleiche Sequenzen.<br> |
+ | Sobald sich ein wert geändert hat, wird dieser auch vorzeitig übermittelt. | ||
an einer wetter basis können maximal 3 Aussensensoren erkannt werden.<br> | an einer wetter basis können maximal 3 Aussensensoren erkannt werden.<br> | ||
<br> | <br> | ||
+ | Protokoll Analyse:<br> | ||
<br> | <br> | ||
− | + | Aufbau Aussensensor Aufgeschraubt, Entfernung funk modul, Sende signal "Aufnahme"/Dekodierung mittels PC mit Seriellem port und Lirc Software.<br> | |
+ | Aufzeichnung mit mode2 binary, umleitung in eine datei.<br> | ||
+ | <br> | ||
+ | Analysierte Daten:<br> | ||
{| border="1" | {| border="1" | ||
| Bit Signal | | Bit Signal | ||
Zeile 55: | Zeile 74: | ||
|- | |- | ||
| | | | ||
+ | | R | ||
+ | | R | ||
+ | | R | ||
+ | | R | ||
| C | | C | ||
| C | | C | ||
− | | | + | | B |
− | | | + | | B |
− | | | + | | ? |
− | | | + | | ? |
− | | | + | | ? |
− | | | + | | S |
− | |||
− | |||
− | |||
− | |||
| te | | te | ||
| te | | te | ||
Zeile 125: | Zeile 144: | ||
| 40 | | 40 | ||
| 80 | | 80 | ||
− | | | + | | |
− | | | + | | |
− | | | + | | |
− | | | + | | |
|- | |- | ||
| Bit Mess. | | Bit Mess. | ||
Zeile 168: | Zeile 187: | ||
| | | | ||
|} | |} | ||
− | <br> | + | |
− | C = Kanal<br> | + | R = Random (Zufallszahl wird beim Einschalten des Senders erzeugt)<br> |
− | + | C = Kanal, 01=Kanal1, 10=Kanal2, 11=Kanal3<br> | |
− | L = | + | B = Batterie Status<br> |
+ | ? = tieferer sinn noch nicht bekannt, eventuell Random ?<br> | ||
+ | S = "Sonder Telegramm" (L = regulaeres Daten packet, immer im gleichen zeitabstand) / (H = Manuell getriggertes Datenpacket durch druecken der senden Taste)<br> | ||
te = Temperatur ~ -51,2 bis +65,5 Max Illegal = -76,8 und +127,9<br> | te = Temperatur ~ -51,2 bis +65,5 Max Illegal = -76,8 und +127,9<br> | ||
lu = Luftfeuchtigkeit 20-99<br> | lu = Luftfeuchtigkeit 20-99<br> | ||
crc = CRC Checksumme<br> | crc = CRC Checksumme<br> | ||
<br> | <br> | ||
+ | <source lang="text"> | ||
+ | Bit 12 = "Sonder Telegramm Sendung"<br> | ||
+ | L = regulaeres Daten packet, immer im gleichen zeitabstand<br> | ||
+ | H = Manuell getriggertes Datenpacket durch druecken der senden Taste<br> | ||
+ | </source> | ||
+ | <br> | ||
+ | Protokoll Aufbau:<br> | ||
+ | <br> | ||
+ | Bit Selektion mittels Zeitspannen monuladion des Ausbleibenden traeger signals.<br> | ||
+ | mittels Zeitspannen monuladion des Traegers wird zwichen normale Bits (440 bis 519us) und einer<br> | ||
+ | unvollstaendigen uebertragung unterschieden (360 bis 369us).<br> | ||
+ | Datenblock Start Uebertragungs ankuendigung durch traeger pause von 8890 bis 8939us.<br> | ||
+ | Logisch "1" Pegel Endspricht einer traeer pause von 3990us bis 4059us<br> | ||
+ | Logisch "0" Pegel Endspricht einer traeer pause von 1920us bis 1999us<br> | ||
+ | Der Datenblock ende wird mittels leicht Verlaengertem "0" oder "1" Pegel angekuendigt,<br> | ||
+ | die Letes Bit "0" Pegel endspricht einer traeger pause von 2060 bis 2089us,<br> | ||
+ | sowie Letzes Bit "1" Pegel endspricht einer traeger pause von 4130 bis 4169us.<br> | ||
+ | Jeder Gueltige Datenblock besteht aus 37 Traeger Pulsen, und somit 36 Bits.<br> | ||
+ | um funkstoerungen aus zu gleichen, wird jeder Datenblock innerhalb eines telegrams, 7 bis 9 mal wiederholt.<br> | ||
+ | <br> | ||
+ | <br> | ||
+ | === Linux shell Script für eigene Daten Auswertung/Aufbereitung === | ||
+ | <source lang="bash"> | ||
+ | cat - | | ||
+ | while read Line1 ; do echo $Line1 | | ||
+ | sed 's/p.*\ 4[456789][0-9]$/_/' | # "_" pulse 440us bis 519us | ||
+ | sed 's/p.*\ 5[01][0-9]$/_/' | # | ||
+ | sed 's/p.*\ 36[0-9]$/End-/' | # "End-" pulse 360us bis 369us | ||
+ | sed 's/s.*\ 89[01][0-9]$/Start/' | # "Start" space 8890us bis 8939us | ||
+ | sed 's/s.*\ 88[9][0-9]$/Start/' | # | ||
+ | sed 's/s.*\ 19[23456789][0-9]$/L/' | # "L" space 1920us bis 1999us | ||
+ | sed 's/s.*\ 40[01234][0-9]$/H/' | # "H" space 3990us bis 4049us | ||
+ | sed 's/s.*\ 399[0-9]$/H/' | # | ||
+ | sed 's/s.*\ 20[678][0-9]$/End-l\\\\n/' | # "End-l" space 2060us bis 2089us | ||
+ | sed 's/s.*\ 41[3456][0-9]$/End-h\\\\n/' | # "End-h" space 4130us bis 4169us | ||
+ | sed 's/s.*\ 16777215$/Pause/' # "Pause" | ||
+ | done | | ||
+ | while read Line2 ; do | ||
+ | if [ "$Line2" = "Pause" ] ; then | ||
+ | echo -en "\n$Line2\n" | ||
+ | |||
+ | else | ||
+ | echo -en "$Line2" | ||
+ | fi | ||
+ | done | ||
+ | </source><br> | ||
+ | <br> | ||
+ | === Beispiel Ausgaben des Scripts === | ||
+ | <source lang="text"> | ||
+ | Sensor Geschaltet auf Kanal 1 | ||
+ | Pause | ||
+ | _Start_H_L_L_L_L_H_H_H_L_L_L_L_L_H_L_H_L_L_L_L_H_L_L_L_L_L_L_L_L_L_H_L_H_L_L_End-low | ||
+ | _Start_H_L_L_L_L_H_H_H_L_L_L_L_L_H_L_H_L_L_L_L_H_L_L_L_L_L_L_L_L_L_H_L_H_L_L_End-low | ||
+ | _Start_H_L_L_L_L_H_H_H_L_L_L_L_L_H_L_H_L_L_L_L_H_L_L_L_L_L_L_L_L_L_H_L_H_L_L_End-low | ||
+ | _Start_H_L_L_L_L_H_H_H_L_L_L_L_L_H_L_H_L_L_L_L_H_L_L_L_L_L_L_L_L_L_H_L_H_L_L_End-low | ||
+ | _Start_H_L_L_L_L_H_H_H_L_L_L_L_L_H_L_H_L_L_L_L_H_L_L_L_L_L_L_L_L_L_H_L_H_L_L_End-low | ||
+ | _Start_H_L_L_L_L_H_H_H_L_L_L_L_L_H_L_H_L_L_L_L_H_L_L_L_L_L_L_L_L_L_H_L_H_L_L_End-low | ||
+ | _Start_H_L_L_L_L_H_H_H_L_L_L_L_L_H_L_H_L_L_L_L_H_L_L_L_L_L_L_L_L_L_H_L_H_L_L_End-low | ||
+ | _Start_H_L_L_L_L_H_H_H_L_L_L_L_L_H_L_H_L_L_L_L_H_L_L_L_L_L_L_L_L_L_H_L_H_L_L_End-low | ||
+ | _Start_H_L_L_L_L_H_H_H_L_L_L_L_L_H_L_H_L_LEnd- | ||
+ | Pause | ||
+ | _Start_H_L_L_L_L_H_H_H_L_L_L_L_L_H_L_H_L_L_L_L_H_L_L_L_H_L_L_H_H_H_L_L_H_L_L_End-high | ||
+ | _Start_H_L_L_L_L_H_H_H_L_L_L_L_L_H_L_H_L_L_L_L_H_L_L_L_H_L_L_H_H_H_L_L_H_L_L_End-high | ||
+ | _Start_H_L_L_L_L_H_H_H_L_L_L_L_L_H_L_H_L_L_L_L_H_L_L_L_H_L_L_H_H_H_L_L_H_L_L_End-high | ||
+ | _Start_H_L_L_L_L_H_H_H_L_L_L_L_L_H_L_H_L_L_L_L_H_L_L_L_H_L_L_H_H_H_L_L_H_L_L_End-high | ||
+ | _Start_H_L_L_L_L_H_H_H_L_L_L_L_L_H_L_H_L_L_L_L_H_L_L_L_H_L_L_H_H_H_L_L_H_L_L_End-high | ||
+ | _Start_H_L_L_L_L_H_H_H_L_L_L_L_L_H_L_H_L_L_L_L_H_L_L_L_H_L_L_H_H_H_L_L_H_L_L_End-high | ||
+ | _Start_H_L_L_L_L_H_H_H_L_L_L_L_L_H_L_H_L_L_L_L_H_L_L_L_H_L_L_H_H_H_L_L_H_L_L_End-high | ||
+ | _Start_H_L_L_L_L_H_H_H_L_L_L_L_L_H_L_H_L_L_L_L_H_L_L_L_H_L_L_H_H_H_L_L_H_L_L_End-high | ||
+ | _StartEnd- | ||
+ | Pause | ||
+ | </source> | ||
+ | <br> | ||
+ | <br> | ||
+ | Mein Test-Aufbau für die analyse des Protokolls: | ||
+ | |||
+ | <gallery> | ||
+ | Bild:Cimg2386_1024x768.jpg | ||
+ | Bild:Cimg2388_1024x768.jpg | ||
+ | Bild:Cimg2390_1024x768.jpg | ||
+ | </gallery> | ||
+ | |||
+ | |||
+ | Analyse Programm:<br> | ||
+ | http://www.ethersex.de/index.php/Funk_wetterstations_Analyse_Programm<br> | ||
+ | <br> | ||
+ | <br> | ||
+ | <br> | ||
+ | Kleines Beispiel Programm, vor einigen jahren für einen PIC16F877 Geschrieben.<br> | ||
+ | http://www.keyb.de/pic/pic16f877_temp_sensor_daten_auswerten_und_8bit_lcd_v01.asm<br> | ||
+ | unveränderter BETA status 02.11.2007.<br> | ||
+ | <br> | ||
+ | <br> | ||
+ | Noch was techniches, Betriebsspannung 3 V, ca. 14 uA<br> | ||
+ | <br> | ||
+ | <br> | ||
+ | Rückfragen: (Michael Schultz) ethersex [at] keyb [dot] de<br> | ||
+ | <br> | ||
+ | <br> | ||
+ | Hier noch eine Weitere Funk-Wetterstation:<br> | ||
+ | http://www.ethersex.de/index.php/Auriol<br> | ||
<br> | <br> | ||
+ | [[Category:Ethersex]] |
Aktuelle Version vom 5. Februar 2011, 09:08 Uhr
Protokoll Analyse der Funk Wetterstation der Firma Krippl Watches GmbH
Verkauft bei Aldi
Funk Wetterstation:
nicht länger im Handel
Bilder:
Vorderseite, Ausgeschaltet
Vorderseite, Eingeschaltet
Hinterseite
Innen Ansicht
Aussensensor mit Temperatur und Luftfeuchtigkeits Messung:
http://www.produktservice.info/shop/index.aspx?view=3&product_id=37
Preis 7,50 Euro
Bilder:
Vorderseite<
Hinterseite Geschlossen<
Hinterseite Batteriefach Offen<
Innen Ansicht, Übersicht<
Innen Ansicht, Prozessor Platine<
Innen Ansicht, Sende Platine
Innen Ansicht, Temp und Feuchte Sensor
Der Aussensensor übermittelt die daten über funk, mittels 433 Mhz,
Jeweils alle ca. 5 minuten, 5 bis 7 gleiche Sequenzen.
Sobald sich ein wert geändert hat, wird dieser auch vorzeitig übermittelt.
an einer wetter basis können maximal 3 Aussensensoren erkannt werden.
Protokoll Analyse:
Aufbau Aussensensor Aufgeschraubt, Entfernung funk modul, Sende signal "Aufnahme"/Dekodierung mittels PC mit Seriellem port und Lirc Software.
Aufzeichnung mit mode2 binary, umleitung in eine datei.
Analysierte Daten:
Bit Signal | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 |
R | R | R | R | C | C | B | B | ? | ? | ? | S | te | te | te | te | te | te | te | te | te | te | te | te | lu | lu | lu | lu | lu | lu | lu | lu | crc | crc | crc | crc | |
wertigkeit | 0,1 | 0,2 | 0,4 | 0,8 | 1,6 | 3,2 | 6,4 | 12,8 | 25,6 | 51,2 | 102,4 | negativ | 1 | 2 | 4 | 8 | 10 | 20 | 40 | 80 | ||||||||||||||||
Bit Mess. | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
R = Random (Zufallszahl wird beim Einschalten des Senders erzeugt)
C = Kanal, 01=Kanal1, 10=Kanal2, 11=Kanal3
B = Batterie Status
? = tieferer sinn noch nicht bekannt, eventuell Random ?
S = "Sonder Telegramm" (L = regulaeres Daten packet, immer im gleichen zeitabstand) / (H = Manuell getriggertes Datenpacket durch druecken der senden Taste)
te = Temperatur ~ -51,2 bis +65,5 Max Illegal = -76,8 und +127,9
lu = Luftfeuchtigkeit 20-99
crc = CRC Checksumme
Bit 12 = "Sonder Telegramm Sendung"<br>
L = regulaeres Daten packet, immer im gleichen zeitabstand<br>
H = Manuell getriggertes Datenpacket durch druecken der senden Taste<br>
Protokoll Aufbau:
Bit Selektion mittels Zeitspannen monuladion des Ausbleibenden traeger signals.
mittels Zeitspannen monuladion des Traegers wird zwichen normale Bits (440 bis 519us) und einer
unvollstaendigen uebertragung unterschieden (360 bis 369us).
Datenblock Start Uebertragungs ankuendigung durch traeger pause von 8890 bis 8939us.
Logisch "1" Pegel Endspricht einer traeer pause von 3990us bis 4059us
Logisch "0" Pegel Endspricht einer traeer pause von 1920us bis 1999us
Der Datenblock ende wird mittels leicht Verlaengertem "0" oder "1" Pegel angekuendigt,
die Letes Bit "0" Pegel endspricht einer traeger pause von 2060 bis 2089us,
sowie Letzes Bit "1" Pegel endspricht einer traeger pause von 4130 bis 4169us.
Jeder Gueltige Datenblock besteht aus 37 Traeger Pulsen, und somit 36 Bits.
um funkstoerungen aus zu gleichen, wird jeder Datenblock innerhalb eines telegrams, 7 bis 9 mal wiederholt.
Linux shell Script für eigene Daten Auswertung/Aufbereitung
cat - |
while read Line1 ; do echo $Line1 |
sed 's/p.*\ 4[456789][0-9]$/_/' | # "_" pulse 440us bis 519us
sed 's/p.*\ 5[01][0-9]$/_/' | #
sed 's/p.*\ 36[0-9]$/End-/' | # "End-" pulse 360us bis 369us
sed 's/s.*\ 89[01][0-9]$/Start/' | # "Start" space 8890us bis 8939us
sed 's/s.*\ 88[9][0-9]$/Start/' | #
sed 's/s.*\ 19[23456789][0-9]$/L/' | # "L" space 1920us bis 1999us
sed 's/s.*\ 40[01234][0-9]$/H/' | # "H" space 3990us bis 4049us
sed 's/s.*\ 399[0-9]$/H/' | #
sed 's/s.*\ 20[678][0-9]$/End-l\\\\n/' | # "End-l" space 2060us bis 2089us
sed 's/s.*\ 41[3456][0-9]$/End-h\\\\n/' | # "End-h" space 4130us bis 4169us
sed 's/s.*\ 16777215$/Pause/' # "Pause"
done |
while read Line2 ; do
if [ "$Line2" = "Pause" ] ; then
echo -en "\n$Line2\n"
else
echo -en "$Line2"
fi
done
Beispiel Ausgaben des Scripts
Sensor Geschaltet auf Kanal 1
Pause
_Start_H_L_L_L_L_H_H_H_L_L_L_L_L_H_L_H_L_L_L_L_H_L_L_L_L_L_L_L_L_L_H_L_H_L_L_End-low
_Start_H_L_L_L_L_H_H_H_L_L_L_L_L_H_L_H_L_L_L_L_H_L_L_L_L_L_L_L_L_L_H_L_H_L_L_End-low
_Start_H_L_L_L_L_H_H_H_L_L_L_L_L_H_L_H_L_L_L_L_H_L_L_L_L_L_L_L_L_L_H_L_H_L_L_End-low
_Start_H_L_L_L_L_H_H_H_L_L_L_L_L_H_L_H_L_L_L_L_H_L_L_L_L_L_L_L_L_L_H_L_H_L_L_End-low
_Start_H_L_L_L_L_H_H_H_L_L_L_L_L_H_L_H_L_L_L_L_H_L_L_L_L_L_L_L_L_L_H_L_H_L_L_End-low
_Start_H_L_L_L_L_H_H_H_L_L_L_L_L_H_L_H_L_L_L_L_H_L_L_L_L_L_L_L_L_L_H_L_H_L_L_End-low
_Start_H_L_L_L_L_H_H_H_L_L_L_L_L_H_L_H_L_L_L_L_H_L_L_L_L_L_L_L_L_L_H_L_H_L_L_End-low
_Start_H_L_L_L_L_H_H_H_L_L_L_L_L_H_L_H_L_L_L_L_H_L_L_L_L_L_L_L_L_L_H_L_H_L_L_End-low
_Start_H_L_L_L_L_H_H_H_L_L_L_L_L_H_L_H_L_LEnd-
Pause
_Start_H_L_L_L_L_H_H_H_L_L_L_L_L_H_L_H_L_L_L_L_H_L_L_L_H_L_L_H_H_H_L_L_H_L_L_End-high
_Start_H_L_L_L_L_H_H_H_L_L_L_L_L_H_L_H_L_L_L_L_H_L_L_L_H_L_L_H_H_H_L_L_H_L_L_End-high
_Start_H_L_L_L_L_H_H_H_L_L_L_L_L_H_L_H_L_L_L_L_H_L_L_L_H_L_L_H_H_H_L_L_H_L_L_End-high
_Start_H_L_L_L_L_H_H_H_L_L_L_L_L_H_L_H_L_L_L_L_H_L_L_L_H_L_L_H_H_H_L_L_H_L_L_End-high
_Start_H_L_L_L_L_H_H_H_L_L_L_L_L_H_L_H_L_L_L_L_H_L_L_L_H_L_L_H_H_H_L_L_H_L_L_End-high
_Start_H_L_L_L_L_H_H_H_L_L_L_L_L_H_L_H_L_L_L_L_H_L_L_L_H_L_L_H_H_H_L_L_H_L_L_End-high
_Start_H_L_L_L_L_H_H_H_L_L_L_L_L_H_L_H_L_L_L_L_H_L_L_L_H_L_L_H_H_H_L_L_H_L_L_End-high
_Start_H_L_L_L_L_H_H_H_L_L_L_L_L_H_L_H_L_L_L_L_H_L_L_L_H_L_L_H_H_H_L_L_H_L_L_End-high
_StartEnd-
Pause
Mein Test-Aufbau für die analyse des Protokolls:
Analyse Programm:
http://www.ethersex.de/index.php/Funk_wetterstations_Analyse_Programm
Kleines Beispiel Programm, vor einigen jahren für einen PIC16F877 Geschrieben.
http://www.keyb.de/pic/pic16f877_temp_sensor_daten_auswerten_und_8bit_lcd_v01.asm
unveränderter BETA status 02.11.2007.
Noch was techniches, Betriebsspannung 3 V, ca. 14 uA
Rückfragen: (Michael Schultz) ethersex [at] keyb [dot] de
Hier noch eine Weitere Funk-Wetterstation:
http://www.ethersex.de/index.php/Auriol