pl: PC Thermometer mit offener Schnittstelle

Moin;

der Test zur Remote-Steuerung meiner Heizung verläuft erstklassig. Über ein Backend im Browser, auf einem beliebigen Webserver kann ich meine Heizung fein abgestuft von 0.0, 0.1... 0.9, 1.0 steuern.

Ich möchte nun aus der Steuerung eine Regelung machen und suche hierzu ein Stück Hardware, was ich an meinen PC zuhause dranstecke und somit den aktuellen Ist-Wert der Temperatur bei jedem Request zum Sever schicken kann. Evntl. kann mir jemand diese wahnsinns Recherche abkürzen, so ein Teil zu suchen. Ob es °F oder °C liefert ist völlig Wurst, es sollte nur möglich sein, das Teil automatisiert abzufragen.

Viele Grüße!

  1. Hello,

    Da habe ich auch scho mal danach gesucht und musste dann feststellen, dass das System von One-Cable-Net für den kleinen Bastler am günstigsten ist, es sei denn, Du willst eine eigene Produktion aufmachen. Dann nimm einen billigen Minicomputer (RASPI o. ä.) für mehrere Schnittstellen. Den kannst Du dann per Ethernet abfragen.

    Liebe Grüße
    Tom S.

    --
    Die Krawatte ist das Kopftuch des Westens
    1. Hallo

      … es sei denn, Du willst eine eigene Produktion aufmachen. Dann nimm einen billigen Minicomputer (RASPI o. ä.) für mehrere Schnittstellen. Den kannst Du dann per Ethernet abfragen.

      Wenn es wirklich nur um die Annahme, Verarbeitung und den Versand von Messwerten geht, würde ich zu „o. ä.“ tendieren. Meiner Meinung nach ist ein Arduino (oder eine vergleichbare Hardware) dazu besser geeignet.

      Tschö, Auge

      --
      Wenn man ausreichende Vorsichtsmaßnahmen trifft, muss man keine Vorsichtsmaßnahmen mehr treffen.
      Toller Dampf voraus von Terry Pratchett
      1. Meiner Meinung nach ist ein Arduino (oder eine vergleichbare Hardware) dazu besser geeignet.

        Genau! Auch im Hinblick auf den Preis bieten sich Raspi, Arduino & Co an. Da gibt es für < 50€ ganze Sensorenkits. Hier mal ein Beispiel:

        { MCP3008 (Analog zu Digital Konverter), ­ Joystick, ­ Flammen Sensor, ­ RGB LED Modul, ­ Hall Sensor, ­ Relay, ­ Linearer Hall Sensor, ­ SMD RGB LED Modul, ­ Digitaler Temperatursensor, ­ Sound Sensor, ­ Touch Sensor, ­ 2 Farben LED 5mm Modul, ­ Bewegungssensor Modul, ­ Analoger Temperatursensor, ­ Kleiner Sound Sensor, ­ Alternativer Digital Temperatursensor, ­ 2 Farben LED 3mm Modul, ­ Button Modul, ­ Photowiderstand Modul, ­ IR Empfänger Modul, ­ Tracking Sensor, ­ Buzzer Modul, ­ Reed Schalter, ­ Schock Sensor, ­ Temperatur­ und Feuchtigkeitssensor, ­ IR Empfänger Modul, ­ Vermeidungssensor, ­ Passiver Buzzer Modul, ­ Kleiner Reed Schalter, ­ Drehschalter, ­ Analoger Hall Sensor, ­ Erschütterungssensor, ­ Wasser(stands) Sensor, ­ 2 x Physischer Bewegungssensor, }

        Das genannte Starterset ist mit 173 € deutlich wertvoller, kann aber nur Temperatur und Luftfeuchtigkeit messen. Einen solchen Sensor kann man einzeln günstiger haben.

        Freilich muss (oder: kann) man sich seine Anwendungen um den Sensor herum selbst programmieren. Dafür gibt es aber auch ein praktisches Relais-Board für wenig Geld.

    2. Hi danke für den Link!

      Es muss natürlich auch vom Preis her passen. Meine bisherige Hardware, eine Dose die 3.5 kW schalten kann und ein USB-Dongle (CUL) der das Ding per Funk schaltet, hat mich zusammen unter 10 € gekostet.

      Die Schnittstelle für den CUL hab ich in c programmiert, das Teil kann Gruppenschaltung und über 255*255*8 Geräte adressieren. Ebenso ist Pulsweitenmodulation bei mir eine reine Softwarelösung, geschaltet wird alle 10 min was jeder eHeizkörper hervorragend puffert.

      Na, ich werd' wohl noch ein bischen suchen müssen 😉

      Grüße an Alle, schönes Wochenende!

      1. Ich weiß schon, dass das deinen geplanten Scope sprengt, aber sollte eine ordentliche Heizungssteuerung nicht witterungsabhängig die Vorlauftemperatur regeln?

        Rolf

        1. Du meinst eine Störgrößenaufschaltung. Machbar ist alles.

          Btw., Suchbegriff USB Temper ... Dongles unter 10€ und Perl-Module gibt es dafür auch schon. Da gehts hin.

          MfG

          PS: Bei meiner letzten Wohnung hing der Außentemperaturfühler für die Heizung in der prallen Sonne. Da waren vielleicht Profis am Werk 😉

  2. Hello,

    Nachtrag: mit dem wollte ich es ausprobieren. Aber die max. Leitungslänge für USB ist für mich zu gering.

    Liebe Grüße
    Tom S.

    --
    Die Krawatte ist das Kopftuch des Westens
  3. Mahlzeit,

    http://www.pollin.de/shop/dt/NjI5OTgxOTk-/Bauelemente_Bauteile/Entwicklerboards/Sonstige_Boards/AVR_NET_IO_Fertigmodul.html

    Sowas nehme ich gerne her wenn ich Module zum Messen brauche. Ist als Bausatz noch günstiger und über den analogen Eingang kann ein Temperatursensor direkt angeschlossen werden.

    --
    42
    1. Hello,

      AVR-NET-IO

      Sowas nehme ich gerne her wenn ich Module zum Messen brauche. Ist als Bausatz noch günstiger und über den analogen Eingang kann ein Temperatursensor direkt angeschlossen werden.

      Dazu passt der Webserver

      Liebe Grüße
      Tom S.

      --
      Die Krawatte ist das Kopftuch des Westens
      1. Hi,

        z.Z. hab ich ein kleines Programm was beim Hochfahren meines PC gestartet wird: Bis 45 min nach dem Start läuft die Heizung volle Pulle (2kW), dann wird die Leistung per PWM auf 0.3 runtergefahren und läuft dann dauerhaft auf dieser Leistungsstufe.

        Hat sich in diesem Winter bestens bewährt 😉

        Wenn's Thermometer kommt, wird es ein geschlossener Regelkreis. Bis dahin überlege ich mir, wo der Knopf für die Sollwertvorgabe hinkommt -- entweder als Desktop- oder als Webanwendung oder Beides.

        my $P = 0.3;
        
        
        use strict;
        use warnings;
        use Shell qw(on off);
        
        # Adresse lernen, Dose war evntl. stromlos
        off();
        sleep(5);
        on();
        
        $| = 1;
        
        my $m = bless{ 
            fuse   => 1, 
            nr     => 0,
            power  => $P,
            period => 10,
            state  => '',
            sleep  => 60
        }, 'main';
        
        while(){
            my $state = $m->pwm;
        
            if( $state ne $m->{state} ){    
                if($state eq 'On'){ 
                    on() if $m->{fuse};
                    print "Set State to On\n";
                }
                else{ 
                    off() if $m->{fuse};
                    print "Set State to Off\n";
                }
            }
            
            $m->{state} = $state;
            
            print "$state\n";
            sleep($m->{sleep});
        }
        
        
        # Puls Weiten Modulation
        sub pwm{
            my $self   = shift;
            my $power  = $self->{power};
            my $period = $self->{period};
            my $nr     = $self->{nr};
            
            # Anheizen
            return 'On' if $nr < 60 * 45;
            
            $self->{nr}++;
        
            return 'On'  if $power == 1;
            return 'Off' if $power == 0;
            
            return ($nr % $period +1)/$period <= $power ? 'On' : 'Off';
        }
        

        MfG

        1. Hallo,

          … läuft die Heizung volle Pulle (2kW),

          ich muss jetzt mal nachfragen: du heizt elektrisch mit Tagstrom?

          Gruß
          Jürgen

          1. Hi Jürgen,

            ich muss jetzt mal nachfragen: du heizt elektrisch mit Tagstrom?

            Für den Heiz-Stromkreis habe ich einen extra Zähler/Tarif, also auch tagsüber. Und wenns mal ganz kalt wird, mach ich richtig Feuer 😉

            Das A+O bei einer eHeizung ist eine Regelung. Wenn ich in der guten Stube 22°C einstelle, sind die 3 Heizkörper mit je 1.5kW auch an kalten Tagen nur handwarm.

            Fürs Büro (2kW) brauch ich einen neuen Regler, daher die Eigenbau-Lösung. Diese Heizung wird eh nur gebraucht wenn ich am PC sitze.

            Schluss für heute 😉

  4. So!

    Ich hab jetzt so'n Teil 😉

    War ne schöne Viecherei, den Code zu entwickeln. Von Recherchen zu bisherigen Codes ähnlicher Bauteile über die Installation der Legacy-Software bis hin zum USBPcap / Wireshark.

    Mein Perl-Module mit weniger als 100 Zeilen dank LibUSB

    # USB Dongle TEMPer1F
    # The Dongle has Vendor ID 0x0C45 and Product ID 0x7401
    
    package Device::USB::TEMPer1F;
    

    demnächst auf CPAN. Was mir noch nicht ganz klar ist, die Sache mit der Kalibrierung. Wer da was weiß -- her damit 😉

    MfG

    1. WebTemp, aber die Sollwertvorgabe mach ich doch lieber im Lokal 😉

      Programmiertechnik: Der Istwert wird per HTTP/Cron jede Minute übertragen und serverseitig zwischengespeichert. MfG