• Du musst dich registrieren, bevor du Beiträge verfassen kannst. Klicke auf Jetzt registrieren!, um den Registrierungsprozess zu starten. Registrierte User surfen werbefrei, können Suchen durchführen und sehen die volle Darstellung des Forums mit vielen anderen Unterforen!!!

Wlan Thermo - ohne RasPi

cadric

Militanter Veganer
5+ Jahre im GSV
Wifi-Grill-Thermometer Arduino/ESP8266

Da ich mich schon länger mit dem Thema Smarthome beschäftige möchte ich Euch hier meinen Prototypen eines Wlan-Thermometers vorstellen.

c12f5069be2c36f5836f74244096cb5c.png


Grund für die Eigenentwicklung war die Erfahrung mit dem besch... Weber Thermometer, für das ich über 70€ ausgegeben hab, es zweimal umtauschen mußte und selbst das dritte Modell absolut mies arbeitet. Mittlerweile gibt es ja ein neueres Modell, aber ich geb dafür kein Geld mehr aus. Ich legte mir noch eines aus dem Discounter zu, aber auch dieses verlor ständig die Verbindung.

Hier im Forum ist ja so wie ich das überblicken konnte das Raspi Thermometer sehr verbreitet. Ich selber setzte mehrere davon einige ein für verschiedene Aufgaben ( Mediacenter, Überwachungskamers, Heimautomation, Netzüberwachung....)
Allerdings ist ein RasPi für ein reines Thermometer eigentlich vollkommen überdimensioniert. Daher hier meine Lösung:

Durch die Hausautomation bin ich dann auf die kleinen Arduinos gestoßen, Nachteil: Wlan ist extrem teuer nachzurüsten. Doch dann entdeckte ich den kleinen ESP8266 Kontroller, der intern schon Wlan Möglichkeiten bietet und für ein paar Euro zu haben ist. Ursprünglich wollte ich einen Arduino Kontroller mittels ESP8266 ins eigene Netz hängen, so wie es auf vielen Internetseiten beschrieben wird. Dann las ich allerdings, dass der ESP8266 wesentlich leistungfähiger ist, als der Arduino und für gewisse Aufgaben der ESP selber vollkommen ausreichen würde. Mittlerweile habe auch die findigen Entwickler der Arduino IDE diese so erweitert, dass man den ESP mittels Arduino Umgebung programmieren kann. Das war meine Voraussetzung und ich suchte nach Lösungen eines Grillthermometers auf Basis des ESP8266. Mein erstes Problem zeigte sich darin, dass ein Grillmessfühler ein analoger Sensor ist, und ich daher Kontroller benötigte, welche den Analogen Port raus führen. Mit digitalen Sensoren (ds18b20) hatte ich schon erfolgreich an meiner Heizung Erfahrungen gesammelt, aber analoge Sensoren waren mir bisher nicht untergekommen.

Im Netz entdeckte ich dann Testplatinen, die den passenden Chip schon fertig aufgelötet hatten, incl. verschiedenen Sensoren, welche zum experimentieren gedacht waren. Und der Preis von unter 10€ incl. Batteriehalter war da unschlagbar. Dazu braucht man dann nur noch einen 3,3V USB FTDI Wandler, zur Programmierung.

Da ich aber beim Verständnis der Elektronischen Schaltpläne im Netz so meine Probleme hatte und ich zwei dieser Platinen erhalten hatte ging ich einfach hin, lötete den analogen Fotowiderstand an einer Platine aus , ersetzte ihn durch zwei Anschlusspinne und schloss daran den Messfühler an. Ich brauchte dann nur noch den richtigen Programmcode einzuspielen und das Thermometer funktionierte.
Allerdings war die Kalibrierung dann doch das größere Problem, da ich leider die Schaltung auf dem kleine Testboard nicht kannte und auch unsere Elektronikspeziallisten im Betrieb mir nicht weiterhelfen konnten dauerte es jetzt knapp zwei Wochen, bis ich einigermaßen annehmbare Werte ermitteln konnte. Wichtig ist dabei, das Verhältnis der beiden Widerstände ( Messfühler zu Spannungsteilerwiderstand) genau zu ermitteln. Diese Werte werden im Programmcode vorgegeben, damit die logarithmische Umrechnung von Widerstand in Temperatur passt.

Weiterhin brauchte ich ja eine Lösung um die Daten dann auch zu präsentieren. Anfangs dachte ich an einen kleinen Webserver, für den auch noch Platz in dem kleinen Controller gewesen wäre, Aber dann las ich in einen Projekt von "Thingspeak.com" und entschloss mich meine Messdaten dorthin zu senden. Ich fand auch gleich die Anleitung um dies erfolgreich hin zu bekommen.
Auf meine Handy habe ich zwei Apps, die sich mit meinem Thingspeak Account verbinden und die Themperatur aktuell darstellen.

Screenshot_20160606-161050.png




Der gestrige erste Einsatz am Grill zeigt dann annähernd passende Werte ;-)



Was jetzt noch fehlt:
- Ein-/Aus-Schalter
- passendes Gehäuse
- LED Kopplung als Herzschlag


Board: https://eckstein-shop.de/ESP8266-ESP-12-WIFI-Evaluation-Board-Wireless-Test-Board-full-IO-Leads
(ich hab meine bei AMAZ.... bestellt)
Board Review: http://www.esp8266.com/viewtopic.php?f=29&t=5503
USB Adapter: http://www.ebay.de/itm/ft232rl-ftdi...pter-modul-5v-3-3v-fuer-arduino-/301876321218
Thermistor-Tutorial/Programmcode:https://learn.adafruit.com/thermistor/using-a-thermistor
Arduino Beispiel: http://www.universalmind.com/blog/technology/smoking-meat-with-the-internet-of-things/
https://www.safaribooksonline.com/blog/2013/07/25/an-arduino-powered-bbq-thermometer/
Thingspeakdatenlogger: http://www.instructables.com/id/ESP8266-Wifi-Temperature-Logger/step4/ThingSpeak-setup/
weiteres Howto zu Thingspeak: https://www.arduino.cc/en/Tutorial/WiFi101ThingSpeakDataUploader
Apps für Thingspeak: http://noobtechiespeaks.blogspot.de/2014/10/android-app-to-connect-to-thingspeak.html
https://play.google.com/store/apps/details?id=ua.livi.thingspeakmonitor&hl=de

Soweit erst mal, hoffe der Ein oder Andere kann etwas damit anfangen.

Gruß
cadric
 

Anhänge

  • c12f5069be2c36f5836f74244096cb5c.png
    c12f5069be2c36f5836f74244096cb5c.png
    1,6 MB · Aufrufe: 2.706
  • Screenshot_20160606-161050.png
    Screenshot_20160606-161050.png
    190,3 KB · Aufrufe: 2.290
Schöne Arbeit. Ich vermute mal du hängst deinen Fühler derzeit an den ESP-eigenen ADC, so bist du auf einen Kanal beschränkte. Wenn du den A\D-Teil des WLANThermo nachbaust (MCP3208, Spannungsteiler etc.) und an die SPI-Schnittstelle hängst, dann kannst du bis zu 8 Kanäle an Thingspeak schicken. Falls du den Code dafür brauchst, sag Bescheid, kann ich dir nach meinem Urlaub zuschicken.
 
Hallo S.Ochs,

Ja hab mir auch schon Lösungen für mehre Sensoren angesehen, aber im Moment brauche ich nur den für die Kerntemperatur. Trotzdem danke für Dein Angebot. Wenn es soweit sein sollte melde ich mich noch mal.

Gruß

Cadric
 
Coole Arbeit! Thingspeak gibts übrigens auch zur Installation auf einem Raspi. So hat man seine Daten im Haus und kann damit machen was man will. Interessant fand ich es aber auch, Thingspeak auf nem Raspi laufen zu sehen. Installation dauert auf einen B übriges ca. 4 Stunden...
 
Wifi-Grill-Thermometer Arduino/ESP8266

Da ich mich schon länger mit dem Thema Smarthome beschäftige möchte ich Euch hier meinen Prototypen eines Wlan-Thermometers vorstellen.

Anhang anzeigen 1259131

Grund für die Eigenentwicklung war die Erfahrung mit dem besch... Weber Thermometer, für das ich über 70€ ausgegeben hab, es zweimal umtauschen mußte und selbst das dritte Modell absolut mies arbeitet. Mittlerweile gibt es ja ein neueres Modell, aber ich geb dafür kein Geld mehr aus. Ich legte mir noch eines aus dem Discounter zu, aber auch dieses verlor ständig die Verbindung.

Hier im Forum ist ja so wie ich das überblicken konnte das Raspi Thermometer sehr verbreitet. Ich selber setzte mehrere davon einige ein für verschiedene Aufgaben ( Mediacenter, Überwachungskamers, Heimautomation, Netzüberwachung....)
Allerdings ist ein RasPi für ein reines Thermometer eigentlich vollkommen überdimensioniert. Daher hier meine Lösung:

Durch die Hausautomation bin ich dann auf die kleinen Arduinos gestoßen, Nachteil: Wlan ist extrem teuer nachzurüsten. Doch dann entdeckte ich den kleinen ESP8266 Kontroller, der intern schon Wlan Möglichkeiten bietet und für ein paar Euro zu haben ist. Ursprünglich wollte ich einen Arduino Kontroller mittels ESP8266 ins eigene Netz hängen, so wie es auf vielen Internetseiten beschrieben wird. Dann las ich allerdings, dass der ESP8266 wesentlich leistungfähiger ist, als der Arduino und für gewisse Aufgaben der ESP selber vollkommen ausreichen würde. Mittlerweile habe auch die findigen Entwickler der Arduino IDE diese so erweitert, dass man den ESP mittels Arduino Umgebung programmieren kann. Das war meine Voraussetzung und ich suchte nach Lösungen eines Grillthermometers auf Basis des ESP8266. Mein erstes Problem zeigte sich darin, dass ein Grillmessfühler ein analoger Sensor ist, und ich daher Kontroller benötigte, welche den Analogen Port raus führen. Mit digitalen Sensoren (ds18b20) hatte ich schon erfolgreich an meiner Heizung Erfahrungen gesammelt, aber analoge Sensoren waren mir bisher nicht untergekommen.

Im Netz entdeckte ich dann Testplatinen, die den passenden Chip schon fertig aufgelötet hatten, incl. verschiedenen Sensoren, welche zum experimentieren gedacht waren. Und der Preis von unter 10€ incl. Batteriehalter war da unschlagbar. Dazu braucht man dann nur noch einen 3,3V USB FTDI Wandler, zur Programmierung.

Da ich aber beim Verständnis der Elektronischen Schaltpläne im Netz so meine Probleme hatte und ich zwei dieser Platinen erhalten hatte ging ich einfach hin, lötete den analogen Fotowiderstand an einer Platine aus , ersetzte ihn durch zwei Anschlusspinne und schloss daran den Messfühler an. Ich brauchte dann nur noch den richtigen Programmcode einzuspielen und das Thermometer funktionierte.
Allerdings war die Kalibrierung dann doch das größere Problem, da ich leider die Schaltung auf dem kleine Testboard nicht kannte und auch unsere Elektronikspeziallisten im Betrieb mir nicht weiterhelfen konnten dauerte es jetzt knapp zwei Wochen, bis ich einigermaßen annehmbare Werte ermitteln konnte. Wichtig ist dabei, das Verhältnis der beiden Widerstände ( Messfühler zu Spannungsteilerwiderstand) genau zu ermitteln. Diese Werte werden im Programmcode vorgegeben, damit die logarithmische Umrechnung von Widerstand in Temperatur passt.

Weiterhin brauchte ich ja eine Lösung um die Daten dann auch zu präsentieren. Anfangs dachte ich an einen kleinen Webserver, für den auch noch Platz in dem kleinen Controller gewesen wäre, Aber dann las ich in einen Projekt von "Thingspeak.com" und entschloss mich meine Messdaten dorthin zu senden. Ich fand auch gleich die Anleitung um dies erfolgreich hin zu bekommen.
Auf meine Handy habe ich zwei Apps, die sich mit meinem Thingspeak Account verbinden und die Themperatur aktuell darstellen.

Anhang anzeigen 1259525



Der gestrige erste Einsatz am Grill zeigt dann annähernd passende Werte ;-)



Was jetzt noch fehlt:
- Ein-/Aus-Schalter
- passendes Gehäuse
- LED Kopplung als Herzschlag


Board: https://eckstein-shop.de/ESP8266-ESP-12-WIFI-Evaluation-Board-Wireless-Test-Board-full-IO-Leads
(ich hab meine bei AMAZ.... bestellt)
Board Review: http://www.esp8266.com/viewtopic.php?f=29&t=5503
USB Adapter: http://www.ebay.de/itm/ft232rl-ftdi...pter-modul-5v-3-3v-fuer-arduino-/301876321218
Thermistor-Tutorial/Programmcode:https://learn.adafruit.com/thermistor/using-a-thermistor
Arduino Beispiel: http://www.universalmind.com/blog/technology/smoking-meat-with-the-internet-of-things/
https://www.safaribooksonline.com/blog/2013/07/25/an-arduino-powered-bbq-thermometer/
Thingspeakdatenlogger: http://www.instructables.com/id/ESP8266-Wifi-Temperature-Logger/step4/ThingSpeak-setup/
weiteres Howto zu Thingspeak: https://www.arduino.cc/en/Tutorial/WiFi101ThingSpeakDataUploader
Apps für Thingspeak: http://noobtechiespeaks.blogspot.de/2014/10/android-app-to-connect-to-thingspeak.html
https://play.google.com/store/apps/details?id=ua.livi.thingspeakmonitor&hl=de

Soweit erst mal, hoffe der Ein oder Andere kann etwas damit anfangen.

Gruß
cadric

Gibts den Code von dir auch zur freien Verfügung? Das wäre echt nett, denn ich kann alles, außer Coden:rolleyes:
 
Hi Kabelbrand,

stell ich gerne hier zur Verfügung, übernehm aber keine Garantien dass alles sofort funktioniert, da sich der Code immer noch im Entwicklungsstadium befindet.
Es handelt sich auch nicht um Plug and Play Code, die angegebenen Quellen solltest Du Dir zum Verständnis auf jeden Fall ansehen.

Aber ich kann Dich andererseits beruhigen: gecoded hab ich hier auch nix.....

Hab ja schon im ersten Post geschrieben, ist nicht auf meinen Mist gewachsen, ich hab mir nur die richtigen vorhandenen Schnipsel kombiniert.
Die größte Schwierigkeit für mich war es, das richtige Verhältnis von Meßfühler zu Serienwiderstand zu ermitteln, damit die richtige Temperatur angezeigt wird.
Da bei der verwendeten Experimentierplatine ein fester Widerstand in Verbindung mit dem Fotowiderstand schon vorhanden war,
aber selbst die Kollegen der elektrischen Fraktion im Betrieb nicht in der Lage waren diesen genau zu ermitteln.
Ich mußte einige Tage lang Werte probieren, bis ich eine einigermaßen akzeptable Temperaturkurve darstellen konnte.
Jetzt hab ich einen Schalter und Kleinteile dazwischen gelötet, und schon stimmen die Widerstandswerte nicht mehr und ich kann mit dem "Eichen" von Vorne beginnen.

Also die wichtigen Zeilen sind :
// resistance at 25 degrees C
#define THERMISTORNOMINAL ......
// the value of the 'other resistor
#define SERIESRESISTOR ............

ursprüngliche Werte waren hier 100 000, meine Experimente haben aber andere Werte ergeben.
Mein Meßfühler hat so ungefähr 180000 - 200000 Ohm bei 25°C.

Derzeit bin ich aber noch mit einer anderen Erweiterung beschäftigt: der größte Nachteil am bisherigen Code ist nämlich, dass das Wlan im Code fest verankert wird.
D.h. man kann es nur in einem vorher angegebenen Wlan nutzen.
Dazu hab ich jetzt ebenfalls einen Lösung gefunden, die für die ersten 3 Minuten nach dem Einschalten einen Wlan-AP aufmacht, und dann die Möglichkeit bietet, ein am aktuellen Ort vorhandenes Wlan Netz einzutragen, macht das Thermometer also mobil.

ESP-Webconfig-Master: https://github.com/Orkeren/ESP8266-Arduino-Webconfig/blob/master/ESP_WebConfig_Master.ino

So, nun wünsch ich jedem der es nutzen will, viel Spaß und Gedult beim Tüfteln.....

Gruß

cadric
 

Anhänge

  • wlanthermometerthingspeak.zip
    1,6 KB · Aufrufe: 226
Mein Meßfühler hat so ungefähr 180000 - 200000 Ohm bei 25°C.
Die großen Jungs haben für ein paar Fühler schon echte Messwerte und Kurven für ein paar Sensoren. Kannst ja da mal nachsehen, liegt auch im GitHub unter /software/usr/share/doc/WLANThermo/...
Vielleicht hilft es dir.
 
Hi Kabelbrand,

stell ich gerne hier zur Verfügung, übernehm aber keine Garantien dass alles sofort funktioniert, da sich der Code immer noch im Entwicklungsstadium befindet.
Es handelt sich auch nicht um Plug and Play Code, die angegebenen Quellen solltest Du Dir zum Verständnis auf jeden Fall ansehen.

Aber ich kann Dich andererseits beruhigen: gecoded hab ich hier auch nix.....

Hab ja schon im ersten Post geschrieben, ist nicht auf meinen Mist gewachsen, ich hab mir nur die richtigen vorhandenen Schnipsel kombiniert.
Die größte Schwierigkeit für mich war es, das richtige Verhältnis von Meßfühler zu Serienwiderstand zu ermitteln, damit die richtige Temperatur angezeigt wird.
Da bei der verwendeten Experimentierplatine ein fester Widerstand in Verbindung mit dem Fotowiderstand schon vorhanden war,
aber selbst die Kollegen der elektrischen Fraktion im Betrieb nicht in der Lage waren diesen genau zu ermitteln.
Ich mußte einige Tage lang Werte probieren, bis ich eine einigermaßen akzeptable Temperaturkurve darstellen konnte.
Jetzt hab ich einen Schalter und Kleinteile dazwischen gelötet, und schon stimmen die Widerstandswerte nicht mehr und ich kann mit dem "Eichen" von Vorne beginnen.

Also die wichtigen Zeilen sind :
// resistance at 25 degrees C
#define THERMISTORNOMINAL ......
// the value of the 'other resistor
#define SERIESRESISTOR ............

ursprüngliche Werte waren hier 100 000, meine Experimente haben aber andere Werte ergeben.
Mein Meßfühler hat so ungefähr 180000 - 200000 Ohm bei 25°C.

Derzeit bin ich aber noch mit einer anderen Erweiterung beschäftigt: der größte Nachteil am bisherigen Code ist nämlich, dass das Wlan im Code fest verankert wird.
D.h. man kann es nur in einem vorher angegebenen Wlan nutzen.
Dazu hab ich jetzt ebenfalls einen Lösung gefunden, die für die ersten 3 Minuten nach dem Einschalten einen Wlan-AP aufmacht, und dann die Möglichkeit bietet, ein am aktuellen Ort vorhandenes Wlan Netz einzutragen, macht das Thermometer also mobil.

ESP-Webconfig-Master: https://github.com/Orkeren/ESP8266-Arduino-Webconfig/blob/master/ESP_WebConfig_Master.ino

So, nun wünsch ich jedem der es nutzen will, viel Spaß und Gedult beim Tüfteln.....

Gruß

cadric

Herzlichen Dank!

Ich erwarte gar nichts und mir ist absolut klar, dass Fehler o.ä. drin sein können und nicht alles funktioniert. Wenn ich einen Status zu vermelden habe, geb ich Bescheid. Und genau um das Tüfteln geht es ja hierbei. Fertig ist nix und es gibt keine Garantie. So soll das sein:o

Gruß & Dank
Markus
 
@ Björn,

danke für den Tip, schau ich mir auf jeden Fall an, hab heute wieder knapp 3 Stunden versucht die richtigen Werte zu ermitteln, leider erfolglos.
Da ich bisher keine Doku zu dem Board gefunden hab, kann ich auch den Widerstandswert des Spannungsteilers nicht bestimmen.

@ Markus,

dann wünsch ich Dir viel Spaß und Erfolg beim Tüfteln. Ich bleib auf jeden Fall auch dran.

Gruß

cadric
 
@ Björn,

danke für den Tip, schau ich mir auf jeden Fall an, hab heute wieder knapp 3 Stunden versucht die richtigen Werte zu ermitteln, leider erfolglos.
Da ich bisher keine Doku zu dem Board gefunden hab, kann ich auch den Widerstandswert des Spannungsteilers nicht bestimmen.

@ Markus,

dann wünsch ich Dir viel Spaß und Erfolg beim Tüfteln. Ich bleib auf jeden Fall auch dran.

Gruß

cadric

Warum kaufst du dir kein NodeMCU? Dann kannst den Widerstand vom Original verwenden und dann die Werte aus der Config eintragen. So werde zumindest ich es machen:D
 
Hi,

@kabelbrand,
ich hab das Board gewählt, weil da schon alles vorhanden ist, incl. Batteriehalter. Im Grunde braucht man nur den Fotowiderstand auslöten, und stattdessen den Meßfühler anklemmen.
Leider ist die Dokumentation zum Board bis auf die oben angegebenen Links extrem dürftig.

@Björn
Da ist ja im Review auch die Vorderseite groß dargestellt.
Den Fotowiderstand hab ich gestern gemessen und der hatte bei Dunkelheit 2MOhm.
Aber ich krieg das schon geknackt.

Gruß und Danke

cadric
 
Ich glaub mit groß meinte Björn, so, dass man die kleine Schrift auf den SMD-Widerständen lesen kann.

Edit: Eventuell kannst du ja auch die Widerstände vom Spannungsteiler kurz auslöten und vermessen, oder sogar durch eine bessere Konfiguration ersetzen. Die Schaltung selbst lässt sich durch die Leiterbahnen ja wahrscheinlich gut erkennen.
 
Die Rückseite brauche ich auch.
 
Und:
Was hast du da für einen Fühler?
Weber?
 
Hallo Björn,

danke für deine Hilfe, konnte leider nicht früher antworten.
Der Fühler stammt vom Weber Funkthermometer 6439.
Anbei noch die Bilder zum Bord.
Es handelt sich um ein development Bord von ai-thinker, soviel hab ich schon rausbekommen. Es gibt viele Informationen im Netz aber leider hab ich keinen Schaltplan gefunden. Auf den Widerständen steht 105, also 1MOhm.

Cadric

20160709_092556.jpg


20160709_092641.jpg
 

Anhänge

  • 20160709_092556.jpg
    20160709_092556.jpg
    191,3 KB · Aufrufe: 1.575
  • 20160709_092641.jpg
    20160709_092641.jpg
    277,2 KB · Aufrufe: 1.633
Spannungsteiler 1MOhm zu 1MOhm, LDR parallel zum auf GND geschalteten Widerstand (vermutlich, ist nicht 100% zu erkennen).
Vielleicht hättest du nicht die Schlosser oder Tischler eurer elektrischen Fraktion fragen sollen...
Fühler statt LDR, Widerstand daneben gegen etwas um die 47k tauschen, den anderen rauswerfen.
Steinhart -Hart Formel aus dem WLANThermo, die Parameter vom Sensor "Rosenstein" sollten dich auf den richtigen Weg bringen.
 
Hi Björn,

ja so hatte ich das auch mittlerweile ermittelt, meine App zur Berechnung eines Spannungsteiles hat dann auch die gemessene Spannung (~1,3V)bestätigt.
Danke für den Hinweis auf den Rosenstein Sensor, damit werd ichs probieren.
Wenn ich Dich richtig verstehe, bau ich den Spannungsteiler ja komplett um, wenn der eine Widerstand rausfliegt.
Vielleicht sollte ich die Anschlüsse des ehemaligen Fotowiderstandes erstmal ignorieren und mit einem kompletten Neuaufbau versuchen.
Ich denke das hilft mir dann auch, das alles besser zu verstehen.

Gruß

cadric

Spannungsteiler.png
 

Anhänge

  • Spannungsteiler.png
    Spannungsteiler.png
    50 KB · Aufrufe: 1.623
Wie du es machst ist eigentlich egal. Ein LDR hat nur einen riesigen Widerstandsbereich, daher vermutlich die Schaltung. Am Ende wird Umbau oder Neuaufbau aufs gleiche hinauslaufen.
 
Daher schrieb ich ja, dass du am besten mit einem separaten ESP anfängst und die Schaltung auf einem Breadboard zusammenplöppelst. Und wenn der Käse wie erhofft rennt, dann kannst du immer noch ne Platine machen oder dir was auf Lochraster zusammenbraten. So wie es jetzt ist, macht das sicher keinen Spaß, oder du hast Spaß daran:whip:
 
Zurück
Oben Unten