Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Wetterstation mit M2.0 einlesen Kategorie: C-Control I V1.2/2.0 (von Matz - 10.08.2007 13:24)
 Als Antwort auf Re: Wetterstation mit M2.0 einlesen von Ingo - 8.08.2007 22:53
Matz nutzt:  CC1-M-Unit V1.2/2.0
> > > Ich möchte Wetterdaten von der seriellen Schnittstelle meiner Wetterstation WS2300 einlesen und per SMS weitersenden. Das versenden von SMS mit dem Siemensmodul M20 ist kein Problem. Aber das einlesen der Daten von der Wetterstation wenn eine Reihe von bits daher kommen steigt mein Programmerl dabei aus. Wer kann mir dabei weiterhelfen wie ich die Daten flüssig übernehmen kann?
> >
> > Hallo,
> > ich hab eine WS 2000 und nutze die Daten von einigen Temperatursensoren für eine Steuerung mit einer C-Control I 2.0. Empfange die Daten mit dem „PC-Wettersensor Empfänger“ von ELV.
> > Lese die Daten über die serielle Schnittstelle ein.
> > Hier ein Auszug, nur Datenempfang und Aufbereitung der Temperatursensoren (Temperatur und Feuchte), aus meinem Programm zur Gewächshaussteuerung.
> >
> > Das Sendeprotokoll  besteht aus 8 bit (im Programm eins bis acht) im einzelnen sind:
> > Eins = Startsignal
> > Zwei = Adresse des Sensors
> > Drei = Zeigt an wie der Temperaturwert zu lesen ist
> > Vier = Wert Temperatur
> > Fuenf = Wert Luftfeuchtigkeit
> > Sechs, sieben, acht  = von mir nicht benutzt, ist wohl nur für Sensoren interessant die mehr als 2 Werte übertragen.
> > Negative Temperaturen können mit diesem Programm noch nicht dargestellt werden da ich in diesem Winter noch nicht die Zeit hatte mir das Sendeprotokoll in „Rohform“ anzusehen um herauszufinden wie der Wert „Drei“ ist wenn negative Temperaturen übertragen werden.
> >
> > print"#ON_LCD#";
> > print"#INIT#";
> > print"#CLR#";
> > print"#OFF#";
> > Baud 1 'Umstellung der Schnittstelle auf 19200
> > if Rxd then gosub empfang
> > print"#OFF#";
> >
> > #Empfang
> > 'Auslesen der empfangenen Daten von den Temperatursensoren
> > get eins:get zwei:get drei: get vier:get fuenf:get sechs:get sieben:get acht
> >
> > 'Startzeichen Abfragen
> > If (eins=&h2) then goto start
> > return
> >
> > #start
> > 'Sensor identifizieren
> > If (zwei=&h98) then gosub Gewaechshaus
> > return
> >
> > #Gewaechshaus
> > 'Temperaturwert für den jeweiligen Sensor aufbereiten
> > If (drei=&h80) then gosub Abzug
> > If (drei=&h81) then gosub kabzug
> > If (drei=&h82) then gosub plus
> > If (drei=&h83) then gosub plusplus
> >
> > 'Feuchte aufbereiten
> > feuchteinnen=fuenf and &h7F
> >
> > 'Temperatur mit Kommastelle aufbereiten
> > Tempinnen=wert/10
> > Tempinnenlo=wert mod 10
> > return
> >  
> >
> > 'Wert aufbereiten Funksensor wenn drei =128 ist
> > #Abzug
> > wert=(vier and &h7f)
> > return
> >
> > 'Wert aufbereiten Funksensor wenn drei =129 ist
> > #kabzug
> > wert=vier
> > return
> >
> > 'Wert aufbereiten Funksensor wenn drei =130 ist
> > #plus
> > wert=(vier and &h7f)+&h100
> > return
> >
> > 'Wert aufbereiten Funksensor wenn drei =131 ist
> > #plusplus
> > wert=(vier and &h7f)+&h180
> > return
> >
> >
> > 'Programmteil zur Anzeige der Messwerte auf dem LCD-Display 4*16
> >
> > #Innenwerte
> > print"#OFF#";
> > print"#ON_LCD#";
> > print"#CLR#";
> > print"#L101#";
> > Print "Innentemperatur"
> > print"#L201#";
> > print Tempinnen; 'AUSGABE GANZE Zahl
> > print"."; 'AUSGABE DEZIMALPUNKT
> > print Tempinnenlo; 'AUSGABE NACHKOMMA STELLEN
> > print" C";
> > print"#L117#";
> > Print "Innenfeuchte"
> > print"#L217#";
> > print feuchteinnen
> > print " %rH"
> > print"#OFF#";
> > gosub keydecode
> > If keycode=11 then goto Messwerte
> > pause 10
> > goto innenwerte
>
>
>
> >>Hallo Matz,
>
> könntest Du mir eine Liste deiner eingesetzten Hardware inkl. Beschreibung wie diese gekoppelt ist, schicken?
> Ich will nämlich eine ähnliche Anlage wie du bauen. Dabei soll es sich um eine Station handeln, die sobald sie einen Befehl (z.B. SMS oder DTMF-Signal) erhält die aktuelle Windrichtung und Windgeschwindigkeit als SMS sendet. Wäre sehr nett von dir, wenn du mir den Aufbau deiner Anlage beschreiben würdest.
>
> Gruß, Ingo
Hallo,
hier meine verwendete Hardware (alles ELV Komponenten) zunächst die Komponenten der Wetterstation:
Wetterstation WS 2200
Sensoren Temperatur AS2000 und S2001IA
Windsensor S 2000W1
Regensonsor S 2000R1
PC Wettersensor Empfänger (ELV Bestell Nr.:70-390-61)

Nun die Komponenten der C-Control:
Verarbeite die Messwerte mit einer C-Control 2.0 als Einbauset für diese C-Control muss man ein Schnittstellen/Programmiermodul RS232 (Conrad 198834-59) verwenden denn die Einbauversion hat keine eingebaute RS232 Schnittstelle, beim Application Board kann man den PC Wettersensor Empfänger direkt auf die dort vorhandene RS232 stecken.
Die im Programmierbeispiel aufgeführten Sensoradressen habe ich selbst ermittelt und zwar habe ich den PC Wettersensor Empfänger direkt auf die RS232 meines Laptops gesteckt und mit Hilfe von einem Terminalprogramm z.B. „COM Terminal“ die Datenpakete der Sensoren anzeigen lassen, diese dann mit Hilfe der angezeigten Werte meiner Wetterstation verglichen und so die Adressen der Sensoren herausgefunden.

Im vorher beschriebenen Programmbeispiel ist nur umgesetzt wie Werte von Temperatursensoren aufbereitet werden, was in diesem Beispiel noch nicht funktioniert ist die Anzeige von negativen Temperaturen (bei Wert drei=127 müsstest du dir noch eine entsprechende Syntax ausdenken) und Wind bzw. Regensensor habe ich noch nicht umgesetzt bzw. dekodiert.

Hmm, die Zeichnung des Hardwareaufbaus kann ich nicht in die Nachricht einfügen dir aber Mailen.
Nun viel Spaß beim Basteln, wenn du weitere fragen hast werde ich sie dir gerne beantworten.

 Antwort schreiben

Bisherige Antworten: