Day 14: Long-term temperature measurement
Behind today’s door is an NTC sensor (negative temperature coefficient thermistor). Its conductivity changes depending on the temperature. You’ll use the sensor today to undertake a long-term measurement of the temperature. As a small bonus, you can select a time at which you get a summary by email.
For today’s layout, in addition to the NTC, you’ll also need the potentiometer and a 1-kohm resistor. You can make a fine adjustment of the temperature with the potentiometer.
You can load the interface in your Blynk app with the QR code. In the programme you download from the website, besides the current token and your WLAN data, today you have to enter an email address again to which the summary should be sent.
The Blynk interface contains the history graph as the central element. It shows the current temperature as well as maximum and minimum values. In the line below, you can select the time frame of the data to be visualised. You can delete the stored data by swiping on the widget toward the left while the interface is active. You’ll also find the current temperature in the display under the graph. With the elements at the bottom left, you can make adjustments for the automatic sending of a summary. However, with the button on the right side, you can also have a summary sent at any time.
Tag 14 Langzeit Temperaturmessung
1.Frage: muß oder sollten die Messlinien automatisch beim Handy laufen?
Bei mir nur wenn ich beim Handy kurz aus und ein schalte rückt es weiter?
2.Frage: sollte in der E-Mailnachricht bei Auto-Send eine Temperaturlinie dargestellt sein?
Kommen nur für mich unleserliche Zeichen
Mit dem Briefsymbol ist es okay.
Wie sieht es bei Euch aus?
Grüsse von jodebrezel
Tag 14 Langzeit Temperaturmessung:
1. QR Scaner funktioniert nicht ?
Andere QR Scaner funktionieren!
Wie kann ich die Temperaturmessung manuel einrichten?
2. History Graph im Blynk App nicht vorhanden.
wer kann mir da weiter helfen od. Tipp´s geben.
Vielen Dank im voraus Josef
Habe den QR-Code vergrößert ausgedruckt – funktioniert
Ich möchte Daten einer Heizungssteuerung ausgeben. Diese sollen seriell eingelesen und dann analog zu diesem Beispiel an Blynk übergeben werden. Anschlüsse für eine serielle Schnittstelle sind herausgeführt, wie wird bitte diese Schnittstelle Von der Bibliothek unterstützt?
Kurze Frage: Muss NanoESP an einem PC hängen oer reicht es wenn er mit Strom vesorgt wird? Ich möchte nämlich die Temperatur unterwegs lesen können ohne das zu hause ein PC dafür laufen muss.
Problem gelöst und Frage beantwortet. Ja, Strom alleine reicht. Es braucht bloß kurz um sich zu verbinden so wie es scheint.
Ich arbeite mit dem Raspberry PI.
Arduino IDE 2:1.0.5+dfsg2-4
Hat bisher alles funktioniert.
Hier kommt der Compiler nicht mit der Konvertierung von double in String klar.
Abhilfe: alle double in int32_t geändert.
Thermistor-Funktion:
int32_t Thermistor(int …){
double Temp;
…
return int(Temp);
}
So erhalte ich vernünftige Werte.
Schade, das der RPI keine aktuelle IDE hat…
Hallo.
Ich habe mir gedacht man könnte das Experiment dieses Tages doch mit den Bauteilen die jetzt neu dazugekommen sind erwitern. Also den versuchsaufbau des Tages 18 verwenden, und diese Daten an die Blynk-App übertragen.
Leider bin ich nicht gut im Programmieren, und würde mich ddeswegen freuen wenn mir jemand helfen
könnte.
Danke schon mal im vorraus.
habe den QR- Code vergrößert ausgedruckt – funktioniert
Scheinbar findet der Compiler die beiden definieren Funktionen nicht. Das passiert häufig wenn im Programm z.b. ein Semikolon vergessen wurde. Da du das Programm neu heruntergeladen hast und vermutlich nur token, ssid und Passwort verändert hast, würde ich an dieser Stelle mal gucken ob ein Semikolon oder auch Anführungszeichen fehlen.
ich hab die 3 Sachen überprüft und kann nichts feststellen.
Kann ich dir mal das Programm per Email senden und du könnest mal drüber schauen, ob da ein Fehler ist??
Danke
Ja kein Problem. Oder ins Forum damit auch andere gucken können. Welche Arduino Version und welches Betriebssystem nutzt du?
Hab es ins Forum gesetzt Danke
Ich habe das Problem durch Ändern der Reihenfolge gelöst (das Programm ist sonst unverändert)
/*
Blnky10: NTC-Sensor
Change ssid, password, token and email
*/
char ssid[] = “xxx”;
char password[] = “xxx”;
char token[] = “xxx”;
char email[] = “xxx”;
char subject[] = “Temperatur Summary”;
#define BLYNK_DEBUG
#define BLYNK_PRINT Serial // Comment this out to disable prints and save space
#include
#include
#include
#include
// Set ESP8266 Serial object
#include
SoftwareSerial EspSerial(11, 12); // RX, TX
ESP8266 wifi(EspSerial);
SimpleTimer timer;
//init max min value (0 makes no sense)
double tempMax = – 273;
double tempMin = +200;
bool autoSend;
double Thermistor(int RawADC) {
//Source: http://playground.arduino.cc/ComponentLib/Thermistor2
double Temp;
Temp = log(10000.0 * ((1024.0 / RawADC – 1)));
// =log(10000.0/(1024.0/RawADC-1)) // for pull-up configuration
Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp )) * Temp );
Temp = Temp – 273.15; // Convert Kelvin to Celcius
// Temp = (Temp * 9.0)/ 4.7 + 32.0; // Convert Celcius to Fahrenheit
return Temp;
}
void getTemp() { //get temp, convert to C and send
double currValue = Thermistor(analogRead(A0)) ; //Convert to C !!! Pot: round((x*10)/10)
if (currValue tempMax) {
tempMax = currValue;
}
Blynk.virtualWrite(V0, currValue);
Blynk.virtualWrite(V1, currValue);
Blynk.virtualWrite(V3, tempMin);
Blynk.virtualWrite(V2, tempMax);
}
void setup()
{
// Set console baud rate
Serial.begin(19200);
EspSerial.begin(19200);
Blynk.begin(token, wifi, ssid, password);
//timer for temp measure
timer.setInterval(500L, getTemp);
}
void loop()
{
Blynk.run();
timer.run(); //Call timer (other than normal timers)
}
BLYNK_CONNECTED() {
Blynk.syncVirtual(V5); //sync email auto send state
}
void sendSummary() { //send email summary
String msg = “Tempertur Summary:\nCurrent Temperatur: ” + String(Thermistor(analogRead(A0))) + ” C\n\nMax. Temp: ” + String(tempMax) + “C \n\nMin. Temp: ” + String(tempMin) + “C \n”;
Blynk.email(email, subject, msg);
}
BLYNK_WRITE(V6) { //Timer Send
if (autoSend) {
sendSummary();
}
}
BLYNK_WRITE(V4) { //Button Send
sendSummary();
}
BLYNK_WRITE(V5) { //config email send
autoSend = param.asInt();
Super. Jetzt hat es geklappt.
Vielen Dank
Hallo zusammen,
irgendwie hänge ich noch am Tag 14 fest.
ich bekomme immer beim Hochladen die Fehlermeldung:
‚getTemp‘ was not declared in this scope
‚Thermistor‘ was not declared in this scope
Ich habe alles mehrere male überprüft, aber irgendwie
ändert sich da nichts.
Kann mir da jemand weiterhelfen??
Danke
Gruss Larry
Hi, hast du versucht das Programm nochmal komplett neu von der Webseite hier herunterzuladen?
ja hab ich schon mehrere male. Aber immer das Gleiche. Woran kann das denn liegen??
Die Blink Oberfläche ist leider zu groß gestaltet. Auf einem IPhone4 fehlen die unteren Widgets. Gibt es einen Weg, wie ich die ‘hochschieben’ kann?
ich bekomme beim Kompilieren immer diese Fehelermeldung.
was kann ich tun??
‘getTemp’ was not declared in this scope
Danke
Larry
Hallo,
die Temparatureinstellung mit dem Poti geht. Dafür kann ich mir keine E-Mail senden. Leider ist der Ping zum Blynk Server auch sehr schlecht (500 ms +- 100 ms). Hat jemand ein ähnliches Problem mit dem Mail Empfang? Die Tage zuvor ging es auch schon nicht.
Hi,
ich denke die Problematik liegt da eher beim Blynk Server, bei mir war das teilweise mit dem Zusenden der Tokens auch so, dass das schon mal eine halbe Stunde dauert. Die Blynk Community (deren Forum) ist voll von derlei Beschwerden.
Aber ich denke auch die haben nicht umsonst allerlei Beschränkungen, was die Anzahl der Schreibvorgänge pro Minute auf den Server etc. angeht. Da kommt die Infrastruktur scheinbar nicht schnell genug hinterher ;)
Wenn du einen Raspberry oder Ähnliches rumfliegen hast, würde ich empfehlen der Anleitung in den Blynk Docs zu folgen und deinen eigenen lokalen Blynk-Server aufzusetzen. Das ist nicht allzu kompliziert und hat bei mir alle Probleme behoben.
Gruß,
Marco
Bei mir war heute das Teil nicht im Kalender…es ist einfach ein leeres Fach! :o Was soll ich tun?
Bei Conrad anrufen und um Abhilfe bitten. Bei mir hat es super geklappt. Bedingt durch weihnachtszeit kommt es bei der Zustellung zu Verzögerungen.
Hast du mal ein bisschen unter die Pappe geschaut?
Bei mir war das ding unter der Pappe eingeklemmt.
Ja, da war nichts. :/ Ich werde wohl mal bei Conrad anrufen.
Das Board und die App liefen mehrere Stunden. Nun wird mit in der App angezeigt, mein Board sei Offline und im seriellen Monitor bekomme ich die Meldung “[4702] <msg 20,8,11 [4713] Cmd skipped" durchgehend. Was bedeutet das?
Laut seriellen Monitor ist das Board mit dem W-Lan verbunden.
Ich habe das gleiche Problem. Wie hast Du es gelöst?
Ich versuche es heute wieder mal aber die LED blinkt immer noch hektisch und wenn ich versuche ein Programm hoch zu laden kommt immer folgende Fehlermeldung,
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
und das ganze 10 mal.
Wo ist denn der fkainka… liest der hier nicht mit? Hat der keine Idee???
Hallo,
Am besten wäre im Forum einen Beitrag aufzumachen, sodass man der Diskussion besser folgen kann.
Mögliche Probleme/Lösungen:
– falsches Board/Port eingestellt
– ein Programm hochladen und den Reset-Button solange gedrückt halten, bis die Meldung Upload erscheint
– im worst case muss der bootloader neu eingespielt werden
Ich hatte mal das gleiche Problem da war dann ein Kurzschluss auf dem Steckbrett.
Ich würde mal im Arduino-Menü unter Werkzeuge / Programmer nachschauen. Dort muss AVRISP mkII angehakt sein. Die Fehlermeldungen lesen sich so, als wäre der Programmer auf das Atmel STK 500 board eingestellt.
Kann mir eventuell jemand einen Tipp geben? Sobald in einem Projekt Analoge werte ausgelesen werden etc. disconnectet sich mein Nano nach ein paar Sekunden verbindet sich wieder und das die ganze zeit. Sind es hingegen Digitale Werte funktioniert alles super.
Außerdem bekomme ich komischer weise nur eine E-Mail mit dem Betreff ohne sonstigen Inhalt beim heutigen Projekt?
siehe mein Kommentar unten…
Die Current Temperature stimmt bei mir definitv nicht überein, mit der Raumtemperatur, die mir mein normales Thermometer anzeigt. Der Unterschied beträgt ca. 3 Grad. Wenn ich den Poti hin- und her drehe, verändert sich die Temperatur, wie gewollt und zeigt mir Werte von -28,74 bis 16,x Grad (bei realen 19 Grad im Arbeitszimmer). Soll ich den 1KOhm rausnehmen oder einen anderen Poti benutzen?
hatte das selbe mit der Temperaturabweichung, hab die anderen 2 1kOhm Widerstände vor dem Poti in reihe geschaltet, dann wurde mir die richtige Temperatur angezeigt, scheint pro Widerstand 1°C
also zusätzlich davor in reihe so das 3 kOhm davor sind
Danke, das hat mein Problem ebenfalls behoben.
Nabend!
Bei mir mussten auch (mehr) Widerstände dazwischen (dann ging es)!!!
Liegt der Problem wohl bei den Widerständen oder beim Arduino?
Bisher hatte ich keine Probleme!
…liegt DAS Problem…Sorry!
Sollte erst der Fehler heißen…
Funktioniert bei mir soweit auch alles, nur der Wertebereich ist so groß, dass auf dem Graphen keine Veränderungen unter 20 Grad erkennbar sind. von 15 bis 350 Grad. Bei 20 Grad Raumtemperatur ist da nichts zu erkennen. kann man den Bereich verändern, wenn ja wie ?
Das problem ist behoben. Da ich mit dem poti die temperatur schon agepasst hatte, habe ich die Daten gelöscht und das programm neu gestartet. Alles ist ok.mails kommen auch korrekt.
Irgendwie begreife ich das diesmal nicht.
Ich kann zwar den Wert in “current temperature” mit dem Poti ändern, aber das hat keinen Einfluss auf den grafen,auch nicht wenn ich den NTC anwärme (finger). current temp ändert sich aber nicht der graf.Und was wird da eigentlich angezeigt wenn man mit dem Poti die temperatur “regeln” kann?
Mit dem Poti kannst du die Temperatur nicht regeln sondern nur die Messung auf die aktuelle Raumtemperatur kalibrieren. Danach stellt man da nix mehr rum, sondern zeichnet nur den aktuellen wert auf. Das Thema mit dem Grafen der nix anzeigt habe ich auch.
Unter den Graphen ist auch ein Zeitbereich angegeben. Am besten den 1h Stundenbereich anwählen, dann erscheinen alle Werte.
Ich habe da auch etwas rumbasteln müssen (siehe Erfahrungen in meinem Web-Blog – Link unten). Bei mir waren es einfach Kontaktprobleme…
Nachdem ich zweimal das Diagramm gelöscht habe, hat er es nicht mehr automatisch aktualisiert. Erst nach Stop/Start des Projekts waren die Daten sichtbar.
Der blynk.email msg String ist wahrscheinlich zu lang und funktioniert bei mir so nicht! Abhilfe: Kürzen.
` String msg = “Current Temperatur: ” + String(Thermistor(analogRead(A0))) + ” C Max. Temp: ” + String(tempMax) + ” C Min. Temp: ” + String(tempMin) + ” C “;`
dann steht alles in einer Zeile
Funktioniert bei mir problemlos und sieht auch in der Email nett aus weil ja Zeilenumbrüche drin sind.
Aber naja, haben ja schon häufiger festgestellt, das da scheinbar irgendwie unterschiedliche Bedingungen bei unterschiedlichen Leuten vorliegen…
Hallo, gerade nochmal getestet – mit dem original bekomme ich nur die Betreffzeile ” Temperatur Summary”.
Hast du die Bibliotheken im Anrduino-Programm geupdatet??
Genau das Problem habe ich auch! Schon eine Lösung gefunden?
ersetze Zeile 84 durch obige Zeile aus meinem Post, dann geht es
string msg …..