marco.markl
-
Gesamte Inhalte
7 -
Benutzer seit
-
Letzter Besuch
Posts erstellt von marco.markl
-
-
Hallo!
Nachdem in unserer Garage eine Wildkatze eingezogen ist und es langsam immer kälter wird, hat meine Frau den Wunsch nach einer automatischen Heizdecke kundgetan.
Mein erster Gedanke mittels eines klassischen Bewegungsmelder die Heizdecke einzuschalten, scheiterte an der maximalen Einschaltdauer dieser Geräte. Diese liegt meistens bei max. 30 Minuten.
Somit habe ich in meiner Bastelkiste etwas gekramt ...
HotCat
- Raspberry Pi
- Master Brick
- PTC Bricklet
- Solid State Relay Bricklet (Heizdecke ein/aus)
- Industrial Quad Relay Bricklet (Heizdecke Temperatursteuerung)
- Motion Detector Bricklet
- Heizdecke für Kleintiere mit Temperatur Steuerung
- Verteilerbox
- Steuerungssoftware in Python realisiert
Je nach Temperatur, Uhrzeit und selbstverständlich Bewegung schaltet sich die Heizdecke für 2 Stunden ein. Eine neuerliche Bewegung verlängert die Einschaltdauer.
Liebe Grüße
Marco
P.S.: Eigentlich wollte ich Bilder als Attachments hinzufügen, aber obwohl die Dateigröße passt und es sich um JPG handelt, wird mir der Upload immer mit einer Fehlermeldung abgebrochen.
- Raspberry Pi
-
Danke! Funktioniert und ist sicherlich die elegantere Lösung
-
Hallo!
Bei meinem aktuellen Projekt ermittle ich die jeweiligen UIDs erst zur Laufzeit mittels
ipcon.register_callback(IPConnection.CALLBACK_ENUMERATE, cb_enumerate) ipcon.enumerate()
Anschließend setze ich z.B. für einen Temperature Bricklet einen Callback
device = BrickletTemperature(uid, ipcon) device.register_callback(BrickletTemperature.CALLBACK_TEMPERATURE, cb_temperature) device.set_temperature_callback_period(1000)
Habe ich eine beliebige Anzahl an Temperature Bricklets im Stack und setze immer die selbe Callback Funktion, funktioniert das zwar, aber ich habe keine Information über den Bricklet der gerade auslöst.
Meine Lösung: Man leitet eine eigene Klasse von IPConnection ab und überschreibt die Methode .dispatch_packet mit einem angepassten Code.
class MyIPConnection(IPConnection): def dispatch_packet(self, packet): ... if function_id in device.registered_callbacks: cb = device.registered_callbacks[function_id] form = device.callback_formats[function_id] if len(form) == 0: cb(uid) elif len(form) == 1: cb(uid, self.deserialize_data(payload, form)) else: cb(uid, *self.deserialize_data(payload, form))
def cb_temperature(uid, temperature): print(uid) print(str(temperature))
Aber vielleicht gibt es eine elegantere Variante?
Liebe Grüße
Marco
-
Danke für deine Antwort!
Du würdest also den Wert von get_humidity() heranziehen und nicht den Wert von get_analog_value()?
Marco
-
Hallo!
Ich betreibe u.a. ein Humidity und ein Temperature Bricklet im Freien. In der Dokumentation findet man folgenden Hinweis
Der von get_humidity() zurückgegebene Wert ist über mehrere Messwerte gemittelt um das Rauschen zu vermindern, während get_analog_value() unverarbeitete Analogwerte zurück gibt. Der zurückgegebene Luftfeuchtigkeitswert ist auf Raumtemperatur kalibriert, d.h. wenn der Sensor in sehr kalten oder warmen Umgebungen verwendet wird, ist es ratsam den Luftfeuchtigkeitswert direkt aus den Analogwerten zu berechnen. Siehe hierzu das HIH 5030 Datenblatt.Im Datenblatt findet man diese Formel
Temperature compensation: True RH = (Sensor RH)/(1.0546 - 0.00216T), T in °CDen Analogwert und die Temperatur habe ich, aber wie programmiere ich "0.00216T" in Python (oder andere)?
Marco
-
Hallo!
Basierend auf dieser Bauanleitung
habe ich mir einen (Sonnen-) Strahlungsschutz - ergänzt um ein paar Bricklets - gebaut.
Verbaut wurde
2x Master Brick
1x WIFI 2.0 Master Extension
1x Step Down Stromversorgung
1x Temperature Bricklet
1x Humidity Bricklet
1x Barometer Bricklet
Geplant ist:
1x Ambient Light Bricklet 2.0
1x UV Light Bricklet
(Für Verbauungsvorschläge habe ich ein offenes Ohr ...)
Grüße aus Österreich
Marco
Verkauf von Bricks/Bricklets
in Allgemeine Diskussionen
Geschrieben
Ich verkaufe hiermit folgende fast neuwertige und voll funktionstüchtige Bricks/Bricklets:
5x Ethernet Extension with PoE (1.0) á 25,00 Euro
1x WIFI Extension (2.0) á 15,00 Euro
2x Master (2.1) á 13,00 Euro
1x Power Supply Step Down (1.2) (1x grünen, 1x schwarzen Stecker) á 10,00 Euro
1x DC (ohne Stecker) á 22,00 Euro
3x Temperature (1.1) á 4,00 Euro
3x Humidity (1.1) á 8,00 Euro
1x Barometer (1.0) á 11,00 Euro
1x UV Light (1.0) á 6,00 Euro
5x Ambient Light (1.2) á 3,00 Euro
2x Moisture (1.1) á 6,00 Euro
3x PTC (1.0) inkl. PT100 á 16,00 Euro
1x PTC (1.0) ohne Fühler á 10,00 Euro
1x IO-4 (1.1) á 4,00 Euro
Versand erfolgt ausschließlich gegen Vorab-Überweisung.
Die Versandkosten für Österreich betragen 3,00 Euro, nach Deutschland 5,00 Euro und werden selbstverständlich nur pro Versand verrechnet.
Bei Interesse sendet bitte eine PM oder eine E-Mail an marco.markl (at) me.com