Selbstbau Funkthermometer 433Mhz

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

Vorheriges Thema - Nächstes Thema

hbulf

Hallo Jürgen,

vielen lieben Dank für deine Mühe.

Leider hat mich die Grippe gepackt so das ich erst die nächsten Tage testen kann.
Super Forum hier da wirdeinen sofort geholfen.

:D
MfG Ulf

hbulf

Hallo Jürgen,

hab da mal einen Scetch an gehangen der bei mir mit einer Lacrosse Wetterstation perfekt funktioniert hat (keine Ausfälle nichts)

Allerdings wird hier keine Feuchte gesendet und meine Programmier Kenntnisse reichen leider nicht aus um auch die Feuchte mit senden zu lassen.

Vielleicht hilft das auch anderen bei der Problemlösung  ;)

juergs

Für den DHT22 hatte ich schon mal ein Lösung gepostet: _ATtiny85_DHT22_BMP180_433.ino

Bender78

Hallo Jürgen,

wow.. vielen Dank für die überarbeitete Version. Ich möchte das auch alles können :'( *g* Respekt...
Soweit funktioniert alles. Komischerweise am Anfang gar nicht. Es kam nur unbekanntes Protokoll im Event Monitor. Aber auf einmal ging es dann. Lediglich habe ich noch nicht heraus gefunden wie du die Batterie Spannung ebenfalls überträgst. Ich habe schon  "#define USE_SEPARATE_BATTERIE_ID " auskommentiert. Aber es kommt weiterhin nur die Temperatur.

Mittlerweile habe ich auch das andere Problem von mir gelöst. Es war der interne Takt von 1Mhz. Habe diesen nun auf 8 Mhz gestellt und siehe da, FHEM empfängt "fast" alle 8 Sek. die Daten des Attiny.
Soweit tut es das für mich nun. Ich denke ich werde das ganze nun auf eine Platine aus China brutzeln und dann in eine Schalterdose packen. Davor ein schönes Gehäuse eines Jung Raumthermostat. und dann habe ich tolle und günstige Funk Temperatur Sensoren.

Bender78

Zitat von: juergs am 20 Dezember 2018, 20:00:29
Für den DHT22 hatte ich schon mal ein Lösung gepostet: _ATtiny85_DHT22_BMP180_433.ino

Hallo Jürgen,

Dein Programm für den onewire Dallas funktioniert super. Bekomme nun regelmäßig die Info wie kühl es in meinem Bierkühler im Garten ist. Danke dafür noch einmal.

Da ich nun auch mit dem Dht22 spielen wollte Bzw mir Außentemperatur + Luftfeuchtigkeit an fhem senden möchte habe ich den obigen Link von Dir mit dem Programm für den DHT22 auf den Attiny geflashed. Leider tut sich dieses Mal gar nichts. Spannung liegt an, habe auch eine LED am sende Pin angesteckt um zu sehen ob etwas gesendet wird. Aber es tut sich nichts. Der attiny funktioniert (stink normales Blink-Programm läuft).
Vielleicht hast du ja eine Idee nach was ich schauen kann
Besten Dank

juergs

#335
Hallo Bender78,

prüfe nochmal, ob die ID in der LaCrosse.cpp mit der der Sketches übereinstimmt.
Dann auch noch mal auf die verbesserten LaCrosse-Timings prüfen.

Zum testen lässt sich über "SoftSerial" ein Pin als Debugport definieren.
Der erfordeliche RX-Pin einfach auf einen nicht im ATtiny84 vorhanden pin legen.
Dann kannst Du einfach nachprüfen, ob der Chip läuft oder nicht.

Ist der DHT mit 4K7 Pullup versehen?
Am richtigen im Sketch  geforderten Pin angeschlossen?

Meiner funktioniert, sogar auch mit akzeptabler Luftfeuchte und ebenfalls sehr zuverlässig.

Bender78

#336
Zitat von: juergs am 02 Februar 2019, 11:31:19
Hallo Bender78,

prüfe nochmal, ob die ID in der LaCrosse.cpp mit der der Sketches übereinstimmt.
Dann auch noch mal auf die verbesserten LaCrosse-Timings prüfen.

Zum testen lässt sich über "SoftSerial" ein Pin als Debugport definieren.
Der erfordeliche RX-Pin einfach auf einen nicht im ATtiny84 vorhanden pin legen.
Dann kannst Du einfach nachprüfen, ob der Chip läuft oder nicht.

Ist der DHT mit 4K7 Pullup versehen?
Am richtigen im Sketch  geforderten Pin angeschlossen?

Meiner funktioniert, sogar auch mit akzeptabler Luftfeuchte und ebenfalls sehr zuverlässig.

Hallo Jürgen,
danke für deine Antwort.
Für das Debugging über SoftSerial bin ich glaub ich zu blöd. Im Programm ist dies so wie ich das gesehen habe auch nicht programmiert. Dafür ist mein Programmier-Kung-Fu einfach zu schwach *g*
Den Pullup habe ich an dem DHT
Was ich jedoch jetzt bemerkt habe ist, folgendes
Am Pin2 (PB3) flackert die LED immer wie ich es gewohnt bin (Telegramm1/Pause/Telegramm2) wenn der Arduino "sendet" beim Anschließen der Versorgungsspannung. Allerdings nur mit einer geringen Helligkeit (1,4V  gemessen). Und egal auf welchem Ausgang ich das Senden lege flackert immer dieser Ausgang. Habe es auch mit einem anderen Attiny85 versucht. Aber ging ebenfalls nicht.
Jetzt bin ich Ratlos  :-[
Ich finde so langsam, dass nur Temperaturen ohne Feuchtigkeit auch eine tolle Variante ist  ;D

Edit:
Es scheint zu gehen *freu* aber ich kann ehrlich gesagt nicht sagen an was es jetzt gelegen hat. Ich habe den sketch noch einmal hunter geladen. Alles in die Arduino IDE via Zip Importieren eingelesen noch einmal drauf geflasht und siehe da.. die LED "pollt"wie sie es soll und in FHEM erscheint mein neuer Sensor.

Vielen Dank für das tolle Projekt!

juergs

#337
It's a kind of magic ...  8) ::) :D :)
Viel Spaß.

PS: auch mal den output der Arduino IDE anschauen.
Leider flutschen Fehler eher unbemerkt durch.
Evtl. nützt es auch, den Compiler- und Upload-Output etwas zu erhöhen...

R2Dzwo

Hallo Juergs,

Ich hab dein Code erfolgreich compiliert und auch übertragen aber trotzdem zeigt FHEM nichts an.
Nutze den NanoCul mit der acuw.
Wenn ich an den PIN zum Senden eine LED anklemme dann blinkt sie ab und zu.... sollte also eigentlich passen....hast du eine Idee?

Danke im Voraus.

juergs

#339
Hast Du die geänderten Timing-Zeiten berücksichtigt?
Mit welchem CUL empfängst Du?
Ist was in den Logs zu sehen?
Zeig mal ein "list" von Deinem CUL.
Ist das fhem-Setting "autocreate" gesetzt?
Zitatdefine autocreate autocreate
Ist die gleiche ID auch in der LaCrosse.cpp gesetzt?

Clients    :FS20:FHT.*:KS300:USF1000:BS:HMS:FS20V: :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:

Ist das CUL_TX-Protokoll mit in der CUL-FW kompiliert?

Das Blinken sollte zum Sende-Intervall passen.

Sind die AVR-Fuses richtig gesetzt? Chip-Timing?

R2Dzwo

Super für deine schnelle Antwort.
Hatte gerade noch den selbstgebauten nanocul auf freq 868 gestellt und schwups ist der Sensor drin....klasse.

Ein Fehler habe ich aber noch, es werden bei mir nur T:88,8 und H:88,8 angezeigt und der Plot macht gar nichts. Hast du dazu eine Idee?


juergs

#341
Was benuzt Du als Sensor?
DS18B20 oder DHT22?

Im Code sind solche "Magic Numbers" für die Fehler-Übermittlung vorgesehen.
Wenn Du im Code nachschaust müsstest Du die Ursache herausfinden ...

Welchen Code nutzt Du?

switch (errorCode)
  {
  case DHT_ERROR_NONE:
    //---Get Data
    dht_temp = myDHT22.getTemperatureC();
    dht_hum  = myDHT22.getHumidity();
    break;
  case DHT_ERROR_CHECKSUM:
    //--- send erraneous data as err indicator
    dht_temp = -99.99;
    dht_hum = -99.99;
    break;
  case DHT_BUS_HUNG:
    dht_temp = -88.88;
    dht_hum = -88.88;
    break;
  case DHT_ERROR_NOT_PRESENT:
    dht_temp = -77.77;
    dht_hum = -77.77;
    break;
  case DHT_ERROR_ACK_TOO_LONG:
    dht_temp = -66.66;
    dht_hum = -66.66;
    break;
  case DHT_ERROR_SYNC_TIMEOUT:
    dht_temp = -55.55;
    dht_hum = -55.55;
    break;
  case DHT_ERROR_DATA_TIMEOUT:
    dht_temp = -44.44;
    dht_hum = -44.44;
    break;
  case DHT_ERROR_TOOQUICK:
    dht_temp = -33.33;
    dht_hum = -33.33;
    break;
  default:
    dht_temp = -22.22;
    dht_hum = -22.22;
  }



R2Dzwo

Nutze den DHT22
Was kann ich jetzt mit BUS HUNG anfangen?


By the was: der Code ist gut :)

juergs

#343
DHT-Prinzipschaltung?
Wie sieht es mit dem Pullup an der Datenleitung aus?  4,7 KiloOhm, gemesssen?

https://github.com/nethoncho/Arduino-DHT22/issues/8
DHT22 Sensor - Auslesen mit 3.3v uC klappt nicht

R2Dzwo

Ja 4,7kohm
Pin1: vcc
Pin2: Data + 4,7k auf VCC
Pin 4: GND

Hatte das DATA statt auf Pin2 auf 3....nachdem ich jetzt umgesteckt habe zeigt er mir T= -48 und H= 88,8