dht22 versionen ?

Begonnen von justme1968, 12 Juni 2014, 21:57:08

Vorheriges Thema - Nächstes Thema

justme1968

hallo zusammen,

ich habe seit einiger zeit einen dht22 auf einem breadboard laufen der immer mal wieder aufhört werte zu liefern. nach etwas dran wackeln geht es wieder eine weile. bis jetzt habe ich an einen wackelkontakt auf dem breadboard geglaubt.

letzte woche habe ich in einer bestellung neue dht22 bekommen die statt einer recht weichen und gummiartigen rückseite eine haben die such wie keramik anfühlt.

diese haben an die gleiche stelle auf dem breadboard gesteckt keine aussetzer mehr.

hat noch jemand ähnliche erfahrungen gemacht? wie schaut die rückseite des sensors normalerweise aus?

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

hexenmeister

Hallo,

ich habe mehrere DHT22 mit gummiartiger Rückseite.
Einer davon lief mehrere Wochen auf einem Breadboard ohne Probleme.
Zwei weitere liefern seit Monaten Werte per Funk.

(http://s6z.de/cms/images/content/arduino/TinyTX/TinyTX_Proto_Outdoor_01_k.jpg)

(http://s6z.de/cms/images/content/arduino/TinyTX/TinyTX_Proto_01_k.jpg)

Solche Probleme, wie bei Dir, kann ich also nicht bestätigen.

Grüße,

Alexander
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

kpwg

Hallo Andre,

ich habe seit Dezember zwei DHT22 im Dauereinsatz. Diese haben noch die gummierte Rückseite. Einen weiteren DHT habe ich "der Forschung geopfert" (Verpolung mögen die nicht ...  :'( ) Die vor 14 Tagen neu gelieferten haben ebenso die keramische Rückseite. Funktionieren alle tadellos und liegen diesmal dichter beieinander. Wackelkontakte gab es nicht- sind alle verlötet.

Der Plot ist von 4 DHT22 an einem ATMega32 mit Ethersex.

Viele Grüße, Ricardo


andreas.maurer

Hallo Alexander,

das sieht sehr interessant aus, was du da gezeigt hast.

Ich bin grade dabei einen Raumsensor zu konzipieren, der per Funk arbeitet. Mein Ansatz ist etwas anders als deiner. Aber das sieht viel einfacher aus, was du da gebaut hast?!
Hast du mehr Infos darüber?

Andreas

SpenZerX

#5
Sieht aus wie der von dieser Seite. Ich baue den auch gerade nach ...

http://nathan.chantrell.net/tinytx-wireless-sensor/

Allerdings mit einem einfacheren 433 MHZ Sender und als Empfänger FHEMduino

kpwg

Hatte ich auch entdeckt, man "stolpert" quasi über das Projekt, wenn zum DHT22 recherchiert wird  8)

Nur wie bindet man diese Teile ein? JeeLink-Sketch anpassen oder dem Sensor LaCrosse senden beibringen?

JoWiemann

Falls von Interesse,

hier gibt es noch eine Arduino-Library für den DHT22: https://github.com/adafruit/DHT-sensor-library

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

hexenmeister

Jo, das sind Nathans Sensoren. Ich habe nur leicht angepasste Firmware und ein eigenes FHEM-Modul. Den kann ich natürlich gerne zur Verfügung stellen.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

JoWiemann

Da würde ich mich sehr freuen  :)

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

hexenmeister

Bin gerade unterwegs. Wenn ich es schaffe, dann heute spät abends, sonst morgen.

Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

hexenmeister

#11
Hi.

Also, die Nathans Module... in Kürze...
Der Vorteil dieser Teile - sie sind sehr günstig und einfach aufzubauen.

Zum Empfang 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.
Dort sind die Modul-Adressen 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 Konfiguration:
Der JeeLink benötigt zusätzliche Attribute zum Erkennen von GSD-Clients:

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.

Viel Spaß, bei Fragen => fragen ;)


http://s6z.de/cms/index.php/homeautomation/eigenbau/56-tinytx-wireless-sensor-nodes
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

thosch

Hallo Alexander.

Die beiden Sketches spielen bei 868MHz miteinander?
Mein Jeelink sieht mit deinem Sketch unter Fhem so wie auf dem beigefügten Bild zu sehen aus.

Die Stelle aus dem dht-sketch:
#define myNodeID 01       // RF12 node ID in the range 1-30
#define network 210       // RF12 Network group
#define myUID 01          // device id

#define freq RF12_868MHZ  // Frequency of RFM12B module


korrespondiert wo im gsd-sketch?

Danke schon mal im voraus.
Gruß Thorsten


hexenmeister

#13
Hallo Thorsten,

es korrespondiiert nicht direkt, kann man aber auch fest definieren. Ansonsten muss man den JeeLink einmalig (über die serialle Console, wird dann im EEPROM gespeichert) auf die gewünschten Parameter einstellen. Also 8 b 31 i 210 g... Der Sketch gibt die Liste der Parameter auf die Console aus. Probiere es aus, dann sollten die Teile miteinander kommunizieren. Ansonsten schauen wir dann weiter ;)

Grüße,

Alexander


EDIT: Anhang
(http://forum.fhem.de/index.php?action=dlattach;topic=24521.0;attach=21169;image)
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

thosch

Zitat von: hexenmeister am 08 November 2014, 12:29:10
Hallo Thorsten,

es korrespondiiert nicht direkt, kann man aber auch fest definieren. Ansonsten muss man den JeeLink einmalig (über die serialle Console, wird dann im EEPROM gespeichert) auf die gewünschten Parameter einstellen. Also 8 b 31 i 210 g... Der Sketch gibt die Liste der Parameter auf die Console aus. Probiere es aus, dann sollten die Teile miteinander kommunizieren. Ansonsten schauen wir dann weiter ;)

Hm, die Stelle im Sketch habe ich gefunden:

[RF12demo.Thosch10] A i1 g210 @ 868 MHz o26912 x1
A i1 g2

Mehr kommt bei mir in der seriellen Console der Arduino IDe nicht.
Wie setzt man in der seriellen Console ein Kommando zur Config ab?
Einfach deine Parameter abtippen, war es nicht.
Irgendwie werde ich das Gefühl nicht los, ne Bildungslücke zu haben.

Danke
Thorsten

hexenmeister

#15
Ganz genau wusste ich das auch nicht mehr. Also habe ich den Stick angezogen und in meinen Laptop eingesteckt (gaht aber auch auf dem Cubie/Raspi, wenn man den JeeLink im FHEM abmeldet. Z.B. mit minicom).
Also mit dem PuTTY drauf (bei mir COM20) mit 57600 Bod.

Dann kommt auch gleich die Hilfe:
[RF12demo.10] _ i31 g210 @ 868 MHz
DF I 5233 527

Available commands:
  <nn> i     - set node ID (standard node ids are 1..30)
  <n> b      - set MHz band (4 = 433, 8 = 868, 9 = 915)
  <nnn> g    - set network group (RFM12 only allows 212, 0 = any)
  <n> c      - set collect mode (advanced, normally 0)
  t          - broadcast max-size test packet, request ack
  ...,<nn> a - send data packet to node <nn>, request ack
  ...,<nn> s - send data packet to node <nn>, no ack
  <n> l      - turn activity LED on PB1 on or off
  <n> q      - set quiet mode (1 = don't report bad packets)
  <n> x      - set reporting format (0 = decimal, 1 = hex)
  123 z      - total power down, needs a reset to start up again
Remote control commands:
  <hchi>,<hclo>,<addr>,<cmd> f     - FS20 command (868 MHz)
  <addr>,<dev>,<on> k              - KAKU command (433 MHz)
Flash storage (JeeLink only):
  d                                - dump all log markers
  <sh>,<sl>,<t3>,<t2>,<t1>,<t0> r  - replay from specified marker
  123,<bhi>,<blo> e                - erase 4K block
  12,34 w                          - wipe entire flash memory
Current configuration:
_ i31 g210 @ 868 MHz
>


Man kann jetzt (blind) die EInstellungen vornehmen. Jedes Parameter wird am Ende auch bestätigt. Also z.B.: 31i dann 210g und 8b.
Danach sollte man schon die Meldungen der Sensoren sehen können (wenn welche da sind).
Etwa so:
GSD 33 83 3 90 39 202 98 15 16 52 8 24 210 25
GSD 33 83 4 48 8 202 226 15 16 192 3 24 38 27
GSD 33 83 1 120 101 202 7 11 16 102 8 24 158 37
GSD 33 83 3 91 39 202 98 15 16 52 8 24 200 25
GSD 33 83 4 49 8 202 226 15 16 192 3 24 57 27
GSD 33 83 1 121 101 202 7 11 16 102 8 24 148 37
GSD 33 83 3 92 39 202 98 15 16 52 8 24 200 25
GSD 33 83 4 50 8 202 226 15 16 182 3 24 68 27
DF S 5235 527 290
GSD 33 83 1 122 101 202 7 11 16 102 8 24 148 37
GSD 33 83 3 93 39 202 98 15 16 52 8 24 200 25
GSD 33 83 4 51 8 202 226 15 16 182 3 24 98 27
GSD 33 83 1 123 101 202 7 11 16 102 8 24 218 37
GSD 33 83 3 94 39 202 98 15 16 42 8 24 190 25
GSD 33 83 4 52 8 202 226 15 16 182 3 24 118 27
GSD 33 83 1 124 101 202 7 11 16 102 8 24 168 37
GSD 33 83 3 95 39 202 98 15 16 42 8 24 190 25
GSD 33 83 4 53 8 202 226 15 16 182 3 24 118 27
GSD 33 83 1 125 101 202 7 11 16 102 8 24 168 37


Stick ist bereit für FHEM ;)

EDIT: Ein wenig gemein ist, dass die Parameter in Form i31 ausgegeben werden, einzugeben sind sie aber andersherum: 31i
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

thosch

Danke für deine Mühen Alexander.

Wenn ich meinen "Jeelink" (Arduino Nano) mit dem Sketch flashe, bekomme ich in der seriellen Console lediglich dies hier:
[RF12demo.T10] A i1 g212 @ 433 MHz o26912 x1
A i1 g2


Die Liste der "available commands" sehe ich schon nicht mehr. Hm. Habe es eben mit einem Nano solo (ohne RFM12) probiert.
Das Verhalten bleibt gleich. Ich lade mir gleich nochmal putty für Linux herunter, für screen und minicom bin ich wohl zu doof,
und überprüfe den Output des Stick.
Danach schaue ich mir meine Verkabelung nochmal an.
Melde mich dann wieder.
Danke bis hierhin für deine Mühen und Anleitung.

Gruß Thorsten

thosch

So, Verkabelungsfehler ist beseitigt und der Demo Sketch aus dem jeelib Ordner läuft.
Ich sehen auch den von dir gezeigten Dialog und kann Werte einstellen.
Nun lade ich deinen Sketch und sehe die zuletzt im eeprom eingestellten Werte.
Will ich diese Werte verstellen, erhalte ich die Fehlermeldung "config save failed".
Wenn ich danach in die serielle Console erneut schaue, habe ich wieder diese Werte:
[RF12demo.T10] A i1 g212 @ 433 MHz o26912 x1
A i1 g2


Any Idea's?

Gruß Thorsten




hexenmeister

Hi!

Hab versucht, die neue Version von RF12Demo zu kompilieren und habe vielleicht eine Edee ;)
Offensichtlich hat sich JeeLib Version in der Zeit massiv geändert. Probiere bitte meine Version zu nutzen, ich habe sie hier angehängt: https://github.com/hexenmeister/FHEM_Sensor/tree/master/lib

Ich hoffe, das wird das gewünschte Ergebnis bringen.

Wenn ich etwas Zeit habe, werde ich versuche, die meine Änderungen auf die aktuelle Version zu portieren (ist ja nicht so viel).


Grüße,

Alexander
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

thosch

Zitat von: hexenmeister am 09 November 2014, 15:29:34
Hi!

Hab versucht, die neue Version von RF12Demo zu kompilieren und habe vielleicht eine Edee ;)
Offensichtlich hat sich JeeLib Version in der Zeit massiv geändert. Probiere bitte meine Version zu nutzen, ich habe sie hier angehängt: https://github.com/hexenmeister/FHEM_Sensor/tree/master/lib
Firma dankt!

ZitatIch hoffe, das wird das gewünschte Ergebnis bringen.
Sie hat!

ZitatWenn ich etwas Zeit habe, werde ich versuche, die meine Änderungen auf die aktuelle Version zu portieren (ist ja nicht so viel).
Für mich reicht diese Version.

Danke schön
Thorsten

thosch

Zitat von: hexenmeister am 08 November 2014, 18:15:29

2 Fragen habe ich noch.

GSD 33 83 3 90 39 202 98 15 16 52 8 24 210 25
GSD 33 83 4 48 8 202 226 15 16 192 3 24 38 27

Siehst du die GSD-Markierungen bereits im seriellen Monitor oder erst im Event-Monitor
in Fhem?
Bei mir sieht es so aus im seriellen Monitor:
A i1* g212 @ 868 MHz
? 42 100 0 189 253 70 211 64 237 14 76 206 27 141 21 201 163 183 192 129 90
? 42 138 51 19 121 161 52 222 38 169 73 131 128 99 90 156 44 99 146 148 83


Du hast bei dir 31i eingegeben. Die Range ist doch aber eigentlich 1-30, oder?

Danke
Thorsten

hexenmeister

Die Meldungen kommen in der seriellen Console, im Event Monitor kommt da nichts.
Deine Meldungen kommen von irgendwelchen Sensoren aus der Nachbarschaft.

Ich meine, die Range geht von 0 bin 31 (und 31 funktioniert ja auch).

Grüße,

Alexander
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

locutus

#22
Falls noch jemand mitbasteln möchte, ich kann noch 8 unbestückte TinyTX3 Platinen entbehren.
Die Platine lässt sich auch als Breakout Board für das RFM12B Funkmodul zweckentfremden. Anstatt der IC-Fassung werden einfach Stiftleisten eingelötet und fertig ist die Experimentierplatine.
Stückpreis: 1,50 Euro zzgl. Briefversandkosten.

UPDATE:
Meine Platinen sind bereits vergriffen. Bitte richtet eure Kaufanfragen an hexenmeister. Danke!

ajoreis

Hallo, ich würde gerne drei Platinen kaufen, was muss ich tun?

Besten Dank

Olaf

locutus

Hallo Olaf,

die Kaufabwickung läuft über PM.

Danke

hexenmeister

Zitat von: locutus am 14 Januar 2015, 19:43:39
Falls noch jemand mitbasteln möchte, ich kann noch 8 unbestückte TinyTX3 Platinen entbehren.
[...]
Stückpreis: 1,50 Euro zzgl. Briefversandkosten.

... und wenn die nicht reichen, dann habe ich auch noch etwas übrig ;)

(http://s6z.de/cms/images/content/arduino/TinyTX/TinyTX_PCBs_k.jpg)

Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

ajoreis

Hallo
Wenn ich meine Hardware zusammen habe würde ich gerne den attiny84 und einem dht22 in Verbindung mit meiner pilight Version benutzen,
zum Flaschen habe ich ein arduino unter Windows, mich würde jetzt interessieren ob ich deine Version (Alexander) benutzen kann. Pilight benutzt 433 MHz oder ob ich mir eine andere Version suchen muss ?

Danke für ein kurze Info

Gruß

Olaf



hexenmeister

Moin!

Pilight kenne ich nicht, aber nach einem kurzen Blick auf deren Homepage würde ich sagen, dass das nicht ohne Weiteres mit dem RFM12B-Transmitter funktionieren wird. Auch nicht mit der 433MHz Version davon. Evtl. kann man RFM dazu bringen, mit dem einfachen pilight-Transmitter zu sprechen, optimal ist das aber wohl nicht, ich würde auf beiden Seiten kompatible Module verwenden.
Für den Empfang benötigst Du einen JeeLink (oder eben ein Nachbau davon).
Oder eben Du versuchst attiny mit dem einfachen Sendeeinheit zu betreiben.

Grüße,

Alexander
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

corny456

Hallo zusammen,

Hat jemand angesichts Verfügbarkeit der RFM12B schon mal die Sensoren mit dem RFM69CW getestet?
Kann man RFM12B und RFM69CW mischen? also zb. Jeelink mit RFM12B und Sensoren mit RFM69CW?

Grüße Marius

locutus

Hallo Marius,

die Funkmodule RFM12B und RFM69CW sind ohne Codeanpassung nicht untereinander austauschbar.
Ich habe einen JeeLink Clone mit RFM69CW seit einigen Wochen im Produktiveinsatz. Erstaunlich ist die Empfangsqualität. Das Funkmodul empfängt ohne Antenne zwei TX29DHT aus den Wohnräumen und eine EMT7110 aus dem Keller, durch zwei Deckenwände.

golmic

Hallo!
Kurze Frage: Wie muss ein negativer Wert übertragen werden?
Wenn ich
GSD 1 83 1 1 0 202 231 12 16 210 4- 24 148 17
übertrage, kommt  "temperature = 12.34" statt "-12,34". Was mache ich falsch?

hexenmeister

Das Format ist signed int, 2 Byte lang.
Wenn Du 210,4 überträgst, kommt eben 1234 raus (dann wird noch durch 100 geteilt).
Du musst stattdessen 46,251 übertragen, das ist dann -1234.
Minuszeichen hat da dagegen gar nichts verloren.

Zum Testen:
{my $value = GSD_parseNumber(210,4);;my $tf = 65536;;if($value > ($tf/2)) {$value = $value-$tf;;}$value/100}

{my $value = GSD_parseNumber(46,251);;my $tf = 65536;;if($value > ($tf/2)) {$value = $value-$tf;;}$value/100}
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

golmic