Funksensor bauen ... gibt es einfachere Wege?

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo,

    vor ein paar Tagen habe ich mit der Hardwarebastelei begonnen. Klappt schon ganz gut: LEDs und Buzzer über den Raspberry steuern, Temperatursensoren über 1-Wire auslesen und Funksteckdosen über Pi + 433MHz-Sender steuern.

    Jetzt würde ich gerne im ganzen Haus und draußen Temperatur und Luftfeuchtigkeit messen und die Daten per Funk an den Pi senden. Da ich bei uns im Haus nicht alle Wände für neue Leitungen aufstemmen kann/will, werde ich auf Funk setzen müssen.

    Dazu habe ich mir etliches im Internet durchgelesen und auch folgende Seite "Raspberry Pi Funksensoren und Empfänger selber bauen" https://raspberry.tips/hausautomatisi…er-bauen-teil-3 entdeckt. Jetzt frage ich mich als Anfänger:

    Direkt mit dem Pi verdrahtet ist es ganz einfach und billig Temperaturen in den Pi zu bekommen. Warum wird das so kompliziert, wenn man das über Funk macht?

    Klar, nur Sensor, Sender und Akku genügt natürlich für den Funkt-Temperatursensor nicht. Etwas "Intelligenz" also ein Chip (z.B. Atmel ATtiny 84V-10 PU) ist sicherlich nötig. Gibt es diese Chips aber auch schon fertig programmiert? Die Anforderung, Signal von irgendeinem Sensor über Funk weiterzugeben scheint mir doch nicht so ungewöhnlich.

    Und warum muss dann auch noch zusätzliche "Intelligenz" (Atmel ATtiny 84V-10 PU) auf die Empfängerseite. Warum genügt nicht einfach der Empfänger und der Pi verarbeitet dann die empfangenen Signale direkt (wie auch bei einem fest verdrahteten Sensor).

    Und noch eine Frage: Wenn man einen fertigen Funk-Temperatursensor (z.B. von Homematic) nimmt, muss man doch wahrscheinlich auf der Pi-Seite wieder nur einen billigen fertigen Empfänger und keine weiteren Bauteile nehmen, oder?

    Wenn ja, warum bekommt man das nicht auch selber hin ... oder wie bekommt man es hin?

    Ich hoffe, Ihr könnt Euch hier in einen Anfänger reindenken und weist mir einen Weg, den ich als Anfänger verstehen kann :)

    Liebe Grüße

    Didgejo

  • Die Funksender/Empfänger über 433/867 MHz bringen kein eigenes Protokoll mit, so dass man das noch alles selbst implementieren muss. Dafür sind diese Lösungen sehr energiesparend.

    Einfacher geht es mit einem ESP8266 (z. B. ESP12) - er funkt im WLAN, was wesentlich einfacher zu handeln ist und im Deep Sleep Modus kann er auch mit Batterien/Akkus lange betrieben werden.

    Haken dabei - die WLAN-Aktivität braucht relativ viel Strom - wenn du die Temperaturen zeitnah funken willst (jede Minute), ist die Akkulaufzeit sehr begrenzt (wenige Tage). Wenn du nur einmal pro Stunde funkst, kommst du in den Bereich von ein paar Monaten bis über ein Jahr.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Wenn ja, warum bekommt man das nicht auch selber hin ... oder wie bekommt man es hin?

    Diesen Faden zu Batteriebetriebenen Funk Sensoren kennst du?

    Vor 3 Jahren habe ich mir davon welche gebaut und die laufen bis heute mit dem ersten Satz Batterien ( 2 x 1,5V ) obwohl sie alle 5 Minuten Daten übertragen.

    P.S. Irgendwie geht die Verlinkung zur Anleitung ( [Messen, Steuern, Regeln] Batteriebetriebene Funk Sensoren ) im ersten Beitrag des Entwicklungsfadens seit Wechsel der Forensoftware nicht mehr... meigrafd kannst du das bitte fixen? Auch über die Suche finde ich den Beitrag nicht mehr - oder bin ich noch nicht wach?

    Edit:

    Danke nurazur für den Link :thumbup:

    2 Mal editiert, zuletzt von doing (21. Januar 2018 um 18:00)

  • Und warum muss dann auch noch zusätzliche "Intelligenz" (Atmel ATtiny 84V-10 PU) auf die Empfängerseite. Warum genügt nicht einfach der Empfänger und der Pi verarbeitet dann die empfangenen Signale direkt (wie auch bei einem fest verdrahteten Sensor).

    Ganz einfach. Zur Dekodieren der digitalen Signale müssen die Zeiten der SIgnalwechsel sehr genau abgetastet werden, um daraus abzuleiten, ob der Sender eine 1 oder 0 gesendet hat. Eine noch so starke CPU kann das aber über längere Zeit nicht garantieren, wenn sie vom Betriebssystem andauernd unterbrochen wird etwas anderes zu tun. Hier besteht keinerlei Unterschied zwischen einer festen Verdrahtung oder einem (oder mehreren) Funksignalen.

    Die µC's laufen entweder in einer Endlosschleife oder verwenden Interrupts um sich genau der Aufgabe der (einen) zeitkritischen Signalabtastung zu widmen. Insofern erfolgt hier also eine Vorverarbeitung des (zeitkritischen) Signals. Will ein Computer dann später etwas von so einem µC wissen, dann sendet der (z.B.) den letzten empfangenen Meßwert an den Computer.

    Anders ausgedrückt - ein "kleiner" µC kümmert sich genau um einen Sensor, daß aber sehr gewissenhaft. Braucht man mehrere Sensoren, so benötigt man eben mehrere Paare von Sensoren und µC's. Der "große" Computer ist nicht imstande sich gewissenhaft um Sensoren (noch nicht mal um einen!) zu kümmern, weil er andauernd vom Betriebssystem (Scheduler) gesagt bekommt, sich um eine andere Aufgabe zu kümmern. Bis er dann mal wieder zum Punkt der Signalabtastung zurückgekehrt ist, kann es sein, daß er schon etliche Signalwechsel verpaßt hat.

  • Für HomeMatic kann ich diese Lösung empfehlen:

    https://homematic-forum.de/forum/viewtopic.php?f=31&t=37489

    Davon habe ich bei mir inzwischen mehrere im Einsatz. Das funktioniert einwandfrei. Der WeMos ist allerdings sehr energiehungrig. Besser funktioniert es zum Beispiel mit einer Lösung (Version 2.0 B) von joh.raspi: ESP8266 Adapter mit On-Board Spannungsversorgung zum Einbau in Projekt

    Bei Interesse bitte PN.

  • Und noch eine Frage: Wenn man einen fertigen Funk-Temperatursensor (z.B. von Homematic) nimmt, muss man doch wahrscheinlich auf der Pi-Seite wieder nur einen billigen fertigen Empfänger und keine weiteren Bauteile nehmen, oder?

    Bei "billiger fertiger Empfänger" gehen bei mir die roten Lichter an... Vorsicht! Homematic sendet im 868er Band, die "billigen" Sender/Empfängerkombis senden auf 433.92 MHz (oder in der Nähe davon). Von den China-Angeboten wo man für 1 Euro einen Sender und einen Empfänger bekommt kann ich nur abraten. Ich habe unzählige Posts gesehen wo sich Leute beschwert haben dass solche Teile nur eine Reichweite von wenigen Metern haben

    Und warum muss dann auch noch zusätzliche "Intelligenz" (Atmel ATtiny 84V-10 PU) auf die Empfängerseite. Warum genügt nicht einfach der Empfänger und der Pi verarbeitet dann die empfangenen Signale direkt (wie auch bei einem fest verdrahteten Sensor).

    1. Schnasseldag bezieht sich in seinem Beitrag auf die weit verbreitete OOK Modulation. Dabei wird der Sender einfach periodisch ein oder ausgeschaltet, und das entstehende Muster ergibt dann - je nach Protokoll - entsprechende Daten. Der Empfänger muss nicht nur "an" und "aus" erkennen, sonern auch die Zeit dazwischen messen koennen. Das kann ganz schoen kompliziert werden.

    2. Verwendet man FSK, wie zB. das RFM12B Modul, geht das durchaus. Suche nach "RFM69 Raspberry Python" und du wirst fündig. Ob es gute Loesungen sind kann ich nicht sagen, ich habe aus mehreren Gründen immer einen µC dazwischen. a) kann man für Sender und Empfänger den selben HF-Treiber verwenden (und nahezu identische Software) , b) der Raspberry Pi wird entlastet, c) wenn du was ändern willst, tust du das genau einmal und brauchst nicht ständig 2 verschiedene Softwares miteinander zu harmonisieren.d) du hast den SPI Port fei für anderes Zeugs

    Noch ein paar Tips...

    der von doing genannte Link ist ein hervorragender Anfang. User daniu hat neulich hier TinyTX3 Platinen angeboten, die eignen sich sowohl als Sender als auch Empfänger und sparen dir das Herumfrickeln mit der Lochrasterplatine...

    Allerdings ist das Projekt jetzt schon in die Jahre gekommen, und die RFM12B Module sind nur schwierig oder teuer zu bekommen. Verwende statt dessen den den RFM69CW (pinkompatibel, aber nicht softwarekompatibel). Es ist das alles-in-allem etwas bessere Modul. Wenn du wie ich mit dem RFM12B anfängst und dann auf den RFM69CW umsteigst, hast du immer das Problem zwei verschiedene RF Module bedienen zu muessen.

    Lege dein Netzwerk nach von dir festgelegten Kriterien aus:

    a) Reichweite (reicht evtl WiFi? oder BT aus?)- Die RFM Module gehen weit über die Reichweite von WiFi hinaus!

    b) Batterielebensdauer - mit dem RFM69 und 2 AA Batterien kann man theoretisch mehr als 10Jahre Lebensdauer erreichen.

    c) Frequenzband (Faustregel: je niedriger die Frequenz desto besser die Reichweite, aber groessere Antennenkonstruktionen)

    d) Datenrate / Paketrate (Faustregel: je niedriger die Datenrate, desto groesser die Reichweite, aber mehr Batterieverbrauch bei gleicher Datenmenge)

    e) Protokoll (soll ein gesendetes Paket bestätigt werden?)

    Ueber alle diese Punkte koennte man stundenlang diskutieren... vielleicht schreibe ich mal ein Buch.

  • Bei "billiger fertiger Empfänger" gehen bei mir die roten Lichter an... Vorsicht! Homematic sendet im 868er Band, die "billigen" Sender/Empfängerkombis senden auf 433.92 MHz (oder in der Nähe davon). Von den China-Angeboten wo man für 1 Euro einen Sender und einen Empfänger bekommt kann ich nur abraten. Ich habe unzählige Posts gesehen wo sich Leute beschwert haben dass solche Teile nur eine Reichweite von wenigen Metern haben

    Bei "billiger fertiger Empfänger" leuchten bei Dir rote Lampen. Wäre ich dann mit einem solchen Gunk-Sende/Empfänger auf der sicheren Seite: http://www.seegel-systeme.de/produkt/raspyrfm-ii/ ?

    Und ist der bei einem geplanten Ausbau Richtung Hausautomation auch noch verwendbar? Oder greift man da auf ganz andere Hardware zurück?

  • Wäre ich dann mit einem solchen Gunk-Sende/Empfänger auf der sicheren Seite:

    Ja, auf jeden Fall, wenn du dir das Loeten sparen willst. Es hat den RFM69 verbaut welches sowohl senden als auch empfangen kann. Es kann OOK und FSK, das Modul steckt man direkt auf den Raspberry, der Rest ist Programmierarbeit.

    Es kommt darauf an ob du dein eigenes Netzwerk verwirklichen willst oder ob du Komponenten Dritter steuern und/oder abfragen willst. Wichtig beim Kauf ist zu wissen in welchem Frequenzband (433 MHZ oder 868 MHz) du arbeiten willst. FS20 ist z.B. 868 MHz, Homematic auch, viele Wetterstationen und die meisten Funksteckdosen senden auf 434 MHz. Allerdings würde ich dir von einem Mischmasch verschiedener Systeme und Protokolle abraten.

    Und ist der bei einem geplanten Ausbau Richtung Hausautomation auch noch verwendbar? Oder greift man da auf ganz andere Hardware zurück?

    Es kommt darauf an aber generell gesagt : ja.

    Was genau moechtest du machen? Wie schaut es mit deine DIY-Fähigkeiten aus?

  • Wie schaut es mit deine DIY-Fähigkeiten aus?

    "Grobes" löten kann ich ... ganz fein, also wenn viele Lötstellen dicht nebeneinander liegen, habe ich noch nicht probiert. Und der Schaltplan darf nicht zu unübersichtlich werden. Also ich denke, einen Sensor + Atiny + Funkmodul bekomme ich zusammengelötet. Viel komplizierter sollte es aber nicht werden. Ich hoffe, Ihr Erfahrenen könnt damit einschätzen, was man mir zutrauen kann und was nicht.

    Wenn die Homematic-Funk-Temperatur/Luftfeuchtigkeitssensoren nicht so teuer wären, würde ich sie fertige nehmen und keine basteln, da es mir nicht um die Lust am Basteln geht, sondern darum, mich mit der Steuerung über den Pi zu beschäftigen. So werde ich mir wohl Sensoren basteln müssen ... geht das überhaupt mit meinen mittelmäßigen Fähigkeiten, wenn man langfristig auf das Homematic-Protokoll setzt? Oder müsste ich dann ein separates Protokoll (mit wiringpi und ninjablocks) mt separaten Sendern/Empfängern parallel zu homematic laufen lassen?

    Ich stelle mir so vor: viele einfach konzipierte Module selbst zu bauen und wenige komplizierte zu kaufen. Die weiteste Entfernung wäre 35m durch 2-3 Zimmerwände und 15m durch 1 Betondecke und 1 Zimmerwand.

    Was genau moechtest du machen?

    Vor ein paar Tagen genügte es mir, die Funksteckdosen per Pi ein- und auszuschalten. Nachdem ich gesehen habe, wie einfach das ist und wie wirkungsvoll, fange ich vorsichtig an, über Hausautomation nachzudenken. Vorstellen könnte ich mir, folgendes einzusetzen:

    Das meiste muss auf Funkbasis laufen, da viele Schlitze in die Wand und zusätzliche Verkabelung kaum eine Alternative für uns ist.

    Phase I

    • Temperatursensoren
    • Feuchtigkeitssensoren
    • Helligkeitssensor
    • Funksteckdosen schalten

    Phase II

    • Rauchsensoren
    • Bewegungsmelder

    Phase III

    • Fensterkontakte
    • Steuerung an Heizung (wenn das bei einer 10 Jahre alten Viessmann überhaupt geht)

    Das ist aber kein fester Plan sondern aus dem Bauch heraus. Welche Vorschläge gibt es, ohne ein Gesamtkonzept da in kleinen Schritten heranzugehen und anzufangen, ohne sich später Wege zu verbauen oder ganz neu anfangen zu müssen, wenn plötzlich und unerwartet die Wünsche mit der Erkenntnis, was alles geht, steiegen?

    Gruß
    Didgejo

    2 Mal editiert, zuletzt von didgejo (23. Januar 2018 um 13:02)

  • Phase I

    Phase II

    Phase III

    Das ist aber kein fester Plan sondern aus dem Bauch heraus.

    alles geht, aber aus dem Bauch ist eher schlecht, hast du ein Konzept

    was passiert wenn der PI aussteigt?

    läuft dann die Heizung Amok?

    lassen sich die Rolläden nicht mehr öffnen?

    was ist wenn du im Urlaub oder im Krankenhaus bist, kommt deine Familie mit klar, kann sie sich selbst helfen oder ein gerufener Fachmann?

    Ich wollte das mal auch, funke mit dem Arduino meine rolläden an bei Sonnenuntergang runterfahren, wenn ich draussen sein sollte nehme ich die Funkfernbedienung mit, hilft gegen aussperren, hat aber nicht geholfen als ein Freund durch die Balkontür ging, sich erschrack und stehen blieb.

    Was mich einen neuen Rolladenpanzer kostete und eine Woche Beschaffungsstress, das Alu war nicht auf Blockade eingerichtet, älteres Modell mit Endlagenschalter.

    Bei Heizung im Winter wäre ein Ausfall noch schlimmer wenn man gerade 6 Wochen im Warmen überwintert.

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Etwas weiter oben habe ich Dir schon einen Link zu einer gutundgünstig Lösung zu Punkt 1 und 2 geschrieben. Punkt 3 sollte da problemlos zu integrieren sein. Wenn ich es richtig in Erinnerung habe, ist der Sensor schon im Sketch vorgesehen, aber auskommentiert. Das musst Du Dir anschauen und durchlesen.

    Funksteckdosen schalten ist kein Hexenwerk. Wenn genug Platz da ist, kannst Du einen Sonoff Basic mit dieser Firmware versehen und dann in die UP Dose versenken. Wenn der Platz nicht ausreicht, dann könntest Du beispielsweise einen HVIO nehmen. Oder Du nimmst das Original von HM. Oder Du nimmst einen Sonoff S20, oder einen DECT200, oder oder oder...

    Ich bin aktuell auch dabei, das Heim zu "automatisieren". Ich habe eine Mischung aus allen genannten Lösungen verbaut. Das funktioniert mit RaspberryMatic und dem ELV-RasPi-Adapter einwandfrei.

  • alles geht, aber aus dem Bauch ist eher schlecht, hast du ein Konzept

    Wie ich schrieb habe ich ja gerade kein Gesamtkonzept. Und der Wunsch nach Automation kam mit der aktuellen Erkenntnis, dass man so etwas mit dem Raspberry zu vertretbaren Kosten und Aufwand machen kann. Ich wil da deshalb auch nicht gerneralstabsmäßig mit Gesamtkonzept drangehen, sondern mich langsam in praktischen Schritten mit Spaß an eine Lösung heranarbeiten ... und wenn ich an einen Punkt komme, wo ich nicht weiterkomme, will ich mit dem Erreichten zufrieden sein.

    Deine Bedenken sind natürlich berechtigt.

    Aber meine Frage war:

    Welche Vorschläge gibt es, ohne ein Gesamtkonzept da in kleinen Schritten heranzugehen und anzufangen, ohne sich später Wege zu verbauen oder ganz neu anfangen zu müssen, wenn plötzlich und unerwartet die Wünsche mit der Erkenntnis, was alles geht, steiegen?

    Einige Anstöße habe ich ja bereits - vielleicht gibt mir ja noch jemand Empfehlungen für die nächsten kleinen Schritte.

  • bis jetzt habe ich überwachung aller Raumtemperaturen per AVR Webserver, Rolladenautomatik per Arduino

    Meine Idee nach den Raumtemperaturen auch in die Heizung einzugreifen habe ich erst mal zurückgestellt.

    Momentan regle ich mit ELV comfort 100/200 und im µC.net ist das Protokoll geknackt und könnte angefunkt werden.

    Mich nervt halt nur das es die nicht mehr gibt und wenn einer kaputt geht müsste ich alles verwerfen.

    Auch nervt mich das ich immer an Batterien denken muss, weil man nicht immer raufschaut und an jedem Heizkörper habe ich noch kein Kabel für dauerhaften Strom.

    Ausgelaufene Alkalizellen haben mir schon manches Gerät versaut weswegen ich auf Eneloop überall wechselte, alle Thermostate, alle Fernbedienungen.

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Hi,

    Einige Anstöße habe ich ja bereits - vielleicht gibt mir ja noch jemand Empfehlungen für die nächsten kleinen Schritte.

    da kann man imho nicht viel empfehlen ...

    Einfach Schritt für Schritt eine Funktionalität nach der anderen realisieren und testen.

    Idealerweise an einem zweiten Raspi im Trockentest ... und dann das Ganze kombinieren. Denkfehler die sich offenbaren und Dinge, die man vergessen hat sind logisch und imho auch erwünscht ... Mir würde es unheimlich vorkommen, wenn Du von Anfang an alles perfekt löst. Da ist dann meist noch ein richtiger fetter Konzeptionsfehler drin, oder Du bist ein Genie ;)

    Ich persönlich würde immer dann, wenn es möglich ist, auf Funk verzichten und WLAN verwenden. Das ist mir sympathischer.

    Ja, wie gesagt, ich denke, da kann man sonst nicht viel raten.

    cu,

    -ds-

  • Ich persönlich würde immer dann, wenn es möglich ist, auf Funk verzichten und WLAN verwenden.

    Interessant dass du einen Unterschied zwischen Funk und WLAN machst. WLAN ist - glaube ich - auch Funk weil drahtlos :conf:. Ich entscheide mich aufgrund technischer Kriterien für das eine oder andere, beides hat seine technischen Eigenschaften und Vorteile.

    Aber du hast recht - wo die Reichweite von WLAN ausreicht, ist vielleicht der Start mit einem ESP8266 leichter?

  • Hi,

    Aber du hast recht - wo die Reichweite von WLAN ausreicht, ist vielleicht der Start mit einem ESP8266 leichter?

    jepp ... WLAN ist mir sympathischer weil für mich leichter handlebar.

    Du nimmst eine Multicast-IP und schwupps ... hast Du multicast-Messages.

    Connectionless? Keine Problem, nimm UDP ... usw.

    cu,

    -ds-

  • Danke liebe Leute ....

    damit habe ich mit Euch meinen nächsten kleinen Schritt gefunden. Nachdem ich mich ein wenig vertraut mit 433MHz und Funksteckdose ansteuern gemacht habe, werde ich mit ESP8266 ESP-12 und WLAN experimentieren, um Sensor-Daten zu übertragen und ehrlich gesagt sagt mir WLAN erst einmal so wie Ihr vermutet habt auch mehr zu.

    Das sind ja wirklich nur kleine Investitionen am Anfang, um herauszufinden, ob ich eher in Richtung 433/868MHz oder Richtung WLAN gehe ... und meine Vorstellung über die dann kommenden Schritte werden mit den Erfahrungen und Fähigkeiten während der Experimente reifen.

    Die Bestellung des ESP8266, Batteriehalter und Temperatursensor (DHT22 ist das wohl) geht gleich raus. Wieviele Sensoren kann man den an einen ESP8266 anschließen (ich nehme an mehrere)?

    Und ich nehme man an, die kann man alle direkt an den ESP8266 anschließen und braucht nicht noch zusätzlich weitere Hardware.
    Und zuletzt ... läuft da überhaupt noch etwas über die GPIOs des Pis? Ich nehm an, das ist nicht, da der Raspberry die Signale ja über das WLAN erhält.

    Ich freue mich schon auf das Weiterexperimentieren und hoffe, dass mir nicht doch eine Kleinigkeit fehlt.

    Gruß Didgejo

    4 Mal editiert, zuletzt von didgejo (23. Januar 2018 um 21:41)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!