Funk-wetterstations-protokoll

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche

Protokoll Analyse der Funk Wetterstation der Firma Krippl Watches GmbH
Verkauft bei Aldi

Funk Wetterstation:
http://www.produktservice.info/shop/index.aspx?view=3&product_id=83
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, 3 gleiche Sequenzen.
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
C C C C C C C C C R R L 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

C = Kanal, Batt Status ?
R = Random ? ? ? selten änderung ? ? ?
L = Low Pegel ? ? ?
te = Temperatur ~ -51,2 bis +65,5 Max Illegal = -76,8 und +127,9
lu = Luftfeuchtigkeit 20-99
crc = CRC Checksumme

Linux shell Script für eigene Daten Auswertung/Aufbereitung

cat -                                                   |
    while read Line1 ; do echo $Line1                   |
        sed 's/p.*\ 36[0-9]$/End-/'                     |       #       End-            pulse  362us bis 368us
        sed 's/p.*\ 4[789][0-9]$/_/'                    |       #       _               pulse  474us bis 509us
        sed 's/p.*\ 5[0][0-9]$/_/'                      |       #
        sed 's/s.*\ 89[01][0-9]$/Start/'                |       #       Start           space 8908us bis 8914us
        sed 's/s.*\ 19[456][0-9]$/L/'                   |       #       L               space 1943us bis 1968us
        sed 's/s.*\ 40[123][0-9]$/H/'                   |       #       H               space 4015us bis 4038us
        sed 's/s.*\ 207[0-9]$/End-low\\\\n/'            |       #       End-low         space 2072us bis 2079us
        sed 's/s.*\ 41[45][0-9]$/End-high\\\\n/'        |       #       End-high        space 4148us bis 4155us
        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



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.


Rückfragen: (Michael Schultz) ethersex [at] keyb [dot] de