31.01.2014

Da ich gerne mal auch selbst Hand anlege, bin ich gerade dabei ein Funk-basiertes Sensor-System aufzubauen.
Hardwarebasis ist von hier: http://nathan.chantrell.net/tinytx-wireless-sensor/
Empfang z.B. mit einem JeeLink. Die Firmware habe ich leicht angepasst, an einem FHEM-Modul bin ich gerade dran.
Temp/Feuchte (DHT22) läuft prototypmäßig schon jetzt.

Die Module sind recht günstig (ca. 10 Euro), sparsam und zuverlässig. WAF ist jedoch (im aktuellen Zustand) noch nicht wirklich gut ;)

Weiterhin in Planung: Luftdruck (BMP085), Licht (bh1750), Ultraschall-Distanz (hc-sr04), Bewegung, Bodenfeuchte, Regen etc.

Aber wie gesagt, das ist eher was für Bastler.

 

Vorerst ein Paar Bilder zu meinem aktuellen Projekt:

TinyTX Proto 01 k

TinyTX Proto 02 k

TinyTX Prg 01 k

TinyTX PCBs k

 

Der Prototyp läuft bereits und liefert Daten. Zum Testen habe ich daneben meinen Wandthermostat HM-CC-TC gelegt (untere Graphiken). So kann man die Werte gut miteinander vergleichen. Es zeigt sich, dass mein Tiny-Sensor wesentlich schneller reagiert und deutlich besser aufgelöste Daten liefert. Der Batterieverbrauch gibt allen Grund zum Optimismus ;)

TinyTX DHT22 Vergleich HM 01

 

TinyTX DHT22 Vergleich HM 02

 

05.03.2014

Outdoor-Prototyp (zusätzlich mit einem Lihtsensor, jedoch noch nicht in der Firmware implementiert)

TinyTX Proto Outdoor 01 k

 

Habe beide Prototypen daneben gelegt. Nach einer Weile waren die Module auf die gleiche Temperatur. Danach lagen auch die Luftfeuchtigkeitswerte sehr dich daneben.

TinyTX DHT22 Vergleich OutdoorProto 01

 

06.03.2014

Der Einsatztest im Garten war seht ernüchternd. Die Reichweite blieb unter allen Erwartungen zurück. Interessanterweise funktionierte mein erster Prototyp bei einer noch größerer Entfernung weiterhin einwandfrei.Das ist ein deutlicher Hinweis auf die Antenne, denn der Rest ist weitgehend baugleich. 

Irgendwo im Netz habe ich gelesen, dass ein Wendel mit einem Durchmesser von 6mm, Länge von 20mm und 9,5 Wicklungen eine gute Antenne für 868MHz wäre. Dies ist die Antenne von dem zweiten Gerät. Der Erste verwendet eine Lambda/4 Antenne (86mm). Kürzung der Antenne bei dem Zweiten hat den Empfang verbessert. Ich werde weiter testen...

 

31.07.2014

Mittlerweile laufen bei mir mehrere dieser Module. Sehr zufriedenstellend.

Zum Empfang der Werte benutze ich einen JeeLink mit einer leicht modifizierter Standard-Firmware:
https://raw.githubusercontent.com/hexenmeister/FHEM_Sensor/master/GSD_TRX/GSD_TRX.ino
(Da wird lediglich dafür gesorgt, dass ein Funk-Paket mit einem bestimmten Marker extra ausgezeichnet wird.)

Dann die Firmware für die Module. Ich habe welche für DHT22-Sensor.
https://raw.githubusercontent.com/hexenmeister/FHEM_Sensor/master/GSD_DHT22/GSD_DHT22.ino
Ist auch weitgehend die Version von Nathan.
Die Modul-Adressen im Sketch sind für jeden Sensor einzeln zu definieren:

#define myNodeID 01       // RF12 node ID in the range 1-30
#define network 210       // RF12 Network group
#define myUID 01          // device id

Network soll überall gleich sein (und auch am JeeLink), myNodeId kann für alle Sensoren gleich sein. myUID muss eindeutig sein.
Ich arbeite auch an Erweiterung für Licht- und anderen Sensoren, komme aber aus zeitgründen nicht wirklich dazu...

Und nun das FHEM-Modul:
https://raw.githubusercontent.com/hexenmeister/MyFHEM/master/FHEM/36_GSD.pm

Die FHEM-Konfiguration:
Der JeeLink benötigt zusätzliche Attribute zum Erkennen von GSD-Clients:

define myJeeLink JeeLink /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A702GA5B-if00-port0@57600
attr myJeeLink Clients :GSD
attr myJeeLink MatchList {'6:GSD' => '^GSD'}


Die Sensoren werden beim Empfang automatisch in FHEM angelegt und erzeugen Einträge in der Form:

define GSD_1.1 GSD 1.1

Dabei ist 1.1 die Kombination aus myNodeID und myUID.

 

 

Kommentare (11)

Cancel or

  • Alexander Schulz
    @Thomas
    Danke für die Blumen ;)
    Ich habe das Projekt allerdings schon länger eingestampft und auf eine andere Architektur umgeschwenkt (www.mysensors.org). Wird ständig weiterentwickelt, ist flexiebler und gut in FHEM unterstützt.

    Grüße,

    Alexander
  • Thomas
    Danke für die tolle Arbeit. Ich habe mein Tinytx noch erweitert mit einem LDR. Gibts bereits eine V2.0 vom 36_GSD.pm? Ich suche die Möglichkeit eine Exponenten-Rechnung zu machen für die Berechnung der Lux. Hab gesehen, das es ein Todo gibt für die "ConvertFn". Wie könnte man so was realisieren?
    Gruss
    Thomas
  • Bernhard Schmidt
    Tolle Sache.
    Ich habe da mal gleich zum Steckbrett gegriffen und nachgebaut. Klappt prima.
    Welchen .ino sketches nutzt du für den Empfang und wie ist der Empfänger im Fhem definiert?
    Ich nutze zu Darstellung bisher LaCrosse, habe da aber Problem mit der Batteriespannung.

    Grüße
    Benhard
  • Alexander Schulz
    @raspiprof
    Dieses hier:
    http://www.elv.de/industrie-aufputz-gehaeuse-ip65-modell-g201c.html
    Grüße,
    Alexander
  • raspiprof
    Vielen Dank für die Informationen und die Ideen.
    Welches Gehäuse hast Du benutzt? Sieht gut aus.
    MfG
  • Alexander Schulz
    @Ronny
    Hallo!

    Ehrlich gesagt, weiß ich nicht genau. Theoretisch sollte RFM12 auch viel mehr können. Es ist aber sicherer, Daten päckchenweise zu übertragen. Wahrscheinlichkeit einer Störung steigt ja mit der Länge der Sendung. Ich denke dass 40-60 Bytes bei gutem Empfang in Ordnung gehen. Ggf. ACK abwarten und, wenn nötig, wiederholen. Probiere es einfach aus, RFM12B kosten nicht die Welt und sind sehr viel besser, als die Billig-Teile. Ich würde sagen, gar nicht erst vergleichbar.

    Hier etwas Info zu diesen Bausteinen:
    http://www.mikrocontroller.net/articles/RFM12

    Viele Grüße,

    Alexander
  • Ronny
    Hallo, ich habe ein kurze Frage zu den SPI Funkmodulen RFM01, RFM02, RFM12.
    Wie wieviel Daten bzw Bytes kann man in eine Übermittlung stecken?
    Ich probiere zZ mit einem Low Cost 868Mhz Modul (Virtual Wire, 3Draht) aber bei 27 bytes ist Schluß.
    Ich plane eine Wetterstation mit ca. 20 Sensordaten.

    Gruß
    Ronny

    PS die mod. BHV1750 funktioniert sehr gut.
  • Alexander Schulz
    @Thomas Wenzlaff
    Reichweite ist leider etwaas weniger als erhoft. Mit der ersten Antenne sie war ganz schwach. Mit einem eindachen Stück Draht in Gehäuse verlegt wurde es besser. Noch besser wird es wohl, wenn ich es nach Außen führe. Am besten wäre natürlich eine 'richtige' Antenne. In jetztigen Zustand reicht es so ca. 5-7 Meter vor dem Haus. Dabei muss das Signal drinne noch durch ca. 6 m Lüft und zwei Wände. An einem Tag war es sehr neblich draußen. Gehäuse war beschlagen und die Reichweite hat sich exterem verschlechtert. Es dürfte jedoch noch Reserven geben. Ich werde noch mit einer deutlich geringeren Datenrate versuchen. Und vlt. mit einer besseren Antenne beim Empfänger.
  • Thomas Wenzlaff
    Foto vom Outdoor-Prototyp ist wieder cool geworden!
    Wieviele Meter macht der denn? Oder ist dein Garten zu groß? ;-)
  • Alexander Schulz
    @Gerhard:
    Du hast ein Mail ;)
  • Gerhard
    Hallo, ein sehr interessantes Projekt. Mir geht ähnliches im Kopf 'rum. Bisher Messe ich nur Temperaturen, 1-wire, kabel gebunden an einem Pogoplug mit Debian Wheezy, also vergleichbar mit einem Raspberry Pi, der dann wohl auch für ein Funknetzwerk zum Einsatz käme. Sensoren per Funk anbinden wäre die Lösung. Ich werde aufmerksam weiterhin mit lesen. Danke für diese Möglichkeit!
    Bestünde die Möglichkeit Leiterplatten zu kaufen?
    Beste Grüße, Gerhard