DHT22 Sensor - Problem Luftfeuchte zu messen

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Moinsen

    Was macht der 17,50 Euro BME anders als der 6 Euro BME?

    Er macht nichts anders. Nur ist das 6 Pin ( Preiswertmodell ) nicht direkt GPIO Kompatibel, wenn man den Sensor direkt an das µC Board löten will ( außer man läst paar Pins unbelegt, und fängt sich mechanische Instabilitäten ein. ). Deswegen hatte ich auch die GY21 Variante mit aufgeführt. Quellen sind ja nun einmal den marktüblichen Preisschwankungen unterworfen ;)
    Die beiden AZ-Delivery Varianten lassen sich via Stiftleiten Adapter, also direkt an ein PICO oder ESP Board löten, und so kann man auch Platz sparen.

    Franky

  • Danke keepfear und Franky07 für die super Unterstützung. Ich werde mal bei AZ Delivery den GY21 und das D1 Mini NodeMcu mit ESP8266-12F WLAN Modul kompatibel mit Arduino

    Zum Test jetzt beschaffen. Den Rest beziehe ich über Reichelt. Wenn ich dann weitere Sensoren brauche, dann würde ich evtl. BME280 über den Chinesen beschaffen und das Projekt mit BME280 Sensoren weiter aufbauen . Das sollte dann auch funktionieren.. Ich bin gespannt.

  • Hallo, nun melde ich mich nach einiger Zeit wieder. Ich bin leider nicht früher dazu gekommen. Ich habe aber schrittweise an dem Projekt weitergearbeitet. Wie besprochen habe ich die Platine soweit fertig verlötet.

    Nach folgender Anleitung möchte ich das Ganze aufbauen: https://www.raspberry-pi-geek.de/ausgaben/rpg/2…r/#artRef-xMQTT

    Nun scheitere ich beim Verbindungsaufbau zum MQTT Server.

    Status MQTT Server siehe Screenshot_Status_MQTT.jpg

    Ich wollte mal den MQTT Server testen. Auslesen möchte ich das Ganze über die Chrome App MQTT Box. Jedoch weiß ich nicht was ich da einstellen muss. Es steht die Auswahl MQTT Client und MQTT Load zur Verfügung. (siehe MQTTBox.JPG).

    Im Arduino IDE habe ich das Programm soweit schon geschrieben. (siehe Programm_V1.txt) Die IP Adresse für den Raspberry habe ich über meinen Router fest zugeordnet.

    Beim Überprüfen des Programms kommt folgende Meldung (Testen_Arduino.txt)

    Beim Hochladen des Programms kommen folgende Meldungen (Hochladen-Arduino.txt)

    Anbei die Arduino Settings. Den TTYUSB Port konnte ich nicht auswählen. Es ist nur eine Auswahl eines COM Ports möglich. (Arduino_Settings.png)

    Hier habe ich den COM Port dann ausgewählt, welcher auch im Geräte Manager angezeigt wird (COM3)

    Kann mir jemand weiterhelfen.

    Auf Seite 3 blicke ich dann nicht mehr durch. Wie starte ich Node RED. Was ist die Adresse dafür?

    https://192.168.178.36:1883/ bringt mir einen Seiten Ladefehler. Wie konfiguriere ich das?

    Aktuell habe ich einen Sensor angeschlossen. Muss ich das von mir erstellte Programm (Programm_v1.txt) umschreiben? Wenn ja wie?

    Danke vorab für Rückinfo. Ich hoffe ihr könnt mir weiterhelfen.

  • Update: MQTT Server funktioniert bei mir nun. Ich habe doch eine gute Anleitung für die ChromeBox gefunden. Den Client konnte ich erfolgreich einrichten. Folgende Anleitungen haben mir sehr geholfen:

    https://www.elektronik-kompendium.de/sites/raspberry-pi/2709041.htm

    https://www.raspberry-pi-geek.de/ausgaben/rpg/2…rk-austauschen/

    Bitte noch Rückinfo zu NodeRED. Das habe ich noch nicht hinbekommen. Danke und schöne Ostern!

  • Hallo, ich benötige nochmal Unterstützung beim Erstellen des NodeRED Flows. Ich bin jetzt soweit, dass ich den NodeRED Flow soweit nach dem Beispiel unter : https://www.raspberry-pi-geek.de/ausgaben/rpg/2…ur/3/#artRef-f7

    eingerichtet habe. Wie empfange ich aber nun die Sensordaten. Ich habe keinen Taster um die Werte zu pushen. Konfiguriert hätte ich folgendes:

    Alle 10 sek. sollte eigentlich ein Messwert übertragen werden. Ich habe hier Probleme in der MQTT Box die Nachrichten zu empfangen. Wie mache ich das? siehe Screenshots. Bei Übernahme (deploy) des Node Red Flows gibt es anscheinend Fehler (siehe Screenshot)

    Bitte um Unterstützung. ich bin schon sehr weit angelangt und möchte das Projekt abschließen. Danke vorab für eure Unterstützung.

  • Sieht eher aus, als ob alle 1000 Sekunden übertragen wird, weil 1000000 Millisekunden * 10 = 1000 Sekunden, oder übersehe ich was ?

    Musst du nicht noch den Sensor includen, oder läuft der über wire.h ?

    Und muss ssid, Passwort und IP wirklich in spitzen Klammern sein ?

    Was sagt denn der serielle Monitor in der IDE, wenn du das Script laufen lässt ?

  • Hallo, ok. Ja das kann sein, dass alle 1000 Sekunden übertragen wird.. dann ändere ich das testweise auch noch auf 5 sekunden ab. ich habe leider wenig Erfahrung mit dem Aufbau des Skripts und wie ich es modifizieren muss für meinen Anwendungsfall.

    Was bedeutet includen bzw. Wire.h?

    Ob ssid etc. In spitzen Klammern sein muss weiß ich nicht.. ich kann es auch ohne mal probieren.

    Was meinst du mit seriellen Monitor in der IDE? Wie kann ich das Ergebnis darstellen?

    Wie lasse ich das Skript laufen?

  • Moin!

    Nur zur Klarheit. Welchen Sensor nutzt du nun an dem ESP8266??

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Hallo zusammen,

    das ist mein Flow in Node-Red:

    Code
    [{"id":"f15dd20aeb1aa33c","type":"tab","label":"Flow 1","disabled":false,"info":"","env":[]},{"id":"b4ee3a4f75ad693a","type":"mqtt-broker","name":"Haus","broker":"localhost","port":"1883","clientid":"","autoConnect":true,"usetls":false,"protocolVersion":"3","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""},{"id":"a38c68cd07db5fe4","type":"mqtt in","z":"f15dd20aeb1aa33c","name":"Haus","topic":"Sensor1","qos":"2","datatype":"auto-detect","broker":"b4ee3a4f75ad693a","nl":false,"rap":true,"rh":0,"inputs":0,"x":370,"y":140,"wires":[["5ad3dc9bf26fd0bc"]]},{"id":"5ad3dc9bf26fd0bc","type":"json","z":"f15dd20aeb1aa33c","name":"","property":"payload","action":"","pretty":false,"x":590,"y":140,"wires":[["4c10690bfc5a046f","0a36728580e7f569"]]},{"id":"4c10690bfc5a046f","type":"change","z":"f15dd20aeb1aa33c","name":"Luftfeuchtigkeit","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.humidity","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":820,"y":100,"wires":[["f0361552c2874e41"]]},{"id":"0a36728580e7f569","type":"change","z":"f15dd20aeb1aa33c","name":"Temperatur","rules":[{"t":"set","p":"payload","pt":"msg","to":"msg.payload.temperature","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":770,"y":180,"wires":[["3596ce3f158eab8f"]]},{"id":"f0361552c2874e41","type":"ui_gauge","z":"f15dd20aeb1aa33c","name":"Luftfeuchtigkeit","group":"","order":0,"width":0,"height":0,"gtype":"gage","title":"LuftfeuchtigkeitTest","label":"units","format":"{{value}}","min":0,"max":"100","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","diff":false,"className":"","x":1080,"y":100,"wires":[]},{"id":"3596ce3f158eab8f","type":"ui_gauge","z":"f15dd20aeb1aa33c","name":"Temperatur","group":"","order":0,"width":0,"height":0,"gtype":"gage","title":"gauge","label":"units","format":"{{value}}","min":0,"max":"50","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","diff":false,"className":"","x":1070,"y":180,"wires":[]}]

    Anbei habe ich auch einen Screenshot und das .json File.

    Bernd666 : ich nutze einen BME280 Sensor.

    Ich habe das Programm wie von fred0815 empfohlen abgeändert, sodass alle 10 sek. ein Wert übertragen werden sollte.

    Code
    ESP.deepSleep(intervall*10000);

    fred0815 : Den Code schiebe ich mit Arduino IDE 2.0.4 auf den ESP. Das mache ich wie im Screenshot 'HochladenESP.png' ersichtlich. (1) Klick auf Hochladen. Das Hochladen ist auch soweit erfolgreich (2). Keine Fehler im Script. Die eckigen Klammern habe ich entfernt bei IP Adresse, Kennwort und SSID. Anbei nochmal der komplette Code:

    Der serielle Monitor gibt nun alle 5-10 sek. ein Fragezeichen aus. Die Verkabelung zum Sensor sollte korrekt sein. Ich habe diese auch nochmal geprüft. Was mache ich falsch? Ich denke es gibt noch Fehler im Script. Danke für eure Unterstützung und super, dass zu dem Thema wieder Antworten kommen.

  • Moin _AndyRapsberry!,

    gehe ich recht in der Annahme, das du keine Ahnung davon hast, was du da machst?!

    Du hast dir den Code aus der Zeitschrift geschnappt, irgendeinen Sensor genommen und hoffst das es funktioniert.

    Der genutzte Code könnte für einen AM2123 gehen, sicher bin ich mir da aber auch nicht. Es fehlt die I2C-Adresse und sonstige Dinge.

    Ok, einen Hinweis: Schalte in der Arduino IDE den seriellen Monitor mal auf 115200Bd.

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Hallo Bernd666 ,

    ja, dem ist so. Man müsste diesen für den BME280 anpassen.

    keepfear und Franky07 haben mir diesen damals empfohlen.

    Den seriellen Monitor habe ich mal auf 115200 baud gestellt. Anstatt dem Fragezeichen wird nun ein Punkt angezeigt.

    Kann du mich beim Aufbau des Skripts unterstützen? Was müsste ich daran noch modifizieren?

  • Moin _AndyRapsberry!,

    wenn du einen Punkt bekommst dann befindest du dich

    in der roten Zeile in deinem Programm. Rot geht nicht. Da wo der <-- ist.

    Hast du diese Zeilen an deine Umgebung angepasst?

    const char* ssid = "Fritz!Box 7590 US";

    const char* pass = "2xx49xx7303xx219xx1x";

    Hier muss deine SSId und auch dein WLan-Passwort rein.

    Wenn alles passt solltest du folgendes sehen:

    Connected: deine_ssid

    IP address: 192.168.xxx.xxx

    Falls du nochmal einen Code, hier in das Forum, dann mach SSId und Passwort unkenntlich. Bitte!

    Wenn es soweit ist, dann melde dich.

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

    Einmal editiert, zuletzt von Bernd666 (19. Mai 2023 um 20:15) aus folgendem Grund: Typo beseitigt

Jetzt mitmachen!

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