Selbstbau Funkthermometer 433Mhz

Begonnen von matlen67, 28 April 2016, 09:59:57

Vorheriges Thema - Nächstes Thema

Bender78

Zitat von: juergs am 02 April 2018, 12:05:30
Das Protokoll, dafür ist es primär ausgelegt, überträgt ja analoge Daten, wie z.B. Temperaturen oder Drücke.
Unter Umständen sind noch zur Abhandlung von negativen Temperaturen noch ein Offset zum endgültigen Wert addiert.

Man kann aber Tricksen. Durch den Reed-Kontakt kann man ja nur 2 Zustände übertragen.
Je nach Aufbau 0 V oder 5V, wenn Du z.B. 5V --- 10KOhm-- Abzweig zum ATtiny-Analog-Pin---Reed-Kontakt ---- GND benutzt.
Also sollte der Sensor ca. 2 unterschiedliche Werte liefern. Diese kannst Du im Programm am AD-Wandler Abfragen
und dann in die zwei Zustände z.B. 0 und 100 (innerhalb der Protokoll-Übertragungs-Grenzen) skalieren und dann übertragen.

In FHEM kannst Du dann mit Abfragen auf die zwei Zustände reagieren.
Wie das gemacht wird steht, glaube ich, hier im Thread oder bemühe einfach die FHEM-Suche nach "Fensterkontakt" 
dann bekommst Du mit Sicherheit einige passende Treffer dazu ...

Fange einfach mal an, nur feste Daten zu übertragen um das Device in FHEM wiederzufinden...
Dann kannst Du mit den Werten jonglieren. Denke  daran, nicht das Funknetz mit zu vielen Wiederholungen und keinen Zwischenpausen zu blockieren.
Üblich sind 3..5 Wiederholungen, die gehen aber auf die Batterie-Lebensdauer ...  ;)

Jürgen

Hallo Jürgen,

danke für die Info. Das wäre ok für mich.  Nur leider wir mir in FHEM nichts angezeigt. Auch im EventMonitor erinscheint nichts. Daher bin ich gerade am zweifeln ob dies überhaupt alles so funktioniert wie gewünscht. Mein Cul funktioniert auf alle Fälle. Dieser Empfängt aktuell regelmäßig meinen Temperatursensor der Wettersation vom Nachbarn und meine IT Steckdosen lassen sich bequem schalten.
Nur zeigt er mir nichts von dem Testaufbau an.. Ich habe ein Bild angefügt, welches den Aufbau zeigt. Die Antenne sollte nicht das Problem sein, da mein Cul ca. 10cm weiter weg auf dem Tisch steht.

juergs

Das Hideki-Protokoll muss in  der CUL-Firmware explizit mit kompiliert werden.


Clients
   
:FS20:FHT.*:KS300:USF1000:BS:HMS: :CUL_EM:CUL_WS:CUL_FHTTK:CUL_HOERMANN: :ESA2000:CUL_IR:CUL_TX:Revolt:IT:UNIRoll:SOMFY: :STACKABLE_CC:TSSTACKED:STACKABLE:CUL_RFR::CUL_TCM97001:CUL_REDIRECT::OREGON::Hideki:

Das LaCrosse-Protokoll "CUL_TX" ist standardmäßig aktiviert  ...

Wenn Du den Aufwand der Umprogrammierung scheust ... dann benutze lieber die anderen Beispiele hier im Thread mit LaCrosse  ;) ;)


bismosa

Hallo,
funktioniert der Sender denn? Ich hatte mehrfach Probleme, das die Frequenz nicht ganz zum CUL gepasst hat. Entweder bandwith erhöhen oder die Frequenz anpassen.
Lässt sich super mit einem DVB-T Stick mit SDR# prüfen.
Gruß
Bismosa
1x nanoCUL 433MHz (SlowRF Intertechno) für Fenstersensoren
1x nanoCUL 868Mhz für MAX (9x HT 1xWT)
1x ZigBee CUL
Weiteres: Squeezebox server, Kindle Display, ESP8266, Löterfahrung, ...

Bender78

Zitat von: juergs am 02 April 2018, 12:34:07
Das Hideki-Protokoll muss in  der CUL-Firmware explizit mit kompiliert werden.


Clients
   
:FS20:FHT.*:KS300:USF1000:BS:HMS: :CUL_EM:CUL_WS:CUL_FHTTK:CUL_HOERMANN: :ESA2000:CUL_IR:CUL_TX:Revolt:IT:UNIRoll:SOMFY: :STACKABLE_CC:TSSTACKED:STACKABLE:CUL_RFR::CUL_TCM97001:CUL_REDIRECT::OREGON::Hideki:

Das LaCrosse-Protokoll "CUL_TX" ist standardmäßig aktiviert  ...

Wenn Du den Aufwand der Umprogrammierung scheust ... dann benutze lieber die anderen Beispiele hier im Thread mit LaCrosse  ;) ;)

Hm ok dann liegt das Problem dort.. Und ich vermute das es bei dem Protokoll kompilieren nicht nur darum dreht das ich in der "board.h" ein "define HAS_Hideki" dazu füge.. ;D Dann werde ich mich nochmal durch die Seiten ackern  *g*. Danke euch allen..

juergs

... und immer mal auf die maximale Größe des Flash-Speichers (Tiny mit bootloader) achten ... sowohl beim CUL, als auch beim Tiny  ;)

Bender78

So.. nachdem ich heute den halben Feiertag dran herum gebastelt habe,zwischenzeitlich auf lacrosse umgestiegen bin, dann aber wieder verworfen weil ich 2h vergeblich versucht habe zu kompilieren und zum Schluss  den ganzen scheiss in die Tonne kloppen wollte habe ich nun mehrfach gelesen, dass der Selbstbau Nano cul  Hideki empfangen soll. Auch habe ich gelesen das es der Alternative Nano cul kann.  Deswegen alles neu geflasht und siehe da....es geht nicht  :-\ aber sehr wahrscheinlich sendet daher mein 433Mhz Sender nicht. Kann man aus dem DVB-T heraus finden ob sich da was tut ?
LG
Steffen

juergs

#276
ZitatKann man aus dem DVB-T heraus finden ob sich da was tut ?
Hier Beispiele:
https://forum.fhem.de/index.php/topic,51535.msg440337.html#msg440337
https://forum.fhem.de/index.php/topic,55274.msg511138.html#msg511138

Du hast Dir zu viele Probleme auf einmal geschaffen...  Versuche die der Reihe nach zu lösen.
Schließe z.B. eine LED parallel zum TX-Pin an und prüfe ob ein Sende-Impulsmuster sichtbar ist.
Du kannst Dir Debug-Ausgaben mit der TinySerial-Bibliothek einbauen und die versch. Schritte ausgeben. Die funktioniert auch nur mit einem Pin  (TX),
wenn man einen nicht existente PIN-Nr. auf dem ATtiny85 für RX verwendet.

Der Lacrosse-Code ist hauptsächlich für den ATtiny85 ohne Bootloader gedacht, da benötigt man ein Programmer oder weiteren Arduino (auch Digispark!) dazu ...
Man kann aber auch den NANO einsetzen und den angepassten Code dafür verwenden. Beispiele findet man auch z.B. unter dem Topic "Bodenfeuchte-Sensor".

Welche Fehlermeldungen werden denn ausgegeben?

Die Kunst besteht darin:
Zitatden ganzen Schei.. in die Tonne kloppen
genau diesen Punkt zu überwinden... (!!!)  ;) :)

Bender78

Vielen Dank für die aufbauende Worte :)
Aber klar gute Idee mit der LED am TX Pin. Dies habe ich auch getestet siehe da die zeigt, dass irgend ein Impulsmuster kommt wenn gegen Masse schalte.
Jetzt ist nur die Frage, ob der Sender richtig tut oder der a-Cul doch nicht kann. Leider habe ich kein Oszi aufdem ich dies darstellen kann wie in Deinen Links gezeigt.

bismosa

1x nanoCUL 433MHz (SlowRF Intertechno) für Fenstersensoren
1x nanoCUL 868Mhz für MAX (9x HT 1xWT)
1x ZigBee CUL
Weiteres: Squeezebox server, Kindle Display, ESP8266, Löterfahrung, ...

Bender78

#279
Was man nicht alles macht :D
So dank einem tollen Kollegen der einen DVB-T Stick herum liegen hatte konnte ich nach diverser Internetsuche den Treiber für den Stick doch noch Installieren.
Danke euch für den Hinweis mit SDRSharp.
Also der kleine Digispark sendet. Somit erkennt der CUL vermutlich nicht das Protokoll...
Eine kleine Abweichung in der Frequenz habe ich zu IT. Das kann es aber nicht sein oder?

juergs

#280
Zitate kleine Abweichung in der Frequenz habe ich zu IT. Das kann es aber nicht sein oder?

:) :) :) Doch, der Sender liegt ordentlich daneben .... kannst Du aber am über FHEM über CC1101 nachstellen...

Da: https://forum.fhem.de/index.php/topic,55274.msg511138.html#msg511138
und da: https://forum.fhem.de/index.php/topic,51535.msg440337.html#msg440337


bismosa

Hallo,

genauso hatte ich es gedacht :)
Wie viel Abweichung Du haben darfst, kannst Du selbst sehen. Es kommt darauf an, welche Frequenz im CUL eingestellt ist und welche Bandbreite eingestellt ist. Sicher sein kannst Du, wenn du die Frequenz mal anpasst.
Auf Deinen Bildern ist zu sehen, das da gerade noch etwas am (schwach) Funken ist? Bekommst Du den Sensor rein?

Jetzt kannst Du auch eine Auswertung machen. Kurzes Audiofile aufnehmen und mit Audacity prüfen. das müsstest Du aber googeln...ich weiß so auch nicht, wie man das am besten macht.
Gefühlt nach dem Bild würde ich sagen, das die Impulse etwas kurz wirken...ich habe das meist am Geräusch gehört und verglichen. :) Richtige Frequenz beim Attiny eingestellt?

Gruß
Bismosa



1x nanoCUL 433MHz (SlowRF Intertechno) für Fenstersensoren
1x nanoCUL 868Mhz für MAX (9x HT 1xWT)
1x ZigBee CUL
Weiteres: Squeezebox server, Kindle Display, ESP8266, Löterfahrung, ...

Bender78

Zitat von: bismosa am 04 April 2018, 18:19:21
Hallo,

genauso hatte ich es gedacht :)
Wie viel Abweichung Du haben darfst, kannst Du selbst sehen. Es kommt darauf an, welche Frequenz im CUL eingestellt ist und welche Bandbreite eingestellt ist. Sicher sein kannst Du, wenn du die Frequenz mal anpasst.
Auf Deinen Bildern ist zu sehen, das da gerade noch etwas am (schwach) Funken ist? Bekommst Du den Sensor rein?

Jetzt kannst Du auch eine Auswertung machen. Kurzes Audiofile aufnehmen und mit Audacity prüfen. das müsstest Du aber googeln...ich weiß so auch nicht, wie man das am besten macht.
Gefühlt nach dem Bild würde ich sagen, das die Impulse etwas kurz wirken...ich habe das meist am Geräusch gehört und verglichen. :) Richtige Frequenz beim Attiny eingestellt?

Gruß
Bismosa


Es funktioniert!!!!  ;D

Vielen vielen Dank euch allen. Hab mir super weiter geholfen. Ich hab die Pulslänge von 300 auf 260 us gestellt. Jetzt erkennt FHEM es.

juergs

#283
Die CC1101-Einstellungen sind z.B. bei mir:

Zitatfreq:433.920MHz bWidth:325KHz rAmpl:42dB sens:4dB

Das bedeutet das um eine best. Frequenz (Normal: 433.920 MHz) ca. 165 KHz nach oben und 165 KHz nach unten
am CUL ein "Fenster" aufgemacht wird, welches die Sender mehr oder weniger treffen müssen um erkannt zu werden.

Zur Vorgehensweise:
Wir haben ja 2 beteiligte Geräte (Sender + Empfänger). Beim CUL kann es sein, dass er von seiner Sollfrequenz etwas mehr oder weiniger abweicht. 
Genauso kann es sein dass die Sender etwas daneben liegen. Das liegt u.U. an deren Fertigungstoleranzen ....

Also müssen wir die zwei frequenztechnisch "übereinander" bringen.

Da Du SDRSharp hast, ist das Ganze wesentlich einfacher:

Wenn Du eine IT-Steckdose empfangen hast, kannst Du diese benutzen um die CUL-Frequenz zu  kalibrieren.

Man sendet einfach Steckdose AN/AUS (die sollte mit den Standardwerten bei 433.920 MHz liegen) und schaut im SDR nach welche Frequenz der
CUL sendet. Der Cul sendet, da digital gesteuert, sehr genau.  Kann aber mit seiner Sollfrequenz manchmal erheblich danneben liegen,
das muss man beim Senden dann berücksichten (bei mir waren es mal 40KHz oder auch 125KHz daneben)....

Du kannst die CUL-Frequenz mit dem <Set> Kommando einstellen, z.b. ein "Verbiegen" des Standards um plus 125 KHz nach oben:
433.920 MHz + 0,125 MHz = 434.045 MHz

set <cul_name> freq 434.045

Damit würde dann der CUL auf 433.920 MHz senden und empfangen, obwohl er auf 434.045 MHz eingestellt ist.
Das kannst Du super im SDRSharp beobachten (=> Bei den Frequenzen sind die allgemeinen Vorschriften zu beachten, sonst gibt es Ärger mit der Post).
Genauso kannst Du den CUL erst mal auf Deine Sender einstellen, wenn "autocreate" etc. auch eingestellt wurde, damit der CUL
auch neue Geräte anlegt  ;)   

Bei Deinem Sender kannst Du eigentlich nichts drehen, außer am Timing und am Protokoll. Die von Dir verwendeten Sender sind eigentlich sehr gut.
Bismosa hatte ja erwähnt, das u.U. die Takfrequenz des Digisparks nicht für die Umsetzung des Protokolls geeignet ist.
Hier kannst Du z.B. 10 Sek an eine LED vorgeben und prüfen ob sie wirklich 10s leuchtet.

Du kannst aber auch einen NANO o.ä. als Oszilloskop benutzen:
https://hackaday.com/2011/05/21/xoscillo-turns-arduino-in-an-oscilloscope/

Damit lässt sich einiges anfangen ....

So hoffe, dass es einigermaßen verständlich (... und richtig)  rübergekommen ist.

Jürgen

PS: Im Bild sieht man deutlich, dass sich der Sender innerhalb der Bandbreite (bwidth-Setting) des CUL befindet, wenn er genau auf 433.92MHz liegen würde.

Timing:
https://forum.fhem.de/index.php/topic,56660.msg666579.html#msg666579
https://alexbloggt.com/funkthermometer-sdr/
https://www.kompf.de/weather/rtlsdrsensor.html
Allgemeines zum Thema:
https://www.dbawdy.de/allgemein/funkdaten-mitloggen-und-simulieren/

Bender78

Super Vielen Dank für diese ausführliche Info.  Werde den CUL noch, wie von dir beschrieben, anpassen.
Bin mega Happy das es nun funktioniert.
Besten Dank noch einmal euch allen!!